Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen Revision Vorhergehende Überarbeitung Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
openssl [19/02/2024 - 16:41] – [PKCS Dateien erzeugen (*.pfx, *.p12)] admin | openssl [15/05/2024 - 13:41] (aktuell) – admin | ||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
====== OPENSSL ====== | ====== OPENSSL ====== | ||
- | ==== Privaten | + | ==== 1. privaten |
+ | |||
+ | Dabei wird ein Passwort abgefragt! | ||
< | < | ||
Zeile 7: | Zeile 9: | ||
</ | </ | ||
- | + | ==== 2. Passphäse aus key löschen | |
- | Passphäse aus key löschen | + | |
< | < | ||
Zeile 14: | Zeile 15: | ||
</ | </ | ||
- | + | ==== 3. Certificate Signing Request ==== | |
- | + | ||
- | ==== Certificate Signing Request ==== | + | |
-days regelt die Gültigkeit des Zertifikats und überschreibt die default Werte der ssh Konfiguration. Achtung bei openvpn: CN muß mit " | -days regelt die Gültigkeit des Zertifikats und überschreibt die default Werte der ssh Konfiguration. Achtung bei openvpn: CN muß mit " | ||
Zeile 38: | Zeile 37: | ||
</ | </ | ||
+ | ==== 5. Prüfen, ob ein Key und ein signiertes cert zusammen passen ==== | ||
+ | - | ||
+ | < | ||
+ | openssl x509 -noout -modulus -in < | ||
+ | //Note: Replace < | ||
+ | |||
+ | </ | ||
+ | - | ||
+ | < | ||
+ | |||
+ | openssl rsa -noout -modulus -in < | ||
+ | //Note: Replace < | ||
+ | |||
+ | </ | ||
+ | - | ||
+ | < | ||
+ | |||
+ | diff / | ||
+ | //Note: If nothing is printed to the console, they were found to be a pair. Any differences are printed to the console in detail.// | ||
+ | |||
+ | </ | ||
+ | |||
+ | ==== ==== | ||
- | ==== Inhalte eines Zertifikats kontrollieren ==== | + | ==== 4. Inhalte eines Zertifikats kontrollieren ==== |
Auf der Shell im Klartext lesen: für CERT " | Auf der Shell im Klartext lesen: für CERT " | ||
Zeile 58: | Zeile 80: | ||
</ | </ | ||
+ | ==== ==== | ||
===== Test einer ssl Verbindung mit openssl s_client ===== | ===== Test einer ssl Verbindung mit openssl s_client ===== | ||
- | siehe [[http:// | + | siehe [[http:// |
**Hinweis zu s_client: Zugriff über Proxy (mit -proxy host:port) ist erst ab openssl 1.1 implementiert** | **Hinweis zu s_client: Zugriff über Proxy (mit -proxy host:port) ist erst ab openssl 1.1 implementiert** | ||
Zeile 71: | Zeile 94: | ||
</ | </ | ||
- | Kommt als Ergebnis eine Ciphersuite heraus, die mit DH oder ECDH beginnt, haben sich die beiden Kommunikationspartner auf **Forward Secrecy** geeinigt. Ob ein Server überhaupt Forward Secrecy beherrscht, verrät: | + | Kommt als Ergebnis eine Ciphersuite heraus, die mit DH oder ECDH beginnt, haben sich die beiden Kommunikationspartner auf **Forward Secrecy** |
< | < | ||
openssl s_client -cipher ' | openssl s_client -cipher ' | ||
Zeile 92: | Zeile 116: | ||
Alternativ über doveadmin, siehe dort. | Alternativ über doveadmin, siehe dort. | ||
- | ===== Zertifikat Formate | + | ====== Zertifikat Formate |
- | ===== Von pfx nach pem ===== | + | ===== PKCS Dateien erzeugen (*.pfx, *.p12) |
- | global | + | openssl pkcs12 -export -out certificate.pfx -inkey privateKey.key -in certificate.crt -certfile more.crt * |
+ | openssl – the command for executing OpenSSL * pkcs12 – the file utility for PKCS#12 files in OpenSSL * - export - out certificate .pfx – export and save the PFX file as certificate.pfx * - inkey privateKey .key – use the private key file privateKey.key as the private key to combine with the certificate. * - in certificate .crt – use certificate.crt as the certificate the private key will be combined with. * - certfile more .crt – | ||
+ | |||
+ | This is optional, this is if you have any additional certificates you would like to include in the PFX file. **User Zertifikat erzeugen** | ||
+ | |||
+ | ====== Key Formate konvertieren ====== | ||
+ | |||
+ | ===== Von pfx nach pem ===== | ||
< | < | ||
+ | |||
openssl pkcs12 -in [pkcs-12-certificate-and-key-file] | openssl pkcs12 -in [pkcs-12-certificate-and-key-file] | ||
Zeile 138: | Zeile 170: | ||
</ | </ | ||
- | + | ===== Von DER encoded (crt/cer) nach PGP (pem) ===== | |
- | ===== Von crt nach pem ===== | + | |
< | < | ||
Zeile 145: | Zeile 176: | ||
</ | </ | ||
- | |||
====== Certification Authority ====== | ====== Certification Authority ====== | ||
Zeile 169: | Zeile 199: | ||
nach [[http:// | nach [[http:// | ||
- | cd ServerCA\\ | + | cd ServerCA \\ openssl genrsa -out apache.key.pem -rand ./ |
- | openssl genrsa -out apache.key.pem -rand ./ | + | |
openssl req -new -key apache.key.pem -out apache.req.pem openssl ca -name ServerCA -in apache.req.pem -out apache.cert.pem | openssl req -new -key apache.key.pem -out apache.req.pem openssl ca -name ServerCA -in apache.req.pem -out apache.cert.pem | ||
Zeile 190: | Zeile 219: | ||
Um dieses erste Zertifikat der RootCA in das normale Handling der CA zu geben, muß es noch kopiert und verlinkt werden. Die Zertifikate werden im Unterverzeichnis certs mit dem Namen Ihrer Seriennummer gelegt und der Hash-Wert wird verlinkt: | Um dieses erste Zertifikat der RootCA in das normale Handling der CA zu geben, muß es noch kopiert und verlinkt werden. Die Zertifikate werden im Unterverzeichnis certs mit dem Namen Ihrer Seriennummer gelegt und der Hash-Wert wird verlinkt: | ||
- | cd / | + | cd / |
- | cp RootCA.cert.pem / | + | |
- | cd / | + | cd / |
- | ln -s 00.pem `openssl x509 -hash -noout -in 00.pem`.0 | + | |
==== Sub CA für Server Signaturen erstellen ==== | ==== Sub CA für Server Signaturen erstellen ==== | ||
Zeile 219: | Zeile 246: | ||
Mit der ServerCA lassen sich jetzt Zertifikate für Server erstellen. Diese sollten - weil sie ihren Private Key ohne menschliches Zutun benutzen müssen - keine Passphrase haben. Dies geschieht durch Weglassen des Verschlüsselungs-Algoritmus beim Erstellen des Private Key. Ansonsten sind das auch nur normale Zertifikate. Allerdings werden sie nicht von der RootCA, sondern von der ServerCA signiert. | Mit der ServerCA lassen sich jetzt Zertifikate für Server erstellen. Diese sollten - weil sie ihren Private Key ohne menschliches Zutun benutzen müssen - keine Passphrase haben. Dies geschieht durch Weglassen des Verschlüsselungs-Algoritmus beim Erstellen des Private Key. Ansonsten sind das auch nur normale Zertifikate. Allerdings werden sie nicht von der RootCA, sondern von der ServerCA signiert. | ||
- | |||
===== Einrichten von Apache mit mod_ssl ===== | ===== Einrichten von Apache mit mod_ssl ===== | ||
Zeile 228: | Zeile 254: | ||
===== ===== | ===== ===== | ||
- | |||
====== Easy RSA - gängige Befehle ====== | ====== Easy RSA - gängige Befehle ====== |