Openssl: Unterschied zwischen den Versionen

Aus xinux.net
Zur Navigation springen Zur Suche springen
 
(92 dazwischenliegende Versionen von 6 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
'''Auflistung einiger Beispiele für openssl: (Mehr Informationen auf www.openssl.org)
+
*[[TLS vs. SSL]]
 
+
*[[tls funktion]]
 
+
*[[TLS Prinzip Simple]]
== Prinzip ==
+
*[[TLS Prinzip]]
 
+
*[[TLS Protokoll]]
=== Signieren ===
+
*[[openssl howto]]
 
+
*[[ca install]]
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 ...
+
*[[xinuxpki]]
+
*[[X509 ruck zuck]]
man baut dies dann in seinen Websever ein ... fertig
+
*[[X509 Begriffe]]
 
+
*[[Letsencrypt]]
[[Datei:signierung.jpg]]
+
*[[SSL Inspection]]
 
+
*[[Site inspection]]
=== Authentifzieren ===
+
*[[XCA]]
 
 
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 ...
 
 
 
[[Datei:auth.jpg]]
 
 
 
== Erstellen eines Privat Keys ==
 
 
 
openssl genrsa -passout pass:$<variable> -aes256 -out <client.key> 1024
 
 
 
-aes256 : Verschlüsselung des Private Keys mit aes256 (optional)
 
-passout pass:$<variable> : Passwort für Private Key steht in $<variable> (optional)
 
-out ... : Outputdatei
 
1024 : Schlüssellänge in bit
 
 
 
 
 
== Erstellen einer CSR (Certificate Signing Request): ==
 
 
 
openssl req -passin env:$<variable> -new -key <Private Key> -out <client csr> -config <config-file>
 
 
 
-passin env:$<variable> : Passwort für Privat Key (optional)
 
-new : Neue CSR
 
-key ... : Privat Key
 
-config : Konfigurationsdatei für openssl (optional)
 
 
 
 
 
== CSR mit eigenem Key signieren (CA-Zertifikat erstellen): ==
 
 
 
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) ==
 
 
 
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
 
 
 
* http://www.absolute-cool.de/dokus/ssl/openssl/
 
* http://www.tecchannel.de/netzwerk/wan/401848/workshop_vpn_mit_linux/index16.html
 
* http://www.tecchannel.de/netzwerk/wan/401848/workshop_vpn_mit_linux/
 
* http://www.dfn-cert.de/informationen/themen/verschluesselung_und_pki/openssl-kurzreferenz.html
 

Aktuelle Version vom 5. Oktober 2022, 20:12 Uhr