Erstellung von einem SSL-Zertifikat
Hier möchte ich kurz erklären, wie Ihr für euren Server SSL-Zertifikate erstellen könnt.
Inhaltsverzeichnis
Zertifikate erstellen
CentOS
Hinweis: Falls du für das Erstellen eines SSL-Zertifikates nicht crypto-utils installieren oder verwenden willst, kannst du auch mit der Anleitung für Debian fortfahren.
Als erstes brauche ich das Paket crypto-utils
# yum install crypto-utils
Nun möchte ich für die domain example.com ein SSL-Zertifikat bekommen.
# genkey example.com
Man sieht nun Auswahlfenster, in dem ich bestätige, dass ich fortfahren will.
Es kann nun ausgewählt werden, wie groß euer Key werden soll, ich wähle 1024bit, wie es empfohlen ist :)
Nun muss ich ein bisschen warten:
und noch einen Augenblick :).
Nachdem ich im Moment nicht will, dass mein Zertifikat signiert wird, wähle ich hier No aus.
Ich fülle die Felder aus :)...
...und sage, dass ich meinen privaten Key nicht verschlüsseln will.
Debian
Zuerst wird openssl benötigt, falls es noch nicht vorhanden ist:
aptitude install openssl
Du gibst nun
# openssl req -new > example.com.csr
in die Konsole ein, danach ein Passwort für deinen privaten Key (ohne Satzzeichen und Sonderzeichen), welches du dir merken solltest, weil du es nachher noch brauchen wirst. Common Name muss unbedingt der Name deiner Domain sein, ansonsten ist der Rest optional. Falls du nichts eingibst, wird der Wert verwendet, der in den [eckingen] Klammern ist.
Generating a 1024 bit RSA private key .......++++++ ......++++++ writing new private key to 'privkey.pem' Enter PEM pass phrase: Verifying - Enter PEM pass phrase: Verify failure Enter PEM pass phrase: Verifying - Enter PEM pass phrase: ----- You are about to be asked to enter information that will be incorporated into your certificate request. What you are about to enter is what is called a Distinguished Name or a DN. There are quite a few fields but you can leave some blank For some fields there will be a default value, If you enter '.', the field will be left blank. ----- Country Name (2 letter code) [AU]:DE State or Province Name (full name) [Some-State]:Deutschland Locality Name (eg, city) []:Muenchen Organization Name (eg, company) [Internet Widgits Pty Ltd]:Daheim AG Organizational Unit Name (eg, section) []: Common Name (eg, YOUR name) []:example.com Email Address []: Please enter the following 'extra' attributes to be sent with your certificate request A challenge password []: An optional company name []:
Als nächstes
# openssl rsa -in privkey.pem -out example.com.key
eingeben, danach folgt die Eingabe des vorher eingegebenen Passworts:
Enter pass phrase for privkey.pem: writing RSA key
Nun muss nur noch
# openssl x509 -in example.com.csr -out example.com.cert -req -signkey example.com.key
eingegeben werden.
Signature ok subject=/C=DE/ST=Deutschland/L=Muenchen/O=Daheim AG/CN=example.com Getting Private key
Beispiel-Einträge
Apache - httpd.conf
Nachdem ich jetzt mein SSL-Zertifikat erstellt habe, will ich z.B. meine Internetseite auch via SSL zugänglich machen. Daher erstelle ich in der httpd.conf einen weiteren VirtualHost:
<VirtualHost example.com:443> SSLEngine on SSLCertificateFile /pfad/zu/deiner/example.com.cert SSLCertificateKeyFile /pfad/zu/deiner/example.com.key DocumentRoot /dein/wwwroot ServerName example.com </VirtualHost>
Wenn du noch keinen VirtualHost hast, musst du, wenn du auch weiterhin Zugriffe über http gestatten willst noch einen VirtualHost anlegen:
<VirtualHost example.com:80> DocumentRoot /dein/wwwroot ServerName example.com </VirtualHost>
Dovecot - dovecot.conf
ssl_cert_file = /pfad/zu/deiner/example.com.cert ssl_key_file = /pfad/zu/deiner/example.com.key
Postfix - main.cf
smtpd_tls_cert_file = /pfad/zu/deiner/example.com.cert smtpd_tls_key_file = /pfad/zu/deiner/example.com.key
Bei anderen Diensten ist die Einrichtung ähnlich.
Eingesendet von Dominik F.