OpenSSL verifica se un certificato SSL è firmato SHA-1 o SHA256

3

Come faccio a verificare se un certificato OpenSSL emesso su un sito è SHA-1 o SHA-256?

Ho un bel po 'di siti intranet che usano i certificati OpenSSL e sono un po' confuso come quando controllo le proprietà del certificato, ottengo:

  • Internet Explorer:

    Algoritmo della firma: sha1RSA
    Algoritmo hash di firma: sha1

  • Firefox:

    Algoritmo di firma: PKCS # 1 SHA-1 con crittografia RSA
    Sotto Fingerprints, vedo sia SHA256 che SHA-1

Il tentativo della riga di comando di OpenSSL non funziona

Ho provato a usare il comando OpenSSL, ma per qualche motivo mi sbaglia e se provo a scrivere su un file, viene creato il file di output, ma è vuoto.

openssl.exe s_client -connect mysite:443 > CertInfo.txt && openssl x509 -text -in CertInfo.txt |
find "Signature Algorithm"

Fondamentalmente, devo convalidare che i certificati sono in realtà SHA-1 e ho bisogno di aggiornarlo a uno SHA256 o SHA-2.

    
posta Ochen 24.11.2015 - 13:53
fonte

1 risposta

5

Ecco il comando per Linux e Windows.

E non allarmarti per la linea di output raddoppiata ( Signature Algorithm: ...). Questo è previsto (e obbligatorio).

Linux: sito dimostrativo SHA1

$ echo '' | openssl s_client -connect sha1.badssl.com:443 -servername sha1.badssl.com 2>/dev/null | openssl x509 -noout -text | grep 'Signature Algorithm'
    Signature Algorithm: sha1WithRSAEncryption
    Signature Algorithm: sha1WithRSAEncryption

Linux: sito dimostrativo SHA256

$ echo '' | openssl s_client -connect sha256.badssl.com:443 -servername sha256.badssl.com 2>/dev/null | openssl x509 -noout -text | grep 'Signature Algorithm'
    Signature Algorithm: sha256WithRSAEncryption
    Signature Algorithm: sha256WithRSAEncryption

Windows cmd.exe: sito dimostrativo SHA1

c:\>echo " " | openssl.exe s_client -connect sha1.badssl.com:443 -servername sha1.badssl.com 2>nul | openssl.exe x509 -noout -text | findstr /C:"Signature Algorithm"
    Signature Algorithm: sha1WithRSAEncryption
    Signature Algorithm: sha1WithRSAEncryption

Windows cmd.exe: sito dimostrativo SHA256

c:\>echo " " | openssl.exe s_client -connect sha256.badssl.com:443 -servername sha256.badssl.com 2>nul | openssl.exe x509 -noout -text | findstr /C:"Signature Algorithm"
    Signature Algorithm: sha256WithRSAEncryption
    Signature Algorithm: sha256WithRSAEncryption

Fingerprint non è all'interno del certificato

È un valore calcolato .

    
risposta data 24.11.2015 - 14:06
fonte

Leggi altre domande sui tag