Post by Matthias AndreeKinners, könnt Ihr mal den alten Kram lassen und s_client *richtig*
benutzen? Mit -tls1_3 oder -tls1_2 oder so?
Der Server schnackt TLS 1.2 und 1.3, da gehört weder SSL 3.0 noch 3.1
alias TLS 1.0 noch TLS 1.1 hin. Beim s_client gehört auch mit -CAfile
oder -CApath der Trust-Anchor gezielt geworfen.
Kann man machen, aber i. allg. kommt der Anker doch aus den system-
weiten Einstellungen. Oder täusche ich mich da?
Post by Matthias AndreeWie jetzt - das CA-Zeritifikat ist "broken" (weil SHA1) *UND*
abgelaufen und gnutls-cli macht weiter? Was ist das denn für Grütze?
Was hab ich verpasst?
Nicht, dass das in openSSL 3.0 anders aussähe...
Post by Marco Moock3 s:O = Digital Signature Trust Co., CN = DST Root CA X3
i:O = Digital Signature Trust Co., CN = DST Root CA X3
a:PKEY: rsaEncryption, 2048 (bit); sigalg: RSA-SHA1
v:NotBefore: Sep 30 21:12:19 2000 GMT; NotAfter: Sep 30 14:01:15 2021 GMT
Hier mit LibreSSL/3.5.2:
| t20$ openssl s_client -connect news.eternal-september.org:563 -ign_eof -crlf -tls1_3 -showcerts
| CONNECTED(00000003)
| depth=2 C = US, O = Internet Security Research Group, CN = ISRG Root X1
| verify return:1
| depth=1 C = US, O = Let's Encrypt, CN = R3
| verify return:1
| depth=0 CN = news.eternal-september.org
| verify return:1
| ---
| Certificate chain
| 0 s:/CN=news.eternal-september.org
| i:/C=US/O=Let's Encrypt/CN=R3
[...]
Das im September 2021 abgelaufene "DST Root CA X3" wird für die
Verifizierung nicht beachtet, da das "ISRG Root X1" als Anker
dient: "CA:TRUE". (Das "ISRG Root X1" gibt es als "self-signed"
und als "cross-signed".)
<https://letsencrypt.org/certificates/>
Warum das "DST" von "Let's Encrypt" (?) immer noch mit ausgeliefert
wird, ist mir nicht ganz klar. Vielleicht irgendwelche Kompatibili-
tätsgründe?
| t20$ printf '%s\n' 'QUIT' | openssl s_client -connect news.eternal-september.org:563 -ign_eof -crlf -tls1_3 -showcerts
Da kopiere ich mir die Zertifikate "0" und "1" heraus, und dann:
| t20$ openssl verify -verbose -x509_strict -untrusted 1.pem 0.pem
| 0.pem: OK
| t20$
Das sieht doch in Ordnung aus. (Der Anker - "ISRG Root X1" -
kommt dabei aus meinen systemweiten (OpenBSD) Zertifikaten
unter "/etc/ssl/cert.pem".)
Explizite Angabe von -CAfile (das Zert. habe ich von der Website
von "Let's Encrypt" geholt):
| t20$ openssl verify -verbose -CAfile isrgrootx1.pem -x509_strict -untrusted 1.pem 0.pem
| 0.pem: OK
| t20$
Gegenprobe mit "DST":
| t20$ openssl verify -verbose -CAfile dst.pem -x509_strict -untrusted 1-und-isrg-cross.pem 0.pem
| O = Digital Signature Trust Co., CN = DST Root CA X3
| error 10 at 3 depth lookup:certificate has expired
| 0.pem: verification failed: 10 (certificate has expired)
| t20$
Marcel pn65 (842949)
--
│ ╭─╮ ╭───╮ ╭───────╮ ╭──╮ ╭─╮ ╭────╮
╰───╯ │ ╭─╮ ╰─╮ ╰───╯ ╰─╮ ╭─╯ ╰─╮ │ ╰─╮ │ ╭─╯
╰─╯ ╰────╯ ╭────╯ │ ╭───╯ │ │ │ ╰───╮ ╭─╮
╰────────╯ ╰─────╯ ╰──╯2776aa╰─────────╯ ╰─