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