Erstellung von einem SSL-Zertifikat

Aus netcup Wiki
Version vom 5. Dezember 2016, 09:26 Uhr von Y.lu (Diskussion | Beiträge) (Debian)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Zur Navigation springen Zur Suche springen

Hier möchte ich kurz erklären, wie Ihr für euren Server SSL-Zertifikate erstellen könnt.


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.

Ssl1.jpg

Es kann nun ausgewählt werden, wie groß euer Key werden soll, ich wähle 1024bit, wie es empfohlen ist :)

Ssl2.jpg

Nun muss ich ein bisschen warten:

Ssl3.jpg

und noch einen Augenblick :).

Ssl4.jpg

Nachdem ich im Moment nicht will, dass mein Zertifikat signiert wird, wähle ich hier No aus.

Ssl5.jpg

Ich fülle die Felder aus :)...

Ssl6.jpg

...und sage, dass ich meinen privaten Key nicht verschlüsseln will.

Ssl7.jpg

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.