Puoi verificare l’integrità di un certificato SSL e di una coppia di chiavi private con l’utility utilità OpenSSL e le sue linee di comando.
Il processo consiste in quattro fasi:
- Verifica che la chiave privata non sia stata alterata.
- Verifica che il valore del modulo corrisponda alla chiave privata e alla coppia di certificati SSL.
- Esegui con successo la crittografia con la chiave pubblica del certificato e la decrittografia con la chiave privata.
- Conferma l’integrità del file, che è stato firmato con la chiave privata
Verifica l’integrità della chiave privata
Esegui il seguente comando: openssl rsa -in [key-file.key] -check -noout
Ecco un esempio di chiave privata corrotta:
![]()
Di seguito sono elencati altri errori derivanti da una chiave alterata o contraffatta:
- Errore chiave RSA: p non è primo
- Errore chiave RSA: n non è uguale a p q
- Errore chiave RSA: d e non congruente a 1
- Errore chiave RSA: dmp1 non congruente a d
- Errore chiave RSA: iqmp non è l’inverso di q
Se hai riscontrato uno dei suddetti errori, la tua chiave privata è stata manomessa e potrebbe non funzionare con la tua chiave pubblica. Valuta la possibilità di creare una nuova chiave privata e di richiedere un certificato sostitutivo.
Ecco un esempio di chiave privata che rispetta l’integrità:
Verifica che il valore del modulo corrisponda alla chiave privata e alla coppia di certificati SSL.
Nota: Il modulo della chiave privata e del certificato devono corrispondere esattamente.
Per visualizzare il modulo del certificato, esegui il comando:
openssl x509 -noout -modulo -in [certificate-file.cer]
Per visualizzare la chiave privata Modulus esegui il comando:
openssl rsa -noout -modulo -in [file-chiave.key]
Crittografa con la chiave pubblica e decrittografa con la chiave privata
1. Ottieni la chiave pubblica dal certificato:
openssl x509 -in [certificate-file.cer] -noout -pubkey > certificatefile.pub.cer
2. Crittografa il contenuto del file test.txt usando la chiave pubblica
Crea un nuovo file chiamato test.txt (puoi usare il Blocco Note) con il contenuto “messaggio di prova”. Esegui il seguente comando per creare un messaggio criptato nel file cipher.txt.
openssl rsautl -encrypt -in test.txt -pubin -inkey certificatefile.pub.cer -out cipher.txt
3. Decifrare cipher.txt utilizzando la chiave privata
Esegui il seguente comando per decifrare il contenuto di cipher.txt.
openssl rsautl -decrypt -in cipher.txt -inkey [key-file.key]
Assicurati di poter decifrare il contenuto del file cipher.txt nel tuo terminale. L’output del terminale deve corrispondere al contenuto del file test.txt.
Se il contenuto non corrisponde, la chiave privata è stata manomessa e potrebbe non funzionare con la tua chiave pubblica. Valuta la possibilità di creare una nuova chiave privata e di richiedere un certificato sostitutivo. Ecco un esempio di messaggio decifrato:
4. Conferma l’integrità del file firmato con la chiave privata
Esegui il seguente comando per firmare i file test.sig e test.txt con la tua chiave privata:
openssl dgst -sha256 -sign [key-file.key] -out test.sig test.txt
A questo punto, verifica i file firmati con la tua chiave pubblica estratta al punto 1.
openssl dgst -sha256 -verify certificatefile.pub.cer -signature test.sig test.txt
Assicurati che l’output del terminale sia esattamente come nell’esempio seguente:
Se la tua chiave privata viene manomessa, riceverai il seguente messaggio:
In questo caso, dovrai creare una nuova chiave privata e richiedere un certificato sostitutivo.
Fonte: Base di conoscenza di Digicert
Risparmia il 10% sui certificati SSL ordinando oggi stesso da SSL Dragon!
Emissione rapida, crittografia avanzata, affidabilità del browser al 99,99%, assistenza dedicata e garanzia di rimborso entro 25 giorni. Codice coupon: SAVE10

