Openssl
CA.sh von OpenSSL nutzen.
Es passiert folgendes:
openssl genrsa -des3 -out ca.key 1024
Die Datei ca.key gut aufheben und das Geheimnis (pass-phrase) gut merken.
openssl req -new -x509 -days 365 -key ca.key -out cacert.pem
(Option -x509 macht die Selbstsignierung)
Man kann Details dieses Zertifikats mit folgenden Kommando anschauen:
openssl x509 -noout -text -in ca.crt
openssl x509 -req -in myreq.pem -out mycert.pem -CA cacert.pem -CAkey ca.key -CAcreateserial -days 365
Es müssen oft extension-Attribute gesetzt werden und das Subject gesetzt werden. Dies passiert über eine Konfigurationsdatei.
Diese wird beim Request generieren mit -config ext.cnf spezifiziert und beim Unterschreiben mit -extfile ext.cnf -extensions ext.cnf
RANDFILE = /dev/urandom
[ req ]
default_bits = 1024
default_keyfile = mycert.key
distinguished_name = req_distinguished_name
encrypt_key = no
prompt = no
string_mask = nombstr
x509_extensions = x509
[ req_distinguished_name ]
countryName = DE
localityName = Ravensburg
0.organizationName = Informatik- und Netzwerkverein e.V
organizationalUnitName = CERT
emailAddress = ssl-certificates@infnet.verein.de
[ x509 ]
basicConstraints = CA:false
keyUsage = digitalSignature,keyEncipherment,dataEncipherment
extendedKeyUsage = serverAuth,clientAuth
subjectAltName = DNS:mail.infnet.verein.de DNS:www.infnet.verein.de
Sei bsp.conf diese Konfiguration, dann also:
openssl req -new -config bsp.cnf -days 3650 -keyout my.key -out myreq.pem openssl x509 -req -in myreq.pem -out mycert.pem -CA cacert.pem -CAkey ca.key -CAcreateserial -days 365 -extfile bsp.cnf -extension x509