Cum se verifică integritatea perechii de chei private?

Puteți verifica integritatea unui certificat SSL și a unei perechi de chei private cu ajutorul aplicației
OpenSSL
și liniile de comandă ale acestuia.

Procesul constă în patru etape:

  1. Verificați dacă cheia privată nu a fost modificată.
  2. Verificați dacă valoarea modulului se potrivește cu cheia privată și cu perechea de certificate SSL
  3. Efectuați cu succes criptarea cu cheia publică din certificat și decriptarea cu cheia privată
  4. Confirmă integritatea fișierului, care este semnat cu cheia privată

Verificarea integrității cheii private

Executați următoarea comandă: openssl rsa -in [key-file .key] -check -noout

Iată un exemplu de cheie privată coruptă:

eroare de cheie privată

Alte erori care rezultă dintr-o cheie modificată/contrafăcută sunt enumerate mai jos:

  • Eroare cheie RSA: p nu este prim
  • Eroare de cheie RSA: n nu este egal cu p q
  • Eroare cheie RSA: d e nu este congruent cu 1
  • Eroare cheie RSA: dmp1 nu este congruent cu d
  • Eroare cheie RSA: iqmp nu este inversul lui q

Dacă ați întâlnit una dintre erorile de mai sus, cheia privată a fost modificată și este posibil să nu funcționeze cu cheia publică. Luați în considerare crearea unei noi chei private și solicitarea unui certificat de înlocuire.

Iată un exemplu de cheie privată care respectă integritatea:

cheie rsa ok

Verificați dacă valoarea modulului se potrivește cu cheia privată și cu perechea de certificate SSL


Notă:

Modulul cheii private și al certificatului trebuie să corespundă exact.

Pentru a vizualiza modulul certificatului, executați comanda:

openssl x509 -noout -modulus -in [certificate-file .cer]

Pentru a vizualiza modulul cheii private Modulus, executați comanda:

openssl rsa -noout -modulus -in [key-file .key]

Criptarea cu cheia publică de la și decriptarea cu cheia privată

1. Obțineți cheia publică din certificat:

openssl x509 -in [certificate-file .cer] -noout -pubkey > certificatefile.pub.cer

2. Criptați conținutul fișierului test.txt utilizând cheia publică

Creați un nou fișier numit test.txt (puteți folosi Notepad) cu conținutul “test de mesaj”. Executați următoarea comandă pentru a crea un mesaj criptat în fișierul cipher.txt.

openssl rsautl -encrypt -in test.txt -pubin -inkey certificatefile.pub.cer -out cipher.txt

3.Decriptarea dincipher.txt utilizând cheia privată
Executați următoarea comandă pentru a decripta conținutul cipher.txt.

openssl rsautl -decrypt -in cipher.txt -inkey [key-file .key]

Asigurați-vă că puteți decripta conținutul fișierului cipher.txt în terminalul dvs. Ieșirea din terminal trebuie să corespundă conținutului din fișierul test.txt.

În cazul în care conținutul nu se potrivește, cheia privată a fost falsificată și este posibil să nu funcționeze cu cheia dumneavoastră publică. Luați în considerare crearea unei noi chei private și solicitarea unui certificat de înlocuire. Iată un exemplu de mesaj decriptat:

testul mesajului

4. Confirmați integritatea fișierului semnat cu cheia privată

Rulați următoarea comandă pentru a semna fișierul test.sig și test.txt cu cheia dvs. privată:

openssl dgst -sha256 -sign [key-file .key] -out test.sig test.txt

Acum, verificați fișierele semnate cu cheia dvs. publică extrasă la pasul 1.

openssl dgst -sha256 -verify certificatefile.pub.cer -signature test.sig test.txt

Asigurați-vă că ieșirea din terminal este exact ca în exemplul de mai jos:

verificat ok
În cazul în care cheia dvs. privată este falsificată, veți primi următorul mesaj:

eșecul verificării
În acest caz, trebuie să creați o nouă cheie privată și să solicitați un certificat de înlocuire.

Sursa: Baza de cunoștințe Digicert’s Knowledge Base

Economisește 10% la certificatele SSL în momentul plasării comenzii!

Eliberare rapidă, criptare puternică, încredere în browser de 99,99%, suport dedicat și garanție de returnare a banilor în 25 de zile. Codul cuponului: SAVE10