Das Verfahren teilt sich in 3 Abschnitte:
- Privaten Schlüssel generieren
- Zertifikatrequest erzeugen
- Zertifikat erzeugen (lssen)
Der Privaten Schlüssel sollte gut aufbewahrt werden, wie auch die Passphrase, die bei der Erzeugung eingetragen wurde
Das Werkzeug hierfür ist openssl
# Private Key ohne Verschluesselung generieren
openssl genrsa -out privatekey.pem 4096
# Signing Request generieren
openssl req -batch -sha256 -new -key privatekey.pem -out csr.pem -subj "/C=DE/O=<MeineFirma>/OU=<MeineAbteilung>/CN=<FQDN-des-Servers>/emailAddress=<emailadresse-des-Webmasters>"
# Wenn keine Zertifizierungsstelle verfügbar, dann selbst signieren
openssl x509 -req -days 3650 -in csr.pem -signkey privatekey.pem -out certificate.pem
Key und Zertifikat können dann in den Webserver integriert werden.
Optional:
#Passphrase setzen oder aendern
mv privatekey.pem privatekey.pem.original
openssl rsa -aes256 -in privatekey.pem.original -out privatekey.pem
# Als PKCS12 exportieren
openssl pkcs12 -aes256 -export -inkey privatekey.pem -in certificate.pem -out complete.p12
In der Apache-Konfiguration werden Key und Zertifikat in der Host-Konfiguration eingetragen.
Beispiel:
NameVirtualHost *:443
<VirtualHost *:443>
ServerAdmin<mailadresse des webmasters>
SSLEngine on
SSLCipherSuite ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP:+eNULL
SSLCertificateFile /etc/apache2/ssl/certificate.pem
SSLCertificateKeyFile /etc/apache2/ssl/privatekey.pem