hero-faq-1

Come verificare l’integrità della coppia di chiavi private?

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:

  1. Verifica che la chiave privata non sia stata alterata.
  2. Verifica che il valore del modulo corrisponda alla chiave privata e alla coppia di certificati SSL.
  3. Esegui con successo la crittografia con la chiave pubblica del certificato e la decrittografia con la chiave privata.
  4. 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:

errore della chiave privata

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à:

chiave rsa ok

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:

test dei messaggi

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:

verificato ok
Se la tua chiave privata viene manomessa, riceverai il seguente messaggio:

fallimento della verifica
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

Un'immagine dettagliata di un drago in volo