easyrsa

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
easyrsa [07/08/2023 - 11:48] thommie4easyrsa [11/09/2024 - 09:06] (aktuell) thommie4
Zeile 3: Zeile 3:
 Quelle: [[https://github.com/OpenVPN/easy-rsa|https://github.com/OpenVPN/easy-rsa]] Quelle: [[https://github.com/OpenVPN/easy-rsa|https://github.com/OpenVPN/easy-rsa]]
  
-EasyTLS Erweiterung: [[https://github.com/TinCanTech/easy-tls]]+EasyTLS Erweiterung: [[https://github.com/TinCanTech/easy-tls|https://github.com/TinCanTech/easy-tls]]
  
 ===== CA einrichten ===== ===== CA einrichten =====
Zeile 9: Zeile 9:
 initialisieren initialisieren
  
-''./easyrsa init-pki ''+<code> 
 +./easyrsa init-pki  
 +</code>
  
 DH erzeugen DH erzeugen
  
-''./easyrsa gen-dh ''+<code> 
 +./easyrsa gen-dh 
 +</code>
  
-pki bauen (mit PW)+pki bauen (mit Passwort zum Signieren von certs) 
 + 
 +<code> 
 +./easyrsa build-ca 
 +</code>
  
-''./easyrsa build-ca'' 
 ===== Signing Request ===== ===== Signing Request =====
  
 Signing Request (CSR) für Server oder Client, mit oder ohne Passwort (nopass = Key ohne Passwort) Signing Request (CSR) für Server oder Client, mit oder ohne Passwort (nopass = Key ohne Passwort)
  
-''./easyrsa gen-req EntityName nopass '' +<code> 
-===== Signieren (client oder server) =====+./easyrsa gen-req EntityName nopass 
 +</code>
  
-''./easyrsa sign-req client EntityName '''' '' \\ 
-''./easyrsa sign-req server EntityName '' 
-===== Zertifikats Inhalt anzeigen ===== 
  
-''./easyrsa show-req EntityName ''+===== Importieren =====
  
-''./easyrsa show-cert EntityName ''+<code> 
 +./easyrsa import-req /path/to /request .req nameOfRequest 
 +<code>
  
-Alternativ direkt mit openssl<code> +===== Signieren ===== 
-Zertifikat komplett anzeigen+ 
 +Die signierende CA ntscheidet, ob sie ein client oer server Zertifikat signiert 
 + 
 +<code> 
 +./easyrsa sign-req client EntityName ./easyrsa sign-req server EntityName  
 +</code> 
 + 
 +===== Zertifikats Inhalt anzeigen =====  
 + 
 +<code> 
 +./easyrsa show-req EntityName./easyrsa show-cert EntityName  
 +</code> 
 + 
 +Alternativ direkt mit openssl  das Zertifikat komplett anzeigen lassen: 
 + 
 +<code>
 openssl x509 -text -in <zertifikatsname.crt> openssl x509 -text -in <zertifikatsname.crt>
 +</code> 
  
-Komplette Anzeige ohne Zertifiaktstext anzeigen+Komplette Anzeige ohne Zertifiaktstext anzeigen  
 + 
 +<code>
 openssl x509 -noout -text -in <zertifikatsname.crt> openssl x509 -noout -text -in <zertifikatsname.crt>
 +</code> 
  
-# den Herausgeber des Zertifikats anzeigen +Den Herausgeber des Zertifikats anzeigen 
-openssl x509 -noout -issuer -in <zertifikatsname.crt>+
  
-# Für wen wurde das Zertifikat ausgestellt? +<code> 
-openssl x509 -noout -subject -in <zertifikatsname.crt>+openssl x509 -noout -issuer -in <zertifikatsname.crt>  
 +</code>
  
-Für welchen Zeitraum ist das Zertifikat gültig?+Für wen wurde das Zertifikat ausgestellt?  
 + 
 +<code> 
 +openssl x509 -noout -subject -in <zertifikatsname.crt>  
 +</code> 
 + 
 +Für welchen Zeitraum ist das Zertifikat gültig?  
 + 
 +<code>
 openssl x509 -noout -dates -in <zertifikatsname.crt> openssl x509 -noout -dates -in <zertifikatsname.crt>
 +</code> 
  
-# das obige kombiniert anzeigen+Das obige kombiniert anzeigen  
 + 
 +<code>
 openssl x509 -noout -issuer -subject -dates -in <zertifikatsname.crt> openssl x509 -noout -issuer -subject -dates -in <zertifikatsname.crt>
 +</code> 
  
-# den hash anzeigen+Den hash anzeigen  
 + 
 +<code>
 openssl x509 -noout -hash -in <zertifikatsname.crt> openssl x509 -noout -hash -in <zertifikatsname.crt>
 +</code> 
  
-# den MD5-Fingerprint anzeigen+Den MD5-Fingerprint anzeigen  
 + 
 +<code>
 openssl x509 -noout -fingerprint -in <zertifikatsname.crt> openssl x509 -noout -fingerprint -in <zertifikatsname.crt>
 </code> </code>
  
-Key Passwörter ändern+Key Passwörter ändern 
  
-''./easyrsa set-rsa-pass EntityName ''+<code> 
 +./easyrsa set-rsa-pass EntityName 
 +./easyrsa set-ec-pass EntityName 
 +</code>
  
-''./easyrsa set-ec-pass EntityName ''+Mit "nopass" wird ein Passwort entfernt 
  
-Mit "nopass" wird ein Passwort entfernt+===== CSR =====
  
-**CSR**+<code> 
 +openssl req -in www2.netzwissen.de.csr -text -noout  
 +</code>
  
-''openssl req -in www2.netzwissen.de.csr -text -noout ''+**Zertifikat** 
  
-**Zertifikat**+<code> 
 +openssl x509 -in certificate.crt -text -noout  
 +</code>
  
-''openssl x509 -in certificate.crt -text -noout '' +===== Zertifikat zurückziehen ===== 
-===== Zertifikat zurückziehen =====+
  
 <code> <code>
-./easyrsa revoke EntityName+./easyrsa revoke EntityName 
 </code> </code>
  
-CRL erzeugen +CRL erzeugen  
 <code> <code>
 ./easyrsa gen-crl ./easyrsa gen-crl
-</code>+</code> 
  
-Achtung: Die CRL sollte **alle sechs Monate** neu erzeugt und auf den openvpn Server übertragen werden. Die genauen Daten stehen in der CRL Datei:+Achtung: Die CRL sollte **alle sechs Monate** neu erzeugt und auf den openvpn Server übertragen werden. Die genauen Daten stehen in der CRL Datei: 
  
 <code> <code>
-root@pki01:~/easyrsa/easyrsa3/pki# openssl crl -inform PEM -text -noout -in crl.pem  +root@pki01:~/easyrsa/easyrsa3/pki#  
-Certificate Revocation List (CRL): +openssl crl -inform PEM -text -noout -in crl.pem 
-        Version 2 (0x1) +
-        Signature Algorithm: sha256WithRSAEncryption +
-        Issuer: CN = dvsdnet CA +
-        Last Update: Jul  4 14:52:21 2023 GMT +
-        Next Update: Dec 31 14:52:21 2023 GMT+
 </code> </code>
-====== Spezialfälle bei OpenVPN ====== 
  
-Validierung über common name (alte Methode): Der Common Name für das Server Zertifikat muss den Präfix aus der Server Config enthalten:+Certificate Revocation List (CRL): Version 2 (0x1) Signature Algorithm: sha256WithRSAEncryption Issuer: CN = dvsdnet CA Last Update: Jul 4 14:52:21 2023 GMT Next Update: Dec 31 14:52:21 2023 GMT 
  
-''–verify-x509-name openvpn name-prefix ''+====== Spezialfälle bei OpenVPN ====== 
  
-Mit easyrsa3: +Validierung über common name (alte Methode): Der Common Name für das Server Zertifikat muss den Präfix aus der Server Config enthalten: –verify-x509-name openvpn name-prefix Mit easyrsa3: locutus:~/easy-rsa/easyrsa3 ./easyrsa sign-req server openvpn.locutus.netzwissen.loc
- +
-''locutus:~/easy-rsa/easyrsa3'' +
- +
-''./easyrsa sign-req server openvpn.locutus.netzwissen.loc''+
  
 **Neue Methode nach RFC3280: Verifikation nach Zertifikatstyp**: **Neue Methode nach RFC3280: Verifikation nach Zertifikatstyp**:
  
-''remote-cert-tls client '' +<code> 
- +remote-cert-tls client ./easyrsa sign-req client franklin2.netzwissen.loc 
-''./easyrsa sign-req client franklin2.netzwissen.loc''+</code>
  
-Im Client wird im Gegenzug geprüft, ob das vom OpenVPN Server präsentierte Zertifikat den "server" Typ hat+Im Client wird im Gegenzug geprüft, ob das vom OpenVPN Server präsentierte Zertifikat den "server" Typ hat 
  
-====== PKITOOL Befehle ======+====== PKITOOL Befehle ====== 
  
-''pkitool –initca → Build root certificate\\ +pkitool –initca → Build root certificate\\ 
-pkitool ''''–initca –pass → Build root certificate with password-protected key\\+pkitool –initca –pass → Build root certificate with password-protected key\\
 pkitool –server server1 → Build "server1" certificate/key\\ pkitool –server server1 → Build "server1" certificate/key\\
 pkitool client1 → Build "client1" certificate/key\\ pkitool client1 → Build "client1" certificate/key\\
Zeile 128: Zeile 166:
 pkitool –sign client4 → Sign "client4" CSR\\ pkitool –sign client4 → Sign "client4" CSR\\
 pkitool –inter interca → Build an intermediate key-signing certificate/key Also see ./inherit-inter script.\\ pkitool –inter interca → Build an intermediate key-signing certificate/key Also see ./inherit-inter script.\\
-pkitool –pkcs11 /usr/lib/pkcs11/lib1 0 010203 "client5 id" client5 → Build "client5" certificate/key in PKCS#11 token ''+pkitool –pkcs11 /usr/lib/pkcs11/lib1 0 010203 "client5 id" client5 → Build "client5" certificate/key in PKCS#11 token
  
 Typical usage for initial PKI setup. Build myserver, client1, and client2 cert/keys. Protect client2 key with a password. Build DH parms. Generated files in ./keys : Typical usage for initial PKI setup. Build myserver, client1, and client2 cert/keys. Protect client2 key with a password. Build DH parms. Generated files in ./keys :
  
-''[edit vars with your site-specific info] '''' source ./vars ./clean-all ./build-dh → takes a long time, consider backgrounding ./pkitool –initca ./pkitool –server myserver ./pkitool client1 ./pkitool –pass client2 '' +''[edit vars with your site-specific info] source ./vars ./clean-all ./build-dh → takes a long time, consider backgrounding ./pkitool –initca ./pkitool –server myserver ./pkitool client1 ./pkitool –pass client2 Typical usage for adding client cert to existing PKI: source ./vars ./pkitool client-new
- +
-Typical usage for adding client cert to existing PKI: +
- +
-''source ./vars ./pkitool client-new ''+
  
  • easyrsa.1691408914.txt.gz
  • Zuletzt geändert: 17/08/2024 - 07:06
  • (Externe Bearbeitung)