21 OpenSSL-Beispiele, die Ihnen in der Praxis helfen sollen

Erstellen, verwalten & Konvertieren Sie SSL-Zertifikate mit OpenSSL


Einer der beliebtesten Befehle in SSL an erstellen, Konvertieren, verwalten Das SSL-Zertifikat ist OpenSSL.

Es wird viele Situationen geben, in denen Sie auf verschiedene Weise mit OpenSSL umgehen müssen, und hier habe ich sie für Sie als praktischen Spickzettel aufgelistet.

In diesem Artikel werde ich über häufig verwendete OpenSSL-Befehle sprechen, um Ihnen in der realen Welt zu helfen.

Einige der Abkürzungen beziehen sich auf Zertifikate.

  • SSL – Secure Socket Layer
  • CSR – Zertifikatssignierungsanforderung
  • TLS – Transport Layer Security
  • PEM – Privacy Enhanced Mail
  • DER – Distinguished Encoding Rules
  • SHA – Sicherer Hash-Algorithmus
  • PKCS – Public-Key Cryptography Standards

Hinweis: SSL / TLS-Betriebskurs wäre hilfreich, wenn Sie mit den Begriffen nicht vertraut sind.

Erstellen Sie eine neue Anforderung zum Signieren von privaten Schlüsseln und Zertifikaten

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

Der obige Befehl generiert eine CSR- und 2048-Bit-RSA-Schlüsseldatei. Wenn Sie dieses Zertifikat in Apache oder Nginx verwenden möchten, müssen Sie diese CSR-Datei an die Zertifizierungsstelle des Zertifikats senden. Dort erhalten Sie ein signiertes Zertifikat, das hauptsächlich im der- oder pem-Format vorliegt und auf dem Apache- oder Nginx-Webserver konfiguriert werden muss.

Erstellen Sie ein selbstsigniertes Zertifikat

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

Der obige Befehl generiert ein selbstsigniertes Zertifikat und eine Schlüsseldatei mit 2048-Bit-RSA. Ich habe auch sha256 aufgenommen, da es derzeit als am sichersten gilt.

Trinkgeld: Standardmäßig wird ein selbstsigniertes Zertifikat generiert, das nur einen Monat gültig ist. Daher können Sie den Parameter –days definieren, um die Gültigkeit zu verlängern.

Ex: Selbstunterzeichnung gültig für zwei Jahre.

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

Überprüfen Sie die CSR-Datei

openssl req -noout -text -in geekflare.csr

Die Überprüfung ist wichtig, um sicherzustellen, dass Sie CSR mit den erforderlichen Details an die Emittentenbehörde senden.

Erstellen Sie einen privaten RSA-Schlüssel

openssl genrsa -out private.key 2048

Wenn Sie nur einen privaten RSA-Schlüssel generieren müssen, können Sie den obigen Befehl verwenden. Ich habe 2048 für eine stärkere Verschlüsselung aufgenommen.

Passphrase vom Schlüssel entfernen

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

Wenn Sie eine Passphrase in einer Schlüsseldatei verwenden und Apache verwenden, müssen Sie bei jedem Start das Kennwort eingeben. Wenn Sie sich über die Eingabe eines Passworts ärgern, können Sie mit dem obigen Befehl openssl rsa -in geekflare.key -check den Passphrasenschlüssel aus einem vorhandenen Schlüssel entfernen.

Überprüfen Sie den privaten Schlüssel

openssl rsa -in certkey.key –check

Wenn Sie Zweifel an Ihrer Schlüsseldatei haben, können Sie den obigen Befehl verwenden, um dies zu überprüfen.

Überprüfen Sie die Zertifikatdatei

openssl x509 -in certfile.pem -text –noout

Wenn Sie Zertifikatdaten wie CN, OU usw. validieren möchten, können Sie einen obigen Befehl verwenden, der Ihnen Zertifikatdetails liefert.

Überprüfen Sie die Certificate Signer Authority

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

Die Zertifizierungsstelle des Zertifikats signiert jedes Zertifikat und falls Sie es überprüfen müssen.

Überprüfen Sie den Hash-Wert eines Zertifikats

openssl x509 -noout -hash -in bestflare.pem

Konvertieren Sie DER in das PEM-Format

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

Normalerweise erhalten Sie von der Zertifizierungsstelle ein SSL-Zertifikat im .der-Format. Wenn Sie diese im Apache- oder .pem-Format verwenden müssen, hilft Ihnen der obige Befehl.

Konvertieren Sie PEM in das DER-Format

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

Falls Sie das .pem-Format in .der ändern müssen

Konvertieren Sie Zertifikat und privaten Schlüssel in das PKCS # 12-Format

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

Wenn Sie ein Zertifikat mit der Java-Anwendung oder mit anderen verwenden müssen, die nur das PKCS # 12-Format akzeptieren, können Sie den obigen Befehl verwenden, der ein einzelnes pfx-haltiges Zertifikat generiert & Schlüsseldatei.

Trinkgeld: Sie können das Kettenzertifikat auch einschließen, indem Sie –chain wie unten übergeben übergeben.

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

Erstellen Sie CSR mit einem vorhandenen privaten Schlüssel

openssl req –out zertifikat.csr –schlüssel existent.schlüssel –neu

Wenn Sie keinen neuen privaten Schlüssel erstellen möchten, anstatt einen vorhandenen zu verwenden, können Sie den obigen Befehl ausführen.

Überprüfen Sie den Inhalt des PKCS12-Formatzertifikats

openssl pkcs12 –info –nodes –in cert.p12

PKCS12 ist im Binärformat, sodass Sie den Inhalt nicht im Editor oder einem anderen Editor anzeigen können. Mit dem obigen Befehl können Sie den Inhalt der PKCS12-Datei anzeigen.

Konvertieren Sie das PKCS12-Format in ein PEM-Zertifikat

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

Wenn Sie das vorhandene pkcs12-Format mit Apache oder nur im pem-Format verwenden möchten, ist dies hilfreich.

Testen Sie das SSL-Zertifikat einer bestimmten URL

openssl s_client -connect yoururl.com:443 –showcerts

Ich benutze dies ziemlich oft, um das SSL-Zertifikat einer bestimmten URL vom Server zu validieren. Dies ist sehr praktisch, um die Protokoll-, Verschlüsselungs- und Zertifikatdetails zu überprüfen.

Finden Sie die OpenSSL-Version heraus

openssl version

Wenn Sie dafür verantwortlich sind, dass OpenSSL sicher ist, müssen Sie wahrscheinlich zuerst die Version überprüfen.

Überprüfen Sie das Ablaufdatum des PEM-Dateizertifikats

openssl x509 -noout -in certificate.pem -dates

Nützlich, wenn Sie eine Überwachung planen, um die Gültigkeit zu überprüfen. Das Datum wird in der Syntax notBefore und notAfter angezeigt. notAfter ist eine, die Sie überprüfen müssen, um zu bestätigen, ob ein Zertifikat abgelaufen oder noch gültig ist.

Ex:

[[E-Mail geschützt] opt] # openssl x509 -noout -in bestflare.pem -dates
nicht bevor= 4. Juli 14:02:45 2015 GMT
nicht danach= 4. August 09:46:42 2015 GMT
[[E-Mail geschützt] opt] #

Überprüfen Sie das Ablaufdatum des Zertifikats der SSL-URL

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

Ein weiterer nützlicher Punkt, wenn Sie das Ablaufdatum des SSL-Zertifikats oder eine bestimmte URL remote überwachen möchten.

Ex:

[[E-Mail geschützt] opt] # openssl s_client -connect google.com:443 2>/ dev / null | openssl x509 -noout -enddate

nicht danach= 8. Dezember 00:00:00 2015 GMT

Überprüfen Sie, ob SSL V2 oder V3 als URL akzeptiert wird

So überprüfen Sie SSL V2

openssl s_client -connect secureurl.com:443 -ssl2

So überprüfen Sie SSL V3

openssl s_client -connect secureurl.com:443 –ssl3

So überprüfen Sie TLS 1.0

openssl s_client -connect secureurl.com:443 –tls1

So überprüfen Sie TLS 1.1

openssl s_client -connect secureurl.com:443 –tls1_1

So überprüfen Sie TLS 1.2

openssl s_client -connect secureurl.com:443 –tls1_2

Wenn Sie den Webserver sichern und überprüfen müssen, ob SSL V2 / V3 aktiviert ist oder nicht, können Sie den obigen Befehl verwenden. Wenn aktiviert, erhalten Sie “IN VERBINDUNG GEBRACHT“Sonst”Handshake-Fehler.”

Überprüfen Sie, ob die jeweilige Verschlüsselung in der URL akzeptiert wird

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

Wenn Sie an Sicherheitsergebnissen arbeiten und die Ergebnisse von Stifttests zeigen, dass einige der schwachen Chiffren akzeptiert werden, können Sie zur Validierung den obigen Befehl verwenden.

Natürlich müssen Sie die Chiffre und die URL ändern, gegen die Sie testen möchten. Wenn die erwähnte Chiffre akzeptiert wird, erhalten Sie “IN VERBINDUNG GEBRACHT“Sonst”Handshake-Fehler.”

Ich hoffe, die obigen Befehle helfen Ihnen dabei, mehr über OpenSSL zu erfahren SSL-Zertifikate für Ihre Website.

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    Like this post? Please share to your friends:
    Adblock
    detector
    map