|
|
(2 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt) |
Zeile 1: |
Zeile 1: |
| [http://openssl.org/docs/apps/openssl.html OpenSSL] lässt sich für verschiedene Krypto-Operationen nutzen, so z.B. Erstellen und verwalten von verschiedenen Schlüsseltypen, Erstellen von Zertifikaten, verschlüsseln/entschlüsseln...<br> | | [http://openssl.org/docs/apps/openssl.html OpenSSL] lässt sich für verschiedene Krypto-Operationen nutzen, so z.B. Erstellen und verwalten von verschiedenen Schlüsseltypen, Erstellen von Zertifikaten, verschlüsseln/entschlüsseln...<br> |
| | | |
− | <h2>Schlüsselerzeugung für OpenVPN</h2>
| + | =Schlüsselerzeugung für OpenVPN= |
| Als Beispiel wird ein Satz Schlüssel zum Aufsetzen einer OpenVPN-Verbindung erzeugt: | | Als Beispiel wird ein Satz Schlüssel zum Aufsetzen einer OpenVPN-Verbindung erzeugt: |
| <ol> | | <ol> |
Zeile 15: |
Zeile 15: |
| 4096bit langer, privater RSA-Schlüssel (PKCS#1 im PEM-Format) [oder Schlüsselpaar???] erstellen, welcher mit AES (256bit) geschützt ist:<br> | | 4096bit langer, privater RSA-Schlüssel (PKCS#1 im PEM-Format) [oder Schlüsselpaar???] erstellen, welcher mit AES (256bit) geschützt ist:<br> |
| <code>$ openssl genrsa -aes256 -out Schluessel/vpn-cakey.pem 4096</code><br> | | <code>$ openssl genrsa -aes256 -out Schluessel/vpn-cakey.pem 4096</code><br> |
− | 10a gültiges (<code>-days 3650</code>), selbstsigniertes X509-Zertifkat (nur für Test oder root CA)(<code>-x509</code>) aus privatem Schlüssel erstellen (<code>-key Schluessel/vpn-cakey.pem</code>) und nach vpn-ca.pem schreiben (<code>-out Zertifikate/vpn-ca.pem</code>). Zertifikates Seriennummer auf 1 setzen (<code>set_serial 1</code>) (default 0):<br> | + | Man sollte meinen, dass man in die Zertifikate unter Name usw. nichts eintragen muss, denn schliesslich möchte man sie vorwiegend nur zur Verschlüsselung einsetzen. Leider streikt OpenVPN, wenn man die Felder leer lässt. Also sollte man zumindest Quatsch, wenn nicht gar echte Daten eintragen. Besonders der <i>common name</i> (CN) ist tatsächlich wichtig.<br> |
| + | 10a gültiges (<code>-days 3650</code>), selbstsigniertes X509-Zertifkat (nur für Test oder root CA)(<code>-x509</code>) aus privatem Schlüssel erstellen (<code>-key Schluessel/vpn-cakey.pem</code>) und nach vpn-ca.pem schreiben (<code>-out Zertifikate/vpn-ca.pem</code>). Zertifikates Seriennummer auf 1 setzen (<code>set_serial 1</code>) (default 0):<br> |
| <code>$ openssl req -new -x509 -days 3650 -key Schluessel/vpn-cakey.pem -out Zertifikate/vpn-ca.pem -set_serial 1</code> | | <code>$ openssl req -new -x509 -days 3650 -key Schluessel/vpn-cakey.pem -out Zertifikate/vpn-ca.pem -set_serial 1</code> |
| <p> | | <p> |
Zeile 50: |
Zeile 51: |
| </ol> | | </ol> |
| | | |
− | <h2>Anzeigen von Zertifikaten</h2>
| + | =Anzeigen von Zertifikaten= |
| | | |
− | <h3>Selbsterstelltes Zertifikat anzeigen</h3>
| + | ==Selbsterstelltes Zertifikat anzeigen== |
| Ein mit obiger Anleitung erzeugtes Zertifikat kann man sich wie folgt anzeigen lassen:<br> | | Ein mit obiger Anleitung erzeugtes Zertifikat kann man sich wie folgt anzeigen lassen:<br> |
| <code>$ openssl x509 -in Zertifikate/klient1cert.pem -noout -text</code> | | <code>$ openssl x509 -in Zertifikate/klient1cert.pem -noout -text</code> |
| | | |
− | <h3>https-Zertifikat anzeigen</h3>
| + | ==https-Zertifikat anzeigen== |
− | Das funktioniert übrigens auch mit TLS-Zertifikaten, die von https genutzt werden. Beispielsweise kann man sich das Zertifikat von [https://www.heise.de/ https://www.heise.de/] wie folgt anzeigen lassen:<br> | + | Das funktioniert übrigens auch mit TLS-Zertifikaten, die von https genutzt werden. Beispielsweise kann man sich das Zertifikat von [https://www.heise.de/ https://www.heise.de/] wie folgt anzeigen lassen: |
− | <code>$ openssl s_client -connect www.heise.de:https</code><br>
| + | |
− | Bevor die Verbindung mangels Eingaben wieder abbricht, hohlt man sich den Inhalt von /<br> | + | openssl s_client -connect www.heise.de:https |
− | <code>$ GET /</code><br>
| + | |
− | In den angezeigten Informationen verbirgt sich das eigentliche Zertikiat im [http://de.wikipedia.org/wiki/X.509#Dateinamenserweiterungen_f.C3.BCr_Zertifikate PEM]-Format zwischen <i>-----BEGIN CERTIFICATE-----</i> und <i>-----END CERTIFICATE-----</i>. Um es für den Anwender lesbar zu machen makiert und kopiert man diesen Text (inkl. <i>-----BEGIN CERTIFICATE-----</i> und <i>-----END CERTIFICATE-----</i>) und speichert ihn in eine Datei:<br> | + | Für [https://de.wikipedia.org/wiki/Server_Name_Indication SNI] server wird immer das default-Zertfikat zurückgegeben. Möchte man das Zertifikat einer spezifischen Domäne, muss man sie nochmals spezifizieren: |
− | <code>$ echo "<i>hier den in die Zwischenablage kopierten Zertifikatstext einfügen</i>" > heise.pem</code><br>
| + | |
− | Nun lässt man sich das Zertifikiat von <i>openssl</i> in Klartext umwandeln:<br> | + | openssl s_client -connect map.hamburg.freifunk.net:https -servername map.hamburg.freifunk.net |
− | <code>openssl x509 -in heise.pem -noout -text</code>
| + | |
| + | Bevor die Verbindung mangels Eingaben wieder abbricht, hohlt man sich den Inhalt von / |
| + | |
| + | GET / |
| + | |
| + | In den angezeigten Informationen verbirgt sich das eigentliche Zertikiat im [http://de.wikipedia.org/wiki/X.509#Dateinamenserweiterungen_f.C3.BCr_Zertifikate PEM]-Format zwischen <i>-----BEGIN CERTIFICATE-----</i> und <i>-----END CERTIFICATE-----</i>. Um es für den Anwender lesbar zu machen makiert und kopiert man diesen Text (inkl. <i>-----BEGIN CERTIFICATE-----</i> und <i>-----END CERTIFICATE-----</i>) und speichert ihn in eine Datei: |
| + | |
| + | echo "<i>hier den in die Zwischenablage kopierten Zertifikatstext einfügen</i>" > heise.pem |
| + | |
| + | Nun lässt man sich das Zertifikiat von <i>openssl</i> in Klartext umwandeln: |
| + | |
| + | openssl x509 -in heise.pem -noout -text |
| + | |
| + | [[Category:Mac_nix_basteln]] |
Als Beispiel wird ein Satz Schlüssel zum Aufsetzen einer OpenVPN-Verbindung erzeugt:
Ein mit obiger Anleitung erzeugtes Zertifikat kann man sich wie folgt anzeigen lassen:
$ openssl x509 -in Zertifikate/klient1cert.pem -noout -text
Das funktioniert übrigens auch mit TLS-Zertifikaten, die von https genutzt werden. Beispielsweise kann man sich das Zertifikat von https://www.heise.de/ wie folgt anzeigen lassen:
Bevor die Verbindung mangels Eingaben wieder abbricht, hohlt man sich den Inhalt von /