XCA
- Links
Installation mit „Remote Database“-Unterstützung:
sudo dnf -y install xca
Für zusätzliche „Remote Database“-Unterstützung:
sudo dnf -y install qt5-qtbase-mysql qt5-qtbase-odbc qt5-qtbase-postgresql
Notwendige Rechte für den xca-Datenbankbenutzer:
SELECT,INSERT,UPDATE,DELETE,CREATE,CREATE VIEW,INDEX,ALTER,DROP
Empfohlene Gültigkeiten
Root CA: 10 Jahre
OpenVPN-CA (als Sub-CA realisiert,
pathlen=0
): 10 JahreOpenVPN-Server-Zertifikat: 3 Jahre
OpenVPN-Client-Zertifikat: 1 Jahr
CRL: 1000 Tage
XCA-Templates für OpenVPN
Es macht Sinn, eine Root CA zu erzeugen, unter der eine OpenVPN CA angehängt ist (CA-Chain). Nur letztere stellt die Zertifikate für den OpenVPN-Server und die OpenVPN-Clients aus.
In XCA erzeugt man dazu vier Templates, mit deren Hilfe sich später die Zertifikate erzeugen lassen:
Root CA-Zertifikat (LF_Root_CA_Template)
OpenVPN CA (LF_OpenVPN_CA_Template)
OpenVPN Server (LF_OpenVPN_Server_Template)
OpenVPN Client (LF_OpenVPN_Client_Template)
LF_Root_CA_Template
Tab Templates > New Template. Dann:
Tab Subject:
Internal Name: LF_Root_CA_Template
countryName: CH
stateOrProvinceName: ZH
localityName: Zurich
organizationName: Linuxfabrik GmbH
organizationalUnitName: Secure Services
commonName: leer lassen
emailAddress: info@linuxfabrik.ch
Tab Extensions:
Type: Certificate Authority
Path length: leer lassen, Critical: yes
Key identifier > X509v3 Subject Key Identifier: yes
Time range: 10 Years
Tab Key Usage:
X509v3 Key Usage: Certificate Sign, CRL Sign
Tab Netscape:
Netscape Cert Type: SSL CA, S/MIME CA, Object Signing CA
LF_OpenVPN_CA_Template
Tab Templates > New Template. Dann:
Tab Subject:
Internal Name: LF_OpenVPN_CA_Template
countryName: CH
stateOrProvinceName: ZH
localityName: Zurich
organizationName: Linuxfabrik GmbH
organizationalUnitName: Secure Services
commonName: leer lassen
emailAddress: info@linuxfabrik.ch
Tab Extensions:
Type: Certificate Authority
Path length: 0 (ist eine Sub-CA!), Critical: yes
Key identifier > X509v3 Subject Key Identifier: yes
Time range: 10 Years
Tab Key Usage:
nichts
Tab Netscape:
nichts
LF_OpenVPN_Server_Template
Tab Templates > New Template. Dann:
Tab Subject:
Internal Name: LF_OpenVPN_Server_Template
countryName: CH
stateOrProvinceName: ZH
localityName: Zurich
organizationName: Linuxfabrik GmbH
organizationalUnitName: Secure Services
commonName: leer lassen
emailAddress: info@linuxfabrik.ch
Tab Extensions:
Type: End Entity
Path length: leer lassen, Critical: yes
Key identifier > X509v3 Subject Key Identifier: yes
Time range: 3 Years
Tab Key Usage:
X509v3 Key Usage: Digital Signature, Key Encipherment
X509v3 Extended Key Usage: TLS Web Server Authentication
Tab Netscape:
Netscape Cert Type: SSL Server
LF_OpenVPN_Client_Template
Tab Templates > New Template. Dann:
Tab Subject:
Internal Name: LF_OpenVPN_Client_Template
countryName: CH
stateOrProvinceName: ZH
localityName: Zurich
organizationName: Linuxfabrik GmbH
organizationalUnitName: Secure Services
commonName: leer lassen
emailAddress: info@linuxfabrik.ch
Tab Extensions:
Type: End Entity
Path length: leer lassen, Critical: yes
Key identifier > X509v3 Subject Key Identifier: yes
Time range: 365 Days
Tab Key Usage:
X509v3 Key Usage: Digital Signature
X509v3 Extended Key Usage: TLS Web Client Authentication
Tab Netscape:
nichts
OpenVPN-Zertifikate mit XCA ausstellen
Root CA erstellen
Tab Certificates > New Certificate. Dann:
Tab Source:
Signature algorithm: SHA 384
Template for the new certificate: LF_Root_CA_Template > Apply all
Tab Subject:
Internal Name: LF Root CA SHA 384
commonName: leer lassen
Private key: Generate a new key (Keytype: RSA, Keysize: 4096 bit, Remember as default: checked) > Create
Rechte Maustaste auf das neue Zertifikat > CA > Properties:
Days until next CRL issuing: 1000 days
Default template: LF_OpenVPN_CA_Template
OpenVPN CA-Zertifikat erstellen
Tab Certificates > Klick auf „LF Root CA SHA 384“ > New Certificate. Dann:
Tab Source:
Signature algorithm: SHA 384
Template for the new certificate: LF_OpenVPN_CA_Template > Apply all
Tab Subject:
Internal Name: LF OpenVPN CA SHA 384
commonName: Linuxfabrik OpenVPN CA SHA 384
Private key: Generate a new key (Keysize: 4096 bit, Remember as default: checked) > Create
Bei Meldung „The certificate will be longer valid than the signer. This is probably not what you want“ > „Adjust date and continue“
Rechte Maustaste auf das neue Zertifikat > CA > Properties:
Days until next CRL issuing: 1000 days
Default template: LF_OpenVPN_Client_Template
OpenVPN Server-Zertifikat ausstellen
Tab Certificates > Klick auf „LF OpenVPN CA SHA 384“ > New Certificate. Dann:
Tab Source:
Signature algorithm: SHA 384
Template for the new certificate: LF_OpenVPN_Server_Template > Apply all
Tab Subject:
Internal Name: Hostname (FQDN) des OpenVPN-Servers
commonName: Hostname (FQDN) des OpenVPN-Servers
Private key: Generate a new key (Keysize: 4096 bit - Remember as default: checked)
OpenVPN Client-Zertifikat ausstellen
Tab Certificates > Klick auf „LF OpenVPN CA SHA 384“ > New Certificates
Tab Source:
Signature algorithm: SHA 384
Template for the new certificate: LF_OpenVPN_Client_Template > Apply all
Tab Subject:
Internal Name: E-Mail-Adresse
commonName: E-Mail-Adresse
Generate a new key (4096 bit)
OpenVPN Client-Zertifikat erneuern
Rechte Maustaste auf das zu erneuernde Zertifikat > Renewal:
Time Range: 1 Jahr
Replace old certificate
OpenVPN Client-Zertifikat revozieren
Rechte Maustaste auf das zu revozierende Zertifikat > Revoke:
Revocation reason: entsprechend setzen
Rechte Maustaste auf „LF OpenVPN CA SHA 384“ > CA > Generate CRL:
1000 days
Hash algorithm: SHA 384
CRL auf das Zielsystem hochladen (z.B. bei den OpenVPN-Servern als /etc/openvpn/server/crl.pem
, abhängig von deren Konfiguration) und openvpn Server auf dem Zielsystem neu starten systemctl restart openvpn-server@server.service
Troubleshooting
- The currently used PFX / PKCS#12 algorithm ‚PBE-SHA1-3DES‘ is insecure.
Im Menü File > Options > Settings den „PKCS12 encryption algorithm“ auf „AES-256-CBC“ umstellen.
Built on 2024-11-18