Erzeuge nun über deine eigene CA die benötigten Server-Zertifikate (PKI).
- unter Verwendung von openssl (xca oder dem Yast2-CA-Management)
- Unter welchen Bedingungen akzeptiert ein Browser, Mailclient usw. die erzeugten Zertifikate?
#---> CA-Zertifikats Erzeugung
openssl genrsa -aes256 -out ca.key 4096
ODER: openssl ecparam -genkey -name prime256v1 -out ca.key #openssl ecparam -list_curves
openssl ec -aes-128-cbc -in ca.key -out ca.key #ca.key mit Passphrase versehen
openssl req -new -x509 -days 3650 -key ca.key -out ca.crt -extensions v3_ca
#[-extfile ca.ext] [-config ca.config]
#---> Server-Zertifikats Erzeugung
openssl genrsa -out server.key 2048
openssl req -new -key server.key -out server.csr -extensions v3_req \
[ -subj "/C=DE/ST=NRW/O=Siemens-AG/CN=www.example.com" \
-reqexts SAN \
-config <(cat /etc/ssl/openssl.cnf; \
printf "\n[SAN]\nsubjectAltName=DNS:example.com,DNS:www.example.com")
]
openssl x509 -req -in server.csr -out server.crt -CA ca.crt \
-CAkey ca.key -days 730 -extensions server_cert
#Beim 1. Aufruf erzeugt -CAcreateserial die Seriennummerndatei ca.srl
#[-extfile server.ext] anstelle der -extensions ... Angaben (Beispiel folgt)
Beispiel einer server.ext Datei
extensions = x509v3
[ x509v3 ]
basicConstraints = CA:false
nsCertType = server
keyUsage = digitalSignature,nonRepudiation,keyEncipherment
extendedKeyUsage = msSGC,nsSGC,serverAuth
subjectAltName = DNS:example.com,IP:1.2.3.4,DNS:www.example.com