SSL-Zertifikate: Unterschied zwischen den Versionen

Aus Doku-Wiki
Zur Navigation springenZur Suche springen
Zeile 57: Zeile 57:
  
 
'''2.) Erzeugen des Zertifikat-Request'''
 
'''2.) Erzeugen des Zertifikat-Request'''
 +
openssl req -new -key www.mydomain.de.key -out www.mydomain.de.csr
 +
Nun folgen die Angaben, die später im Zertifikat angezeigt werden.
 +
- Country Name '''DE'''
 +
- State or Province '''Germany'''
 +
- City '''Karlsruhe'''
 +
- Organization Name '''Name der Firma'''
 +
- Organization Unit Name '''Abteilung'''
 +
- Widgets Common Name '''FQDN des Servers''' WICHTIG: Hier wird der Domainname der Website eingeragen
 +
- E-Mail Adresse '''Optional'''
  
 
+
Der erzeugte Request wird bei einer Root-Zertifizierungsstelle zur Signierung eingereicht.
 
 
 
 
 
[[Kategorie:Anwendungen]]
 
[[Kategorie:Anwendungen]]
 
[[Kategorie:Linux]]
 
[[Kategorie:Linux]]

Version vom 12. Juli 2007, 14:22 Uhr

Übersicht zum Thema SSL-Zertifikate

Es gibt zwei Möglichkeiten, wie man zu einem SSL-Zertifikat kommt.

  1. Offizielle Zertifizierungsstelle CA
  2. Eigene Zertifizierungsstelle CA
  • Um verschlüsselte Verbindung im Internet für Kunden anzubieten,
    sollte man ein Zertifikat bei einer offiziellen Zertifizierungsstelle kaufen.
    Das verhindert, dass der Kunden, der die Seite aufruft, Mmeldungen über ein Fehlerhaftes Zertifikat erhält.
  • Um verschlüsselte Verbindungen im internen Bereich anzubieten, kann amn sich die jährlichen Kosten für das offizielle Zertifikat sparen,
    wenn eine eigene Zertifizierungsstelle installiert wird. Dies ist unter Windows, wie auch unter Linux (sihe unten) möglich.

Eigene CA

Eine eigene CA zu installieren, gibt es unter Linux, wie immer, viele Möglichkeiten:

  1. [TinyCA]
  2. OpenSSL

In diese Doku wird auf die CA mittels OpenSSL eingegangen.

Installation

aptitude openssl

Verzeichnisse

  1. Konfiguration: /etc/ssl/
  2. Hilfs-Script: /usr/lib/ssl/misc/CA.sh
  • In der Datei /etc/ssl/openssl.cnf können Anpassungen für die eigene CA vorgenommen werden:
[ CA_default ]
dir             = ./MY-CA              # Where everything is kept
. . .
default_days    = 3650                 # how long to certify for
. . .
countryName                     = Country Name (2 letter code)
countryName_default             = DE

Wie hier zu sehen, kann jeder Wert der bei der Erstellung des Zertifikates abgefragt wird, mit einem Defaultwert vorbelegt werden.
Dazu wird in einer zweiten Zeile hinter den Wert (z.B. countryName) ein _default gesetz und mit eigenem Inhalt gefüllt.
OpenSSL bringt das Script CA.sh und CA.pl mit. Die Scripte sind gleich.

  • Setzt man folgenden Link auf dieses Script, kann es von überall aufgerufen werden:
ln -s /usr/lib/ssl/misc/CA.sh /usr/sbin

CA erstellen

# CA.sh -newca
  1. Es folgen nun abfragen zu den Eigenschalften der CA.
  2. Nach eingabe einer Phassphrase für die CA wird die CA im aktuellen Verzeichnis erstellt

Server-Zertifikat erstellen

Server-Request

# openssl req -newkey rsa:1024 -nodes -keyout newreq.pem -out newreq.pem

Hier müssen wieder Angaben zum Zertifikt gemacht werden.
WICHTIG: Es muss beim -Common Name (eg, YOUR name)- der Servername mit Domain angegeben werden.

Server-Request mit CA Zertifizieren

# CA.sh -sign

Mit diesem Befehl wird das Server-Zertifikat von der CA unterschrieben.

Extrahieren der Phassphrase aus dem Request

# openssl rsa -in newreq.pem -out Server01key.pem

Danach kann das Zertifikat newcert.pem in Server01cert.pem umbenannt werden,
so dass man später noch weiss, für welchen Server dass Zertifikat erstellt wurde.

# mv newcert.pem Server01cert.pem


Offizielle CA

Generierung des privaten Schlüssels

1.) Zuerst wird der private Schlüssel erstellt und mit einer Passphrase gesichert:

openssl genrsa -des3 1024 > www.mydomain.de.key

Dieser Key sollte gut gesichert werden, ohne Ihn ist das später erstellte Zertifikate wertlos

2.) Erzeugen des Zertifikat-Request

openssl req -new -key www.mydomain.de.key -out www.mydomain.de.csr

Nun folgen die Angaben, die später im Zertifikat angezeigt werden.

- Country Name DE
- State or Province Germany
- City Karlsruhe
- Organization Name Name der Firma
- Organization Unit Name Abteilung
- Widgets Common Name FQDN des Servers WICHTIG: Hier wird der Domainname der Website eingeragen
- E-Mail Adresse Optional

Der erzeugte Request wird bei einer Root-Zertifizierungsstelle zur Signierung eingereicht.