problem s fetch a SSL/TLS certifikaty
Dan Lukes
dan at obluda.cz
Fri Oct 1 00:18:19 CEST 2021
On 30.9.2021 23:32, Miroslav Lachman wrote:
> Na jednom starem serveru "na doziti" s FreeBSD 11.2 dnes zacal "fetch"
> vyhazovat chybu:
>
> Certificate verification failed for /O=Digital Signature Trust
> Co./CN=DST Root CA X3
> 34374359624:error:14090086:SSL
> routines:ssl3_get_server_certificate:certificate verify
> failed:/usr/src/crypto/openssl/ssl/s3_clnt.c:1269:
>
> Je to intermediate certifikat od Let's Encrypt: Not After : Sep 30
> 14:01:15 2021 GMT
>
> vidim, ze se pouzije /usr/local/etc/ssl/cert.pem
>
> V nem je skutecne ten stary certifikat, ktery dnes expiroval:
Trochu jsem se v tom ztratil. Ten cert.pem je na SSL serveru nebo na
klientovi ? Fetch je urcite klient a spravne rve, ze certifikat v chainu
je expirovany (sel by ale spoustet s parametrem, ze to nema kontrolovat).
> Zvlastni je, ze kdyz stejny fetch na stejnou URL pustim na stroji s
> FreeBSD 12.2, tak tam projde v poradku, pritom je tam stejna verze
> ca_root_nss.
Klicovy soubor ca_root_nss je /usr/local/share/certs/ca-root-nss.crt
Ten se pri upgrade aktualizuje.
Ano, ca_root_nss take instaluje /usr/local/etc/ssl/cert.pem.sample
Ten se ale do /usr/local/etc/ssl/cert.pem prekopirovava jen pokud ento
neexistuje. Pri upgrade tedy ne.
> Takze odkud fetch teda bere info o tom, jaky intermediate a root
> certifikat je validni pro tu URL
Predpokladam, ze fetch nedela nic, ze pouziva sluzbu standardni knihovny
- openssl. A ta pouziva standardni postup - klient dostane ze serveru
behem SSL handshakingu certifikat a dalsi certifikaty. Dalsi certifikaty
muze mit v konfiguraci a dalsi certifikaty si muze stahnout po siti, z
URL, ktere nalezne v nekterem z certifikatu, ktere uz ma. Dale dostane
(obvykle take z konfigurace) certifikaty, ktere utvori "trusted store".
No a pro kazde spojeni se pokusi slozit retez vedouci od certifikatu
serveru pres ony "dalsi" certifikaty k jakemukoliv certifikatu v trusted
store.
Pokud takovy retez nalezne pak spojeni je duveryhodne, jinak nikoliv.
Rozdilne verze FreeBSD znamenaji rozdilne verze systemoveho openssl a to
muze znamenat odchylky v popsanem algoritmu. Namatkou me napada
(neoveroval jsem ale zda se chovani openssl v danem aspektu skutecne
mezi verzemi zmenilo):
1. v trusted store mohou/nemusi byt jen korenove certifikaty
2. pri sestavovani chainu se validuje jen prvni sestaveny/hleda se
jakykoliv ktery projde validaci
3. pokud se tentyz certifikat da ziskat z vice zdroju (posila ho server,
je v lokalni konfiguraci, stahuje se z AIA URL), je otazka, ktery s
epouzije - podstatne, pokdu je tam vice instanci se stejnym subjektem a
vystavitelem ale ruznym datem platnosti.
> Uz me moc nenapada, co jeste zkusit, aby fetch na FreeBSD 11.2 s
> ca_root_nss-3.63 byl schopny stahnout soubor z webserveru s aktualnim
> Let's Encrypt certifikatem.
Rekl bych, ze potrebujes upravit /usr/local/etc/ssl/cert.pem
Coz nemusi nutne znamenat, ze tam das aktualni certifikat. Pokud
mezilehle certifikaty posila server, je lepsi je na klientovi ze souboru
nevkladat.
Dan
More information about the Users-l
mailing list