OpenSSL: Unterschied zwischen den Versionen

Aus SchnallIchNet
Wechseln zu: Navigation, Suche
(Version 390 von Cbs (Benutzer_Diskussion:Cbs]]) wurde entfernt.)
Zeile 1: Zeile 1:
==Request mit CA signieren==
 
openssl ca -out certs/openVPN_Bertram.Beyer.crt -in openVPN_Bertram.Beyer.csr
 
 
 
==Optionale Parameter fuer die folgenden commandos==
 
==Optionale Parameter fuer die folgenden commandos==
 +
 
  -config /path/to/own/my_openssl.cnf
 
  -config /path/to/own/my_openssl.cnf
 
separate config-datei verwenden.
 
separate config-datei verwenden.
Zeile 10: Zeile 8:
 
Die ist wichtig bei key's fuer serverdienste. oder das passwort<br/>
 
Die ist wichtig bei key's fuer serverdienste. oder das passwort<br/>
 
muss beim neustart des dienstes eingegeben werden.
 
muss beim neustart des dienstes eingegeben werden.
 +
  
 
==Request (CSR) erstellen==
 
==Request (CSR) erstellen==
 +
 
  openssl req -newkey rsa:2048 -out request.pem -keyout pub-sec-key.pem
 
  openssl req -newkey rsa:2048 -out request.pem -keyout pub-sec-key.pem
 
Generiert einen neuen 2048 Bit langen RSA-Schlüssel und legt ihn in der Datei pub-sec-key.pem ab. Passend dazu wird ein Request in der Datei request.pem erstellt.
 
Generiert einen neuen 2048 Bit langen RSA-Schlüssel und legt ihn in der Datei pub-sec-key.pem ab. Passend dazu wird ein Request in der Datei request.pem erstellt.
Zeile 29: Zeile 29:
 
  openssl x509 -x509toreq -in self-signed-certificate.pem -signkey pub-sec-key.pem -out request.pem
 
  openssl x509 -x509toreq -in self-signed-certificate.pem -signkey pub-sec-key.pem -out request.pem
 
Erstellt neuen Request aus altem Selbstzertifikat.
 
Erstellt neuen Request aus altem Selbstzertifikat.
 +
 +
 +
==Request (CSR) mit CA signieren==
 +
 +
openssl ca -out certs/openVPN_Vorname.Nachname.crt -in openVPN_Vorname.Nachname.csr
 +
  
 
==Certificate (CRT) erstellen==
 
==Certificate (CRT) erstellen==
 +
 
  openssl req -x509 -days 365 -newkey rsa:2048 \
 
  openssl req -x509 -days 365 -newkey rsa:2048 \
 
  -out self-signed-certificate.pem -keyout pub-sec-key.pem
 
  -out self-signed-certificate.pem -keyout pub-sec-key.pem
Zeile 37: Zeile 44:
 
  openssl req -x509 -days 365 -new -out self-signed-certificate.pem -key pub-sec-key.pem
 
  openssl req -x509 -days 365 -new -out self-signed-certificate.pem -key pub-sec-key.pem
 
Wie zuvor, erstellt jedoch ein selbst signiertes Zertifikat aus einem vorhandenen Schlüssel pub-sec-key.pem.
 
Wie zuvor, erstellt jedoch ein selbst signiertes Zertifikat aus einem vorhandenen Schlüssel pub-sec-key.pem.
 +
  
 
==Certifikate konvertieren, ausgeben, pruefen==
 
==Certifikate konvertieren, ausgeben, pruefen==
 +
 
  openssl x509 -text -noout -md5 -in self-signed-certificate.pem
 
  openssl x509 -text -noout -md5 -in self-signed-certificate.pem
 
Gibt das Zertifikat self-signed-certificate.pem als Klartext aus.
 
Gibt das Zertifikat self-signed-certificate.pem als Klartext aus.
Zeile 71: Zeile 80:
  
 
Ist das Server-Zertifikat im IIS eingestellt, so schickt der IIS bei jeder SSL-Verbindung fast die gesamte Zertifikatkette (Server-Zertifikat und alle Zwischenzertifizierungsstellen-Zertifikate) an den Browser (Klienten). Ausgenommen hiervon ist das Zertifikat der Stammzertifizierungsstelle in dieser Kette.
 
Ist das Server-Zertifikat im IIS eingestellt, so schickt der IIS bei jeder SSL-Verbindung fast die gesamte Zertifikatkette (Server-Zertifikat und alle Zwischenzertifizierungsstellen-Zertifikate) an den Browser (Klienten). Ausgenommen hiervon ist das Zertifikat der Stammzertifizierungsstelle in dieser Kette.
 
  
  
 
==CRLs==
 
==CRLs==
 +
 
Die CRL ist eine Widerrufliste in der die ungültigen Zertifikate eingetragen
 
Die CRL ist eine Widerrufliste in der die ungültigen Zertifikate eingetragen
 
sind und Zugänge aufgehoben werden können (z.B. beim Ausscheiden eines
 
sind und Zugänge aufgehoben werden können (z.B. beim Ausscheiden eines
Zeile 82: Zeile 91:
 
deaktivieren eines Zertifikats oder, je nach Dringlichkeit, täglich oder
 
deaktivieren eines Zertifikats oder, je nach Dringlichkeit, täglich oder
 
wöchentlich per Cronjob erstellt werden.
 
wöchentlich per Cronjob erstellt werden.
 +
  
 
===das Zertifikat von 'meier' entfernen===
 
===das Zertifikat von 'meier' entfernen===
 +
 
  openssl ca -revoke meiercert.pem
 
  openssl ca -revoke meiercert.pem
 +
 
oder  
 
oder  
 +
 
  openssl ca -revoke ./newcerts/03.pem'
 
  openssl ca -revoke ./newcerts/03.pem'
 +
  
 
===Nummern der gesperrten Zertifikate anzeigen===
 
===Nummern der gesperrten Zertifikate anzeigen===
 +
 
  openssl crl -in crls/crl.pem -noout -text
 
  openssl crl -in crls/crl.pem -noout -text
 +
  
 
===gültige CRL erstellen===
 
===gültige CRL erstellen===
 +
 
  openssl ca -gencrl -out crls/crl.pem
 
  openssl ca -gencrl -out crls/crl.pem
 
dies muss nach '''JEDEM''' widerruf von certifikaten gemacht werden!!!!
 
dies muss nach '''JEDEM''' widerruf von certifikaten gemacht werden!!!!
 +
  
 
===CRL in das binäre DER-Format umwandeln===
 
===CRL in das binäre DER-Format umwandeln===
 +
 
  openssl crl -in crls/crl.pem -outform der -out crls/cert.crl
 
  openssl crl -in crls/crl.pem -outform der -out crls/cert.crl

Version vom 4. Juli 2011, 09:18 Uhr

Optionale Parameter fuer die folgenden commandos

-config /path/to/own/my_openssl.cnf

separate config-datei verwenden.

-nodes

verhindert das verschluesseln des key mit einem Passwort.
Die ist wichtig bei key's fuer serverdienste. oder das passwort
muss beim neustart des dienstes eingegeben werden.


Request (CSR) erstellen

openssl req -newkey rsa:2048 -out request.pem -keyout pub-sec-key.pem

Generiert einen neuen 2048 Bit langen RSA-Schlüssel und legt ihn in der Datei pub-sec-key.pem ab. Passend dazu wird ein Request in der Datei request.pem erstellt.

openssl req -new -out request.pem -keyin pub-sec-key.pem

Wie zuvor, nur wird der Request zum bereits vorhandenen Schlüssel pub-sec-key.pem generiert.

openssl req -text -noout -in request.pem

Zeigt den Request request.pem an.

openssl req -verify -noout -in request.pem

Verifiziert die Selbstsignatur des Requests request.pem.

openssl req -noout -modulus -in request.pem | openssl sha1 -c

Generiert einen SHA1-Fingerabdruck vom Modulus des Schlüssels aus dem Request request.pem.

openssl x509 -x509toreq -in self-signed-certificate.pem -signkey pub-sec-key.pem -out request.pem

Erstellt neuen Request aus altem Selbstzertifikat.


Request (CSR) mit CA signieren

openssl ca -out certs/openVPN_Vorname.Nachname.crt -in openVPN_Vorname.Nachname.csr


Certificate (CRT) erstellen

openssl req -x509 -days 365 -newkey rsa:2048 \
-out self-signed-certificate.pem -keyout pub-sec-key.pem

Generiert einen 2048 Bit langen RSA-Schlüssel und legt ihn in der Datei pub-sec-key.pem ab. Es wird ein selbst signiertes Zertifikat erstellt und in der Datei self-signed-certificate.pem gespeichert. Das Zertifikat ist 365 Tag gültig und für simple Testzwecke gedacht.

openssl req -x509 -days 365 -new -out self-signed-certificate.pem -key pub-sec-key.pem

Wie zuvor, erstellt jedoch ein selbst signiertes Zertifikat aus einem vorhandenen Schlüssel pub-sec-key.pem.


Certifikate konvertieren, ausgeben, pruefen

openssl x509 -text -noout -md5 -in self-signed-certificate.pem

Gibt das Zertifikat self-signed-certificate.pem als Klartext aus.

openssl x509 -fingerprint -noout -md5 -in self-signed-certificate.pem

Gibt den Fingerabdruck des X.509 Zertifikats self-signed-certificate.pem aus. Der Algorithmus ist hier MD5, SHA1 kann verwendet werden, wenn -md5 durch -sha1 ersetzt wird.

openssl verify -issuer_checks -CAfile self-signed-certificate.pem self-signed-certificate.pem

Überprüft ein selbst signiertes Zertifikat.

openssl s_client -showcerts -CAfile self-signed-certificate.pem -connect www.dfn-pca.de:443

Baut eine OpenSSL-Verbindung unter Verwendung des Zertifikats self-signed-certificate.pem zum angegebenen Server auf. Es wird dabei die gesamte Zertifikatskette angezeigt.

openssl crl -noout -text -CAfile self-signed-certificate.pem crl.pem

Gibt die Zertifikats-Widerrufsliste crl.pem in Klartext aus.

openssl pkcs12 -export -inkey pub-sec-key.pem -certfile certificate-chain.pem \
-out pub-sec-key-certificate-and-chain.p12 -in signed-certificate.pem

openssl pkcs12 -in cert.p12 -clcerts -nokeys -out /etc/ipsec.d/cert.pem
openssl pkcs12 -in cert.p12 -cacerts -nokeys -out /etc/ipsec.d/cacerts/root.pem
openssl pkcs12 -in cert.p12 -nocerts -out /etc/ipsec.d/private/key.pem

Erzeugt die PKCS#12-Datei pub-sec-key-certificate-and-chain.p12 (14.) für den oder umgekehrt (15.) Import nach MS Windows 2000 oder MS Windows XP zur späteren Nutzung durch den MS Internet Information Server (IIS). Die Datei enthält den privaten und öffentlichen Schlüssel (pub-sec-key.pem) mit dem Zertifikat einer Zertifizierungsinstanz (signed-certificate.pem) und einer optionalen Zertifikatkette bzw. dem Zertifizierungspfad (certificate-chain.pem).

In Windows wird das ,,Zertifikate-Snap-In für die Microsoft Management Console (MMC) benötigt. Hier muss die PKCS#12-Datei pub-sec-key-certificate-and-chain.p12 in die Zertifikat-Datenbank Eigene Zertifikate des Zertifikate (Lokaler Computer) importiert werden.

Die evtl. ebenfalls importierten Zertifikate aus der Kette (Wurzel-CA, Stammzertifizierungsstelle bzw. Zwischenzertifizierungsstellen (Intermediate-CAs)) sollten danach aus dem Speicher für Eigene Zertifikate in den Bereich Vertrauenswürdige Stammzertifizierungsstellen bzw. Zwischenzertifizierungsstellen verschoben werden.

Ist das Server-Zertifikat im IIS eingestellt, so schickt der IIS bei jeder SSL-Verbindung fast die gesamte Zertifikatkette (Server-Zertifikat und alle Zwischenzertifizierungsstellen-Zertifikate) an den Browser (Klienten). Ausgenommen hiervon ist das Zertifikat der Stammzertifizierungsstelle in dieser Kette.


CRLs

Die CRL ist eine Widerrufliste in der die ungültigen Zertifikate eingetragen sind und Zugänge aufgehoben werden können (z.B. beim Ausscheiden eines Mitarbeiters). Dazu wird periodisch eine gültige CRL erstellt. Einzelne Zertifikate können dann manuell entfernt werden. Die Sperrung erfolgt dann beim nächsten Anlegen der Liste. Daher sollte die Liste entweder sofort nach deaktivieren eines Zertifikats oder, je nach Dringlichkeit, täglich oder wöchentlich per Cronjob erstellt werden.


das Zertifikat von 'meier' entfernen

openssl ca -revoke meiercert.pem

oder

openssl ca -revoke ./newcerts/03.pem'


Nummern der gesperrten Zertifikate anzeigen

openssl crl -in crls/crl.pem -noout -text


gültige CRL erstellen

openssl ca -gencrl -out crls/crl.pem

dies muss nach JEDEM widerruf von certifikaten gemacht werden!!!!


CRL in das binäre DER-Format umwandeln

openssl crl -in crls/crl.pem -outform der -out crls/cert.crl