21 OpenSSL-példa, amelyek segítenek a valós világban

SSL-tanúsítványok létrehozása, kezelése és konvertálása az OpenSSL-lel

Az SSL egyik legnépszerűbb parancsa az SSL-tanúsítványok létrehozására, konvertálására és kezelésére az OpenSSL.

Sok olyan helyzet lesz, amikor különféle módokon kell kezelnie az OpenSSL-t, és itt felsoroltam ezeket, mint praktikus csalólapot.

Ebben a cikkben a gyakran használt OpenSSL parancsokról fogok beszélni, amelyek segítenek a való világban.

A tanúsítványokhoz kapcsolódó rövidítések egy része.

  • SSL – Secure Socket Layer
  • CSR – Tanúsítvány aláírási kérelem
  • TLS – Transport Layer Security
  • PEM – fokozott adatvédelemmel ellátott levelezés
  • DER – Megkülönböztetett kódolási szabályok
  • SHA – Secure Hash Algorithm
  • PKCS – Nyilvános kulcsú kriptográfiai szabványok

Jegyzet: SSL/TLS üzemeltetési tanfolyam hasznos lenne, ha nem ismeri a feltételeket.

Hozzon létre egy új privát kulcsot és tanúsítvány-aláírási kérelmet

openssl req -out etoppc.com.csr -newkey rsa:2048 -nodes -keyout etoppc.com.key

A fenti parancs CSR-t és egy 2048 bites RSA-kulcsfájlt generál. Ha ezt a tanúsítványt Apache-ban vagy Nginx-ben kívánja használni, akkor el kell küldenie ezt a CSR-fájlt a tanúsítványkiadó hatóságnak, és ők adnak egy aláírt tanúsítványt többnyire der vagy pem formátumban, amelyet be kell állítania Apache vagy Nginx webszerveren. .

  IIoT vs IoT: Különbségek és hasonlóságok [2022]

Hozzon létre egy önaláírt tanúsítványt

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

A fenti parancs egy önaláírt tanúsítványt és kulcsfájlt hoz létre 2048 bites RSA-val. Beépítettem az sha256-ot is, mivel jelenleg ez a legbiztonságosabb.

Tipp: alapértelmezés szerint csak egy hónapig érvényes önaláírt tanúsítványt generál, így érdemes lehet –days paramétert megadni az érvényesség meghosszabbításához.

Pl.: két évig érvényes önaláírással.

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

Ellenőrizze a CSR-fájlt

openssl req -noout -text -in etoppc.com.csr

Az ellenőrzés elengedhetetlen annak biztosításához, hogy a CSR-t elküldje a kibocsátó hatóságnak a szükséges adatokkal.

Hozzon létre RSA privát kulcsot

openssl genrsa -out private.key 2048

Ha csak RSA privát kulcsot kell létrehoznia, használhatja a fenti parancsot. Beépítettem a 2048-at az erősebb titkosítás érdekében.

Távolítsa el a jelszót a kulcsból

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

Ha jelszót használ a kulcsfájlban és Apache-t, akkor minden indításakor meg kell adnia a jelszót. Ha bosszantja a jelszó megadása, akkor a fenti openssl rsa -in etoppc.com.key -check segítségével eltávolíthatja a jelszókulcsot egy meglévő kulcsból.

Privát kulcs ellenőrzése

openssl rsa -in certkey.key –check

Ha kétségei vannak a kulcsfájlban, a fenti paranccsal ellenőrizheti.

Igazolási fájl ellenőrzése

openssl x509 -in certfile.pem -text –noout

Ha ellenőrizni szeretné a tanúsítványadatokat, mint például a CN, OU stb., akkor használhat egy fenti parancsot, amely megadja a tanúsítvány részleteit.

  Hogyan lehet elérni a Mega fájlokat Linuxon

Ellenőrizze a tanúsítvány aláíró hatóságát

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

A tanúsítványt kibocsátó hatóság minden tanúsítványt aláír, és arra az esetre, ha ellenőriznie kell őket.

Ellenőrizze a tanúsítvány hash értékét

openssl x509 -noout -hash -in bestflare.pem

A DER konvertálása PEM formátumba

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

Általában a tanúsító hatóság .der formátumban adja meg az SSL-tanúsítványokat, és ha apache vagy .pem formátumban kell használni, akkor a fenti parancs segít.

PEM konvertálása DER formátumba

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

Ha módosítania kell a .pem formátumot .der-re

Konvertálja a tanúsítványt és a privát kulcsot PKCS#12 formátumba

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

Ha egy tanúsítványt kell használnia a java alkalmazással vagy bármely más olyannal, amely csak PKCS#12 formátumot fogad el, használhatja a fenti parancsot, amely egyetlen tanúsítványt és kulcsfájlt tartalmazó pfx-et generál.

Tipp: lánctanúsítványt is megadhat a –chain átadásával az alábbiak szerint.

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

CSR létrehozása meglévő privát kulcs használatával

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

Ha nem szeretne új privát kulcsot létrehozni ahelyett, hogy egy meglévőt használna, használhatja a fenti parancsot.

Ellenőrizze a PKCS12 formátumú tanúsítvány tartalmát

openssl pkcs12 –info –nodes –in cert.p12

A PKCS12 egy bináris formátum, így nem tudja majd megtekinteni a tartalmat a jegyzettömbön vagy más szerkesztőben. A fenti parancs segít a PKCS12 fájl tartalmának megtekintésében.

  Az Adobe Creative Cloud túl gyorsan lemeríti az akkumulátort? Íme, mit kell tenni

Konvertálja a PKCS12 formátumot PEM tanúsítványra

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

Ha meglévő pkcs12 formátumot szeretne használni az Apache-val vagy csak PEM formátumban, ez hasznos lesz.

Egy adott URL SSL-tanúsítványának tesztelése

openssl s_client -connect yoururl.com:443 –showcerts

Gyakran használom ezt egy adott URL SSL-tanúsítványának ellenőrzésére a szerverről. Ez nagyon hasznos a protokoll, a titkosítás és a tanúsítvány részleteinek érvényesítéséhez.

Ismerje meg az OpenSSL verzióját

openssl version

Ha Ön felelős az OpenSSL biztonságának biztosításáért, akkor valószínűleg az egyik első dolga, amit meg kell tennie, a verzió ellenőrzése.

Ellenőrizze a PEM-fájl tanúsítványának lejárati dátumát

openssl x509 -noout -in certificate.pem -dates

Hasznos, ha bizonyos megfigyelést tervez az érvényesség ellenőrzésére. Megjeleníti a dátumot notBefore és notAfter szintaxisban. A notAfter az egyik, amelyet ellenőriznie kell annak megerősítéséhez, hogy a tanúsítvány lejárt vagy még mindig érvényes.

Volt:

[[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]#

Ellenőrizze az SSL URL tanúsítvány lejárati dátumát

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

Egy másik hasznos, ha az SSL-tanúsítványok lejárati dátumát vagy egy adott URL-címet távolról szeretné figyelni.

Volt:

[[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

Ellenőrizze, hogy az SSL V2 vagy V3 elfogadott-e az URL-en

Az SSL V2 ellenőrzéséhez

openssl s_client -connect secureurl.com:443 -ssl2

Az SSL V3 ellenőrzéséhez

openssl s_client -connect secureurl.com:443 –ssl3

A TLS 1.0 ellenőrzéséhez

openssl s_client -connect secureurl.com:443 –tls1

A TLS 1.1 ellenőrzéséhez

openssl s_client -connect secureurl.com:443 –tls1_1

A TLS 1.2 ellenőrzéséhez

openssl s_client -connect secureurl.com:443 –tls1_2

Ha egy webszervert biztosít, és ellenőriznie kell, hogy az SSL V2/V3 engedélyezve van-e vagy sem, használhatja a fenti parancsot. Ha aktiválva van, akkor a „CONNECTED” üzenet jelenik meg, máskülönben a „kézfogási hiba”.

Ellenőrizze, hogy az adott titkosítás elfogadott-e az URL-en

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

Ha a biztonsági megállapításokon dolgozik, és a tollteszt eredményei azt mutatják, hogy néhány gyenge titkosítás elfogadott, akkor az érvényesítéshez használhatja a fenti parancsot.

Természetesen meg kell változtatnia a titkosítást és az URL-t, amelyekkel szemben tesztelni szeretne. Ha az említett titkosítás elfogadásra kerül, akkor a „CONNECTED” üzenetet kapja, különben „kézfogási hiba”.

Remélem, hogy a fenti parancsok segítenek többet megtudni az OpenSSL-ről a webhelye SSL-tanúsítványainak kezeléséhez.