Perché Chrome e OpenSSL non sono d'accordo sull'algoritmo della firma?

5
$ openssl version
OpenSSL 1.0.2h  3 May 2016

$ openssl s_client -connect winkel.vpro.nl:443 < /dev/null 2>/dev/null | openssl x509 -text -in /dev/stdin | grep -i sha
    Signature Algorithm: sha1WithRSAEncryption
    Signature Algorithm: sha1WithRSAEncryption

Ma Chrome dice SHA-256:

(versione di Chrome 51.0.2704.84 (64-bit))

    
posta Willem 15.06.2016 - 21:36
fonte

1 risposta

8

Why do Chrome and openssl disagree over signature algorithm?

Perché ottengono certificati diversi. Il motivo è che Chrome utilizza Server Name Indication (SNI) mentre openssl s_client non lo fa, almeno non di default .

Se guardi da vicino, non solo l'algoritmo della firma è diverso ma anche l'oggetto del certificato:

$ openssl s_client -connect winkel.vpro.nl:443 | openssl x509 -text
...
Subject: ... CN=_default_.omroep.nl/[email protected]
...
Signature Algorithm: sha1WithRSAEncryption

Se invece usi SNI usando l'argomento -servername ottieni lo stesso certificato che hai ottenuto con Chrome:

$ openssl s_client -connect winkel.vpro.nl:443 -servername winkel.vpro.nl | \
     openssl x509 -text
...
Subject: C=NL, ST=Noord-Holland, L=Hilversum, O=VPRO, OU=ICT, CN=*.vpro.nl
...
Signature Algorithm: sha256WithRSAEncryption
    
risposta data 15.06.2016 - 21:51
fonte

Leggi altre domande sui tag