Openssl: Unterschied zwischen den Versionen

Aus xinux.net
Zur Navigation springen Zur Suche springen
Zeile 42: Zeile 42:
 
  -key ... : Privat Key
 
  -key ... : Privat Key
  
== CSR mit eigenem Key signieren (CA-Zertifikat erstellen): ==
+
== Key signieren ==
 
 
openssl x509 -passin env:$<variable> -days <3650> -extfile <filename> -signkey <Private Key>
 
 
 
-days : Gültigkeitsdauer
 
-extfile : Datei mit Zertifikat-extensions (optional)
 
-signkey : Privater Key mit dem Signiert wird
 
 
 
  
 
== Erstellen eines Zertifikates (Unterscheidet sich nur im signieren) ==
 
== Erstellen eines Zertifikates (Unterscheidet sich nur im signieren) ==

Version vom 26. November 2013, 14:59 Uhr

Auflistung einiger Beispiele für openssl: (Mehr Informationen auf www.openssl.org)


Prinzip

Signieren

Wenn man einen Webserver hat und will diesen nun verschlüsselt betreiben generiert man ein Schlüsselpaar einen privkey-s und einen pubkey-s. Den Pubkey-s schickt man nun an einen Zertifizerungsstelle,  diese bildet nun einen Hashwert hash-s (der einfachste Hash ist eine Quersumme wie in der Schule). dieser hash wird nun mit dem privkey-ca verschlüsselt, das Teil nennt man nun signature-s diese wird an den pubkey-s angehängt, man nennt dies nun certifkat-s und es wird zum Server zurück geschickt ...

man baut dies dann in seinen Websever ein ... fertig

Signierung.jpg

Authentifzieren

Wenn nun ein client auf den Webserver zugreift macht er eine Anfrage ... der Server schickt nun das certifikat-s zum Client ... der teilt nun dieses wieder auf in pubkey-s und signature-s und bildet einen hash aus dem pubkey-s genau wie vorher in der Zertifzierungstelle. nennen wir diesen mal X ... so und nun kommst: die signature-s haben wir bekommen als in der zertifizierungstelle den hash-s mit dem privkey-ca verschlüsselt haben ... wenn wir nun die signature-s wieder mit dem pubkey-ca verschlüsseln haben wir wieder den orginal hash-s denn wir nun Y nennen ...

wenn X = Y ist die authentifzierung erfolgreich ...

Auth.jpg

CA erstellen

openssl genrsa -aes256 -out openvpn-ca.key 1024
-aes256 : Verschlüsselung des Private Keys mit aes256 (optional)
-out ... : Outputdatei
1024 : Schlüssellänge in bit

CA selbst signieren

openssl req -new -key openvpn-ca.key -x509 -days 3650 -out openvpn-ca.crt

Erstellen eines Privat Keys

openssl genrsa -aes256 -out client.key 1024
-aes256 : Verschlüsselung des Private Keys mit aes256 (optional)
-out ... : Outputdatei
1024 : Schlüssellänge in bit

Erstellen einer CSR (Certificate Signing Request):

openssl req -new -key client.key -out client.csr
-new : Neue CSR
-key ... : Privat Key

Key signieren

Erstellen eines Zertifikates (Unterscheidet sich nur im signieren)

openssl x509 -days <3650> -CAserial <serial-file> -CA <ca-zertifikat> -CAkey <Private Key der CA> -in <client.CSR> -req -out <client.crt>
-CAserial ... : Serial-File der CA
-CA ... : Zertifikat der CA
-CAkey ... : Privat Key der CA
-in ... : Inputdatei
-req : Gibt an, dass der Input eine DSR ist 


Überprüfung der Gültigkeit eines Zertifikates:

openssl verify -CAfile <ca-zertifikat> <ausgestelletes Zertifikat>


Auslesen des Subjects und Serial-Nr.:

openssl x509 -noout -subject -serial -in <zertifikat>
-noout : Ausgabe auf den Schirm nicht in Datei
-subject : Ausgabe des Subject
-serial : Ausgabe der Serien-Nr.

Zurückrufen (revoke) eines Zertifikates:

openssl ca -config <Konfigurationsdatei> -revoke <Zertifikat>

Request signieren:

openssl ca -notext -in request.req -out signiert.pem

Erstellen einer CRL (Certificate Revoke Liste):

openssl ca -config <Konfigurationsdatei> -gencrl -out <CRL-file>


Umwandeln der CRL ins DER-Format (Notwendig zum Importieren):

openssl crl -inform PEM -outform DER -in <CRL-File> -out <CRL-File im DER-Format>


Aufbau einer SSL Verbindung mit einem Server:

openssl s_client -connect <server>:<Port>


Starten eines SSL-Servers

openssl s_server -CAfile <Zertifikat> -key <Privat key der CA> -cert <Zertifikat des Servers> -accept <Port> -WWW
-WWW : Emuliert einen einfachen Web-server auf angeegenen Port

P12 = PFX

Umwandlung von pem in PKCS12 Format

Mit CA certifikat

openssl pkcs12 -export -in cert.pem -inkey key.pem -certfile ca.crt -out cred.p12

Ohne CA certifikat

openssl pkcs12 -export -in cert.pem -inkey key.pem -out cred.p12

Links