|
|
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>) & 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>) & 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 & Zertifikatsanfrage für Klienten-Schlüssel:<br> | | Klienten-Schlüssel erstellen & 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> |
-
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
-
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
-
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
-
Zufallszahlen "Diffie-Hellman Parameter" erzeugen
$ openssl dhparam -out dh1024.pem 1024