21 Exemple OpenSSL pentru a vă ajuta în lumea reală

Creați, gestionați și convertiți certificate SSL cu OpenSSL

Una dintre cele mai populare comenzi din SSL pentru a crea, converti, gestiona certificatele SSL este OpenSSL.

Vor fi multe situații în care va trebui să faceți față cu OpenSSL în diferite moduri, iar aici le-am enumerat pentru dvs. ca o foaie de cheat utilă.

În acest articol, voi vorbi despre comenzile OpenSSL utilizate frecvent pentru a vă ajuta în lumea reală.

Unele dintre abrevieri legate de certificate.

  • SSL – Secure Socket Layer
  • CSR – Cerere de semnare a certificatului
  • TLS – Transport Layer Security
  • PEM – Poștă îmbunătățită pentru confidențialitate
  • DER – Reguli de codificare distincte
  • SHA – Secure Hash Algorithm
  • PKCS – Standarde de criptare cu cheie publică

Notă: Curs de operare SSL/TLS ar fi de ajutor dacă nu sunteți familiarizat cu termenii.

Creați o nouă cheie privată și cerere de semnare a certificatului

openssl req -out tipstrick.ro.csr -newkey rsa:2048 -nodes -keyout tipstrick.ro.key

Comanda de mai sus va genera CSR și un fișier cheie RSA de 2048 de biți. Dacă intenționați să utilizați acest certificat în Apache sau Nginx, atunci trebuie să trimiteți acest fișier CSR către autoritatea emitentă a certificatului, iar ea vă va oferi un certificat semnat, mai ales în format der sau pem, pe care trebuie să îl configurați pe serverul web Apache sau Nginx. .

  Cele mai bune 10 cursuri Microsoft PowerApps pentru începători

Creați un certificat autosemnat

openssl req -x509 -sha256 -nodes -newkey rsa:2048 -keyout gfselfsigned.key -out gfcert.pem

Comanda de mai sus va genera un certificat autosemnat și un fișier cheie cu RSA pe 2048 de biți. Am inclus și sha256, deoarece este considerat cel mai sigur în acest moment.

Sfat: în mod implicit, va genera un certificat autosemnat valabil doar o lună, așa că vă recomandăm să definiți parametrul –days pentru a prelungi valabilitatea.

Ex: să aibă autosemnat valabil doi ani.

openssl req -x509 -sha256 -nodes -days 730 -newkey rsa:2048 -keyout gfselfsigned.key -out gfcert.pem

Verificați fișierul CSR

openssl req -noout -text -in tipstrick.ro.csr

Verificarea este esențială pentru a vă asigura că trimiteți CSR autorității emitente cu detaliile necesare.

Creați cheia privată RSA

openssl genrsa -out private.key 2048

Dacă trebuie doar să generați cheia privată RSA, puteți utiliza comanda de mai sus. Am inclus 2048 pentru o criptare mai puternică.

Eliminați fraza de acces din cheie

openssl rsa -in certkey.key -out nopassphrase.key

Dacă utilizați o frază de acces în fișierul cheie și utilizați Apache, atunci de fiecare dată când porniți, trebuie să introduceți parola. Dacă sunteți enervat să introduceți o parolă, atunci puteți utiliza openssl rsa -in tipstrick.ro.key -check de mai sus pentru a elimina cheia frazei de acces dintr-o cheie existentă.

Verificați cheia privată

openssl rsa -in certkey.key –check

Dacă vă îndoiți de fișierul cheie, puteți utiliza comanda de mai sus pentru a verifica.

Verificați fișierul certificatului

openssl x509 -in certfile.pem -text –noout

Dacă doriți să validați datele certificatului, cum ar fi CN, OU, etc., atunci puteți utiliza o comandă de mai sus care vă va oferi detalii despre certificat.

  11 platforme digitale de investiții imobiliare pentru investitori inteligenți

Verificați autoritatea semnatarului de certificat

openssl x509 -in certfile.pem -noout -issuer -issuer_hash

Autoritatea emitentă a certificatului semnează fiecare certificat și în cazul în care trebuie să le verificați.

Verificați valoarea hash a unui certificat

openssl x509 -noout -hash -in bestflare.pem

Convertiți DER în format PEM

openssl x509 –inform der –in sslcert.der –out sslcert.pem

De obicei, autoritatea de certificare vă va oferi certificat SSL în format .der, iar dacă trebuie să le utilizați în format apache sau .pem, comanda de mai sus vă va ajuta.

Convertiți PEM în format DER

openssl x509 –outform der –in sslcert.pem –out sslcert.der

În cazul în care trebuie să schimbați formatul .pem în .der

Convertiți certificatul și cheia privată în formatul PKCS#12

openssl pkcs12 –export –out sslcert.pfx –inkey key.pem –in sslcert.pem

Dacă trebuie să utilizați un certificat cu aplicația java sau cu oricare altul care acceptă doar formatul PKCS#12, puteți utiliza comanda de mai sus, care va genera un singur pfx care conține certificat și fișier cheie.

Sfat: puteți include și certificatul de lanț prin trecerea –chain ca mai jos.

openssl pkcs12 –export –out sslcert.pfx –inkey key.pem –in sslcert.pem -chain cacert.pem

Creați CSR folosind o cheie privată existentă

openssl req –out certificate.csr –key existing.key –new

Dacă nu doriți să creați o cheie privată nouă în loc să utilizați una existentă, puteți merge cu comanda de mai sus.

Verificați conținutul certificatului de format PKCS12

openssl pkcs12 –info –nodes –in cert.p12

PKCS12 este un format binar, astfel încât nu veți putea vizualiza conținutul în notepad sau alt editor. Comanda de mai sus vă va ajuta să vedeți conținutul fișierului PKCS12.

  Cum să dezactivați notificările Microsoft Teams

Convertiți formatul PKCS12 în certificat PEM

openssl pkcs12 –in cert.p12 –out cert.pem

Dacă doriți să utilizați formatul pkcs12 existent cu Apache sau doar în format pem, acest lucru va fi util.

Testați certificatul SSL pentru o anumită adresă URL

openssl s_client -connect yoururl.com:443 –showcerts

Folosesc acest lucru destul de des pentru a valida certificatul SSL al unei anumite adrese URL de pe server. Acest lucru este foarte util pentru a valida detaliile protocolului, cifrului și certificatului.

Aflați versiunea OpenSSL

openssl version

Dacă sunteți responsabil să vă asigurați că OpenSSL este securizat, atunci probabil că unul dintre primele lucruri pe care trebuie să le faceți este să verificați versiunea.

Verificați data de expirare a certificatului de fișier PEM

openssl x509 -noout -in certificate.pem -dates

Util dacă intenționați să faceți o monitorizare pentru a verifica validitatea. Vă va afișa o dată în sintaxa notBefore și notAfter. notAfter este unul, va trebui să verificați pentru a confirma dacă un certificat este expirat sau este încă valabil.

Ex:

[[email protected] opt]# openssl x509 -noout -in bestflare.pem -dates
notBefore=Jul 4 14:02:45 2015 GMT
notAfter=Aug 4 09:46:42 2015 GMT
[[email protected] opt]#

Verificați data de expirare a certificatului a URL-ului SSL

openssl s_client -connect secureurl.com:443 2>/dev/null | openssl x509 -noout –enddate

Un alt util dacă intenționați să monitorizați de la distanță data de expirare a certificatului SSL sau o anumită adresă URL.

Ex:

[[email protected] opt]# openssl s_client -connect google.com:443 2>/dev/null | openssl x509 -noout -enddate

notAfter=Dec 8 00:00:00 2015 GMT

Verificați dacă SSL V2 sau V3 este acceptat pe URL

Pentru a verifica SSL V2

openssl s_client -connect secureurl.com:443 -ssl2

Pentru a verifica SSL V3

openssl s_client -connect secureurl.com:443 –ssl3

Pentru a verifica TLS 1.0

openssl s_client -connect secureurl.com:443 –tls1

Pentru a verifica TLS 1.1

openssl s_client -connect secureurl.com:443 –tls1_1

Pentru a verifica TLS 1.2

openssl s_client -connect secureurl.com:443 –tls1_2

Dacă securizați un server web și trebuie să validați dacă SSL V2/V3 este activat sau nu, puteți utiliza comanda de mai sus. Dacă este activat, veți fi „CONECTAT”, altfel „eșec de strângere de mână”.

Verificați dacă cifrul specific este acceptat pe URL

openssl s_client -cipher 'ECDHE-ECDSA-AES256-SHA' -connect secureurl:443

Dacă lucrați la constatări de securitate și rezultatele testelor stiloului arată că unele dintre cifrurile slabe sunt acceptate, atunci pentru a valida, puteți utiliza comanda de mai sus.

Desigur, va trebui să schimbați cifrul și adresa URL, cu care doriți să testați. Dacă cifrul menționat este acceptat, atunci veți fi „CONECTAT”, altfel „eșec de strângere de mână”.

Sper că comenzile de mai sus vă ajută să aflați mai multe despre OpenSSL pentru a gestiona certificatele SSL pentru site-ul dvs.