Am un server StrongSwan charon pe Ubuntu 18.04. Mă conectez la acest server cu un client StrongSwan charon-cmd de la o altă mașină Ubuntu Linux.
Comanda pe care o folosesc de la mașina client pentru a mă conecta la server este:
charon-cmd --cert ./GoDaddyCA1.crt --cert GoDaddyCA2.crt --host xxx.example.com --identity myusername
Funcționează grozav, dar nu înțeleg de ce am nevoie de două opțiuni „--cert” în linia de comandă pentru a avea încredere în ambele certificate GoDaddy CA din lanț.
Certificatul meu personal este furnizat de serverul StrongSwan, iar autoritatea acestuia este GoDaddyCA1.crt. Certificatul GoDaddyCA1.crt are o autoritate a certificatului GoDaddyCA2.crt. GoDaddyCA2.crt este un certificat rădăcină autosemnat.
Deci, lanțul de autoritate este:
MyPersonalCert.crt -> GoDaddyCA1.crt -> GoDaddyCA2.crt
Semnificația opțiunii de linie de comandă charon-cmd „--cert” este de a declara că „acesta este un certificat în care am încredere”. Deci, m-aș aștepta ca, dacă am încredere în GoDaddyCA1.crt, atunci și certificatul meu personal să fie de încredere.
Dar asta nu este suficient de bun pentru charon-cmd. Clientul charon-cmd cere să specific „--cert” pentru a avea încredere până la un certificat autosemnat. Dar asta pare de prisos. Dacă am încredere în certificatul CA intermediar, atunci evident că trebuie să am încredere și în certificatul CA de autoritate, nu?
Este aceasta o eroare sau o caracteristică? Dacă este o caracteristică, ce beneficii oferă?