¿Por qué Chrome y openssl no están de acuerdo con el algoritmo de firma?
Porque obtienen diferentes certificados. La razón de esto es que Chrome utiliza Indicación de nombre de servidor (SNI) mientras que openssl s_client
no lo hace, al menos no de forma predeterminada .
Si observa de cerca, no solo el algoritmo de firma es diferente, sino también el sujeto del certificado:
$ openssl s_client -connect winkel.vpro.nl:443 | openssl x509 -text
...
Subject: ... CN=_default_.omroep.nl/[email protected]
...
Signature Algorithm: sha1WithRSAEncryption
Si, en cambio, usa SNI utilizando el argumento -servername
, obtendrá el mismo certificado que obtuvo 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