Mac nix basteln:OpenSSL: Unterschied zwischen den Versionen

Aus Attraktor Wiki

Wechseln zu: Navigation, Suche
(Created page with "<h2>OpenSSL</h2> [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 Sc...")
 
Zeile 21: Zeile 21:
 
<li>
 
<li>
 
<h4>Erzeugen des server-Schlüssels</h4>
 
<h4>Erzeugen des server-Schlüssels</h4>
1024bit RSA-Serverschlüssel ohne Kennwort (<code>-nodes</code>) erstellen (<code>-newkey rsa:1024 -keyout private/serverkey.pem</code>) &amp; Anfrage für ein 10a gültiges Zertifikat für diesen Schlüssel erstellen (<code>req -out certs/servercsr.pem -days 3650</code>):<br>
+
4096bit RSA-Serverschlüssel ohne Kennwort (<code>-nodes</code>) erstellen (<code>-newkey rsa:4096 -keyout private/serverkey.pem</code>) &amp; Anfrage für ein 10a gültiges Zertifikat für diesen Schlüssel erstellen (<code>req -out certs/servercsr.pem -days 3650</code>):<br>
<code>$ openssl req -out certs/servercsr.pem -days 3650 -newkey rsa:1024 -keyout private/serverkey.pem -nodes</code>
+
<code>$ openssl req -out certs/servercsr.pem -days 3650 -newkey rsa:4096 -keyout private/serverkey.pem -nodes</code>
 
<p>
 
<p>
 
10 gültiges X.509 Serverzertifikat aus Zertifikatsanfrage erstellen (<code>x509 -req -in certs/servercsr.pem -out certs/servercert.pem -days 3650</code>), von der root CA signieren (<code>-CA vpn-ca.pem -CAkey private/vpn-cakey.pem</code>). Dabei wird ''vpn-ca.srl'' automatisch hoch gezählt:<br>
 
10 gültiges X.509 Serverzertifikat aus Zertifikatsanfrage erstellen (<code>x509 -req -in certs/servercsr.pem -out certs/servercert.pem -days 3650</code>), von der root CA signieren (<code>-CA vpn-ca.pem -CAkey private/vpn-cakey.pem</code>). Dabei wird ''vpn-ca.srl'' automatisch hoch gezählt:<br>
Zeile 33: Zeile 33:
 
<h4>Erzeugen eines Klienten-Schlüssels</h4>
 
<h4>Erzeugen eines Klienten-Schlüssels</h4>
 
Klienten-Schlüssel erstellen &amp; Zertifikatsanfrage für Klienten-Schlüssel:<br>
 
Klienten-Schlüssel erstellen &amp; Zertifikatsanfrage für Klienten-Schlüssel:<br>
<code>$ openssl req -new -newkey rsa:1024 -out certs/klient1.pem -nodes -keyout private/klient1.pem -days 3650</code>
+
<code>$ openssl req -out certs/klient1csr.pem -days 3650 -newkey rsa:4096 -keyout private/klient1key.pem -nodes</code>
 
<p>
 
<p>
 
Clientzertifikat aus Zertifikatsanfrage erstellen:<br>
 
Clientzertifikat aus Zertifikatsanfrage erstellen:<br>
<code>$ openssl x509 -req -in certs/klient1.pem -out certs/klient1.pem -CA vpn-ca.pem -CAkey private/vpn-cakey.pem -CAserial serial -days 3650</code>
+
<code>$ openssl x509 -req -in certs/klient1csr.pem -out certs/klientcert.pem -days 3650 -CA vpn-ca.pem -CAkey private/vpn-cakey.pem</code>
 
</p>
 
</p>
 +
Zertifikatsanfrage kann gelöscht werden:<br>
 +
<code>$ rm certs/klient1csr.pem</code>
 
</li>
 
</li>
 
<li>
 
<li>
 
<h4>Zufallszahlen "Diffie-Hellman Parameter" erzeugen</h4>
 
<h4>Zufallszahlen "Diffie-Hellman Parameter" erzeugen</h4>
<code>$ openssl dhparam -out dh2048.pem 2048</code>
+
<code>$ openssl dhparam -out dh1024.pem 1024</code>
 
</li>
 
</li>
 
</ol>
 
</ol>
 +
 +
<h3>Anzeigen von Zertifikaten</h3>
 +
<code>$ openssl x509 -in certs/klientcert.pem -noout -text</code>

Version vom 3. April 2012, 18:35 Uhr

OpenSSL

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...

Als Beispiel wird ein Satz Schlüssel zum Aufsetzen einer OpenVPN-Verbindung erzeugt:

  1. Erzeugen einer CA

    Zertifikatsnummerierungszähler erstellen und Wert 01 reinschreiben:
    $ echo "01" > vpn-ca.srl
    Verzeichnis für private Schlüssel erstellen:
    $ mkdir private
    4096bit langer, privater RSA-Schlüssel (PKCS#1 im PEM-Format) [oder Schlüsselpaar???] erstellen, welcher mit AES (256bit) geschützt ist:
    $ openssl genrsa -aes256 -out private/vpn-cakey.pem 4096
    10a gültiges (-days 3650), selbstsigniertes X509-Zertifkat (nur für Test oder root CA)(-x509) aus privatem Schlüssel erstellen (-key private/vpn-cakey.pem) und nach vpn-ca.pem schreiben (-out vpn-ca.pem). Zertifikates Seriennummer auf 1 setzen (set_serial 1) (default 0):
    $ openssl req -new -x509 -days 3650 -key private/vpn-cakey.pem -out vpn-ca.pem -set_serial 1

    Alternativ, die beiden letzten Befehle in einem: Allerdings kann hier nicht AES256 als Verschlüsselung des privaten Schlüssels (jedenfalls ist mir kein entsprechender Parameter bekannt) - stattdessen wird standardmäßig DES3 gewählt:
    $ openssl req -x509 -days 3650 -newkey rsa:4096 -keyout private/vpn-cakey.pem -out vpn-ca.pem -set_serial 1

  2. Erzeugen des server-Schlüssels

    4096bit RSA-Serverschlüssel ohne Kennwort (-nodes) erstellen (-newkey rsa:4096 -keyout private/serverkey.pem) & Anfrage für ein 10a gültiges Zertifikat für diesen Schlüssel erstellen (req -out certs/servercsr.pem -days 3650):
    $ openssl req -out certs/servercsr.pem -days 3650 -newkey rsa:4096 -keyout private/serverkey.pem -nodes

    10 gültiges X.509 Serverzertifikat aus Zertifikatsanfrage erstellen (x509 -req -in certs/servercsr.pem -out certs/servercert.pem -days 3650), von der root CA signieren (-CA vpn-ca.pem -CAkey private/vpn-cakey.pem). Dabei wird vpn-ca.srl automatisch hoch gezählt:
    $ openssl x509 -req -in certs/servercsr.pem -out certs/servercert.pem -days 3650 -CA vpn-ca.pem -CAkey private/vpn-cakey.pem

    Zertifikatsanfrage kann gelöscht werden:
    $ rm certs/servercsr.pem

  3. Erzeugen eines Klienten-Schlüssels

    Klienten-Schlüssel erstellen & Zertifikatsanfrage für Klienten-Schlüssel:
    $ openssl req -out certs/klient1csr.pem -days 3650 -newkey rsa:4096 -keyout private/klient1key.pem -nodes

    Clientzertifikat aus Zertifikatsanfrage erstellen:
    $ openssl x509 -req -in certs/klient1csr.pem -out certs/klientcert.pem -days 3650 -CA vpn-ca.pem -CAkey private/vpn-cakey.pem

    Zertifikatsanfrage kann gelöscht werden:
    $ rm certs/klient1csr.pem

  4. Zufallszahlen "Diffie-Hellman Parameter" erzeugen

    $ openssl dhparam -out dh1024.pem 1024

Anzeigen von Zertifikaten

$ openssl x509 -in certs/klientcert.pem -noout -text