openssl

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
openssl [19/02/2024 - 16:41] – [PKCS Dateien erzeugen (*.pfx, *.p12)] adminopenssl [15/05/2024 - 13:41] (aktuell) admin
Zeile 1: Zeile 1:
 ====== OPENSSL ====== ====== OPENSSL ======
  
-==== Privaten Schlüssel erzeugen ====+==== 1. privaten Schlüssel erzeugen ==== 
 + 
 +Dabei wird ein Passwort abgefragt!
  
 <code> <code>
Zeile 7: Zeile 9:
  
 </code> </code>
- +==== 2. Passphäse aus key löschen ====
-Passphäse aus key löschen+
  
 <code> <code>
Zeile 14: Zeile 15:
  
 </code> </code>
- +==== 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 "locutusvpn" beginnen, da die im Server geprüft wird (Server Parameter –verify-x509-name locutusvpn name-prefix) -days regelt die Gültigkeit des Zertifikats und überschreibt die default Werte der ssh Konfiguration. Achtung bei openvpn: CN muß mit "locutusvpn" beginnen, da die im Server geprüft wird (Server Parameter –verify-x509-name locutusvpn name-prefix)
Zeile 38: Zeile 37:
  
 </code> </code>
 +==== 5. Prüfen, ob ein Key und ein signiertes cert zusammen passen ====
  
 +  -
 +<code>
 +openssl x509 -noout -modulus -in <public.crt> | openssl md5> /tmp/crt.pub
 +//Note: Replace <public.crt> with the filename of the public certificate.//
 +
 +</code>
 +  -
 +<code>
 +
 +openssl rsa -noout -modulus -in <private.key> | openssl md5> /tmp/key.pub
 +//Note: Replace <private.key> with the filename of the private key. Enter the password if prompted.//
 +
 +</code>
 +  -
 +<code>
 +
 +diff /tmp/crt.pub /tmp/key.pub
 +//Note: If nothing is printed to the console, they were found to be a pair. Any differences are printed to the console in detail.//
 +
 +</code>
 +
 +====   ====
  
-==== Inhalte eines Zertifikats kontrollieren ====+==== 4. Inhalte eines Zertifikats kontrollieren ====
  
 Auf der Shell im Klartext lesen: für CERT "x509", für CSR "req" Auf der Shell im Klartext lesen: für CERT "x509", für CSR "req"
Zeile 58: Zeile 80:
 </code> </code>
  
 +====   ====
  
 ===== Test einer ssl Verbindung mit openssl s_client ===== ===== Test einer ssl Verbindung mit openssl s_client =====
  
-siehe [[http://www.heise.de/security/artikel/Forward-Secrecy-testen-und-einrichten-1932806.html|http://www.heise.de/security/artikel/Forward-Secrecy-testen-und-einrichten-1932806.html]]\\+siehe [[http://www.heise.de/security/artikel/Forward-Secrecy-testen-und-einrichten-1932806.html|http://www.heise.de/security/artikel/Forward-Secrecy-testen-und-einrichten-1932806.html]] \\
 **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:
 </code> </code>
  
-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**  geeinigt. Ob ein Server überhaupt Forward Secrecy beherrscht, verrät: 
 <code> <code>
 openssl s_client -cipher 'ECDH:DH' -connect login.live.com:443 openssl s_client -cipher 'ECDH:DH' -connect login.live.com:443
Zeile 92: Zeile 116:
 Alternativ über doveadmin, siehe dort. Alternativ über doveadmin, siehe dort.
  
-===== Zertifikat Formate konvertieren =====+====== Zertifikat Formate und Konvertierung ======
  
-===== 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**  wie Server Zertifikat. Für VPN Verbindung kann ohne Passwort gearbeitet werden, es geht aber auch mit Passwort! openssl genrsa -aes256 -out apache.key.pem -rand ./private/.rand 2048
 +
 +====== Key Formate konvertieren ======
 +
 +===== Von pfx nach pem =====
 <code> <code>
 +
 openssl pkcs12 -in  [pkcs-12-certificate-and-key-file]  -out  [pem-certificate-and-key-file] openssl pkcs12 -in  [pkcs-12-certificate-and-key-file]  -out  [pem-certificate-and-key-file]
  
Zeile 138: Zeile 170:
 </code> </code>
  
- +===== Von DER encoded (crt/cer) nach PGP (pem=====
-===== Von crt nach pem =====+
  
 <code> <code>
Zeile 145: Zeile 176:
  
 </code> </code>
- 
  
 ====== Certification Authority ====== ====== Certification Authority ======
Zeile 169: Zeile 199:
 nach [[http://fra.nksteidl.de/Erinnerungen/OpenSSL.php|http://fra.nksteidl.de/Erinnerungen/OpenSSL.php]] nach [[http://fra.nksteidl.de/Erinnerungen/OpenSSL.php|http://fra.nksteidl.de/Erinnerungen/OpenSSL.php]]
  
-cd ServerCA\\ +cd ServerCA \\ openssl genrsa -out apache.key.pem -rand ./private/.rand 2048
-openssl genrsa -out apache.key.pem -rand ./private/.rand 2048+
  
 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 /etc/sslcerts/\\ +cd /etc/sslcerts/ \\ cp RootCA.cert.pem /usr/lib/ssl/RootCA/certs/00.pem
-cp RootCA.cert.pem /usr/lib/ssl/RootCA/certs/00.pem+
  
-cd /etc/ssl/certs/\\ +cd /etc/ssl/certs/ \\ ln -s 00.pem `openssl x509 -hash -noout -in 00.pem`.0
-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 ======
  • openssl.1708360877.txt.gz
  • Zuletzt geändert: 05/03/2024 - 10:52
  • (Externe Bearbeitung)