CSR für Apache mit modSSL generieren: Unterschied zwischen den Versionen

Aus SSLplus
Zur Navigation springen Zur Suche springen
Keine Bearbeitungszusammenfassung
Keine Bearbeitungszusammenfassung
 
(24 dazwischenliegende Versionen von 4 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
Um einen [[CSR]] zu generieren, müssen Sie zunächst ein Schlüsselpaar für Ihren Server generieren. Der [[CSR]] und das Schlüsselpaar können nicht getrennt genutzt werden. Wenn Sie Ihr Schlüsselpaar verlieren, oder das Kennwort, dass bei der Generierung des Schlüsselpaars genutzt wurde und ein neues Schlüsselpaar generieren, wird das Zertifikat nicht länger zu dem Schlüsselpaar passen. Daher muss in diesem Fall ein Ersatz erzeugt werden. (siehe -> [[Reissue]])
Um einen [[CSR]] zu generieren, müssen Sie zunächst ein Schlüsselpaar für Ihren Server erstellen. Der [[CSR]] und das Schlüsselpaar können nicht getrennt genutzt werden. Wenn Sie Ihr Schlüsselpaar oder das Kennwort, dass bei der Erstellung des Schlüsselpaares genutzt wurde, verlieren und ein neues Schlüsselpaar generieren müssen, wird das Zertifikat nicht länger zu dem Schlüsselpaar passen. Daher muss in diesem Fall ein Ersatz erzeugt werden. (siehe -> [[Reissue]])


=== Schritt 1: ===
= Schritt 1: Vorbereitung =


ANMERKUNG: Standardeinstellung ist häufig eine Schlüssellänge von 1024 Bit, allerdings wird dringend empfohlen, eine minimale Schlüssellänge von  2048 Bit zu verwenden. Bei einigen EV- und Organisationsvalidierten Produkten ist eine Schlüssellänge 2048 Bit vorgeschrieben.
ANMERKUNG: Standardeinstellung ist häufig eine Schlüssellänge von 1024 Bit, allerdings wird dringend empfohlen, eine minimale Schlüssellänge von  2048 Bit zu verwenden. Bei einigen [https://icertificate.eu/wiki/Was_ist_Extended_Validation EV-] und Organisationsvalidierten Produkten ist eine Schlüssellänge 2048 Bit vorgeschrieben.


Für die Generierung von Schlüssel und [[:Glossar-url:CSR]] wird [[OpenSSL]] verwendet. Das OpenSSL-Paket enthält alle notwendigen Programme, diese sind für gewöhnlich unter <code>/usr/bin</code> oder <code>/usr/local/bin</code> installiert.
Für die Generierung von Schlüssel und [[CSR]] wird [[OpenSSL]] verwendet. Das OpenSSL-Paket enthält alle notwendigen Programme, welche für gewöhnlich unter <code>/usr/bin</code> oder <code>/usr/local/bin</code> installiert sind.


Geben Sie den folgenden Befehl auf der Shell ein:
Geben Sie den folgenden Befehl auf der Shell ein:


<code>
  openssl genrsa -out www.yourdomain-example.com.key 2048
</code>


Um ein verschlüsseltes Key-Pair zu erzeugen, verwenden Sie bitte diesen Befehl:
<source lang=bash>
openssl genrsa -out www.yourdomain-example.com.key 2048
</source>
 
 
Um alternativ ein verschlüsseltes Key-Pair zu erzeugen, verwenden Sie bitte diesen Befehl:
 
 
<source lang=bash>
openssl genrsa -des3 -out www.yourdomain-example.com.key 2048
</source>


<code>
  openssl genrsa -des3 -out www.yourdomain-example.com.key 2048
</code>


Die Befehle erzeugen 2048 Bit langes Schlüsselpaar und speichern diese in der Datei '''www.yourdomain-example.com.key''', diese wird im gleichen Verzeichnis gespeichert, in dem der Befehl ausgeführt wurde.
Die Befehle erzeugen ein 2048 Bit langes Schlüsselpaar und speichern diese in der Datei '''www.yourdomain-example.com.key'''. Diese Datei wird im gleichen Verzeichnis gespeichert, in dem der Befehl ausgeführt wurde.


Wenn Sie gebeten werden, ein Passwort einzugeben, geben Sie ein sicheres Kennwort ein und sichern Sie dieses, da es den Schlüssel schützt. Sowohl Schlüssel, als auch Zertifikat werden benötigt um SSL verwenden zu können.
Wenn Sie gebeten werden ein Passwort einzugeben, geben Sie ein sicheres Kennwort ein und sichern Sie dieses, da dieses den Schlüssel schützt. Sowohl Schlüssel, als auch Zertifikat werden benötigt um SSL verwenden zu können.


ANMERKUNG: Um das Kennwort zu umgehen, verwenden Sie die Option -des3 nicht. Jetzt wird der Schlüssel nicht geschützt, bzw verschlüsselt gespeichert. In diesem Fall sollte der Zugriff auf den Schlüssel auf vertrauenswürdige Personen beschränkt werden.
ANMERKUNG: Um das Kennwort zu umgehen, verwenden Sie die Option -des3 nicht. Jetzt wird der Schlüssel nicht geschützt, bzw. verschlüsselt gespeichert. In diesem Fall sollte der Zugriff auf den Schlüssel auf vertrauenswürdige Personen beschränkt werden.


=== Schritt 2: Generieren des CSR ===
= Schritt 2: Generieren des CSR =


Geben Sie in der Shell folgenden Befehl ein:
Geben Sie in der Shell folgenden Befehl ein:


<code>
<code>
  openssl req -new \
openssl req -new \
  -key www.yourdomain-example.com.key \
-key www.yourdomain-example.com.key \
  -out www.yourdomain-example.com.csr  
-out www.yourdomain-example.com.csr -sha256
</code>
</code>


Wenn Sie das Schlüsselpaar mit der -des3 Option gesichert haben, werden Sie nun um Eingabe des Passwortes gebeten.
Wenn Sie das Schlüsselpaar mit der -des3 Option gesichert haben, werden Sie nun um Eingabe des Passwortes gebeten.


Anschliessend werden die [[X.509]] Attribute des Zertifikates abgefragt.
Anschließend werden die [[X.509]] Attribute des Zertifikates abgefragt.


'''Country Name:''' Geben Sie hier bitte den 2-Buchstaben Ländercode.
'''Country Name:''' Geben Sie hier bitte den 2-Buchstaben Ländercode ein.


'''State or Province:''' Geben Sie hier bitte den Namen des betreffenden Bundeslandes ein.
'''State or Province:''' Geben Sie hier bitte den Namen des betreffenden Bundeslandes ein.
Zeile 53: Zeile 59:
Zertifikate können nur auf den Webservern verwendet werden, auf denen der Common Name betrieben wird. So erhalten Sie beispielsweise eine Warnung, wenn Sie ein Zertifikat, das für ''"domain.tld"'' ausgestellt wurde, für den CN ''"secure.domain.tld"'' verwenden, da dieser Name nicht im Zertifikat enthalten ist.
Zertifikate können nur auf den Webservern verwendet werden, auf denen der Common Name betrieben wird. So erhalten Sie beispielsweise eine Warnung, wenn Sie ein Zertifikat, das für ''"domain.tld"'' ausgestellt wurde, für den CN ''"secure.domain.tld"'' verwenden, da dieser Name nicht im Zertifikat enthalten ist.


'''Email Address:''' Bitte geben Sie hier Ihre Email-Adresse ein.
'''Email Address:''' Bitte geben Sie hier Ihre E-Mail-Adresse ein.


Die Angaben '''A challenge password''' und '''An optional company name''' sind optional und können ausgelassen werden.
Die Angaben '''A challenge password''' und '''An optional company name''' sind optional und können ausgelassen werden.


Das Schlüsselpaar ist nun fertig angelegt worden. Der Private Schlüssel wird auf dem Server gespeichert und dient der Entschlüsselung. Der öffentliche Teil/Schlüssel befindet sich im [CSR], und wird bei der Zertifikatsausstellung verwendet.
Das Schlüsselpaar ist nun fertig angelegt worden. Der Private Schlüssel wird auf dem Server gespeichert und dient der Entschlüsselung. Der öffentliche Teil/Schlüssel befindet sich im [[CSR]] und wird bei der Zertifikatsausstellung verwendet.


Kopieren Sie bei der Ausstellung den Inhalt der Datei <code>www.yourdomain-example.com.csr</code> vollständig in das entsprechende Textfeld. Bitte verwenden Sie für das Öffnen der Datei einen Textedito wie Notepad, vi oder ähnliche. Verwenden Sie nicht Word oder andere Textverarbeitungsprogramme, da es sein könnte, dass hier Zeichen versteckt werden und so der Inhalt des CSR verändert und dieser ungültig wird.
Kopieren Sie bei der Ausstellung den Inhalt der Datei <code>www.yourdomain-example.com.csr</code> vollständig in das entsprechende Textfeld. Bitte verwenden Sie für das Öffnen der Datei einen Texteditor wie Notepad, vi oder ähnliche. Verwenden Sie nicht Word oder andere Textverarbeitungsprogramme, da es sein könnte, dass hier Zeichen versteckt werden und so der Inhalt des CSR verändert und dieser ungültig wird.


=== Schritt 3: Backup des privaten Schlüssels ===
= Schritt 3: Backup des privaten Schlüssels =


Es wird dringend empfohlen ein Backup des privaten Schlüssels anzulegen und das dazugehörige Kennwort sicher zu speichern. Eine gute Lösung ist dabei die Verwendung eines Wechselmediums (CD, DVD, USB-Stick). Auch wenn es nicht zwingend erforderlich ist, den Schlüssel zu sichern, so kann es doch im Falle eines Serverversagens hilfreich sein, auf ein Backup zurückgreifen zu können.
Es wird dringend empfohlen ein Backup des privaten Schlüssels anzulegen und das dazugehörige Kennwort sicher zu speichern. Eine gute Lösung ist dabei die Verwendung eines Wechselmediums (CD, DVD, USB-Stick). Auch wenn es nicht zwingend erforderlich ist, den Schlüssel zu sichern, so kann es doch im Falle eines Serverversagens hilfreich sein, auf ein Backup zurückgreifen zu können.

Aktuelle Version vom 15. Dezember 2015, 11:11 Uhr

Um einen CSR zu generieren, müssen Sie zunächst ein Schlüsselpaar für Ihren Server erstellen. Der CSR und das Schlüsselpaar können nicht getrennt genutzt werden. Wenn Sie Ihr Schlüsselpaar oder das Kennwort, dass bei der Erstellung des Schlüsselpaares genutzt wurde, verlieren und ein neues Schlüsselpaar generieren müssen, wird das Zertifikat nicht länger zu dem Schlüsselpaar passen. Daher muss in diesem Fall ein Ersatz erzeugt werden. (siehe -> Reissue)

Schritt 1: Vorbereitung

ANMERKUNG: Standardeinstellung ist häufig eine Schlüssellänge von 1024 Bit, allerdings wird dringend empfohlen, eine minimale Schlüssellänge von 2048 Bit zu verwenden. Bei einigen EV- und Organisationsvalidierten Produkten ist eine Schlüssellänge 2048 Bit vorgeschrieben.

Für die Generierung von Schlüssel und CSR wird OpenSSL verwendet. Das OpenSSL-Paket enthält alle notwendigen Programme, welche für gewöhnlich unter /usr/bin oder /usr/local/bin installiert sind.

Geben Sie den folgenden Befehl auf der Shell ein:


<source lang=bash> openssl genrsa -out www.yourdomain-example.com.key 2048 </source>


Um alternativ ein verschlüsseltes Key-Pair zu erzeugen, verwenden Sie bitte diesen Befehl:


<source lang=bash> openssl genrsa -des3 -out www.yourdomain-example.com.key 2048 </source>


Die Befehle erzeugen ein 2048 Bit langes Schlüsselpaar und speichern diese in der Datei www.yourdomain-example.com.key. Diese Datei wird im gleichen Verzeichnis gespeichert, in dem der Befehl ausgeführt wurde.

Wenn Sie gebeten werden ein Passwort einzugeben, geben Sie ein sicheres Kennwort ein und sichern Sie dieses, da dieses den Schlüssel schützt. Sowohl Schlüssel, als auch Zertifikat werden benötigt um SSL verwenden zu können.

ANMERKUNG: Um das Kennwort zu umgehen, verwenden Sie die Option -des3 nicht. Jetzt wird der Schlüssel nicht geschützt, bzw. verschlüsselt gespeichert. In diesem Fall sollte der Zugriff auf den Schlüssel auf vertrauenswürdige Personen beschränkt werden.

Schritt 2: Generieren des CSR

Geben Sie in der Shell folgenden Befehl ein:


openssl req -new \ -key www.yourdomain-example.com.key \ -out www.yourdomain-example.com.csr -sha256


Wenn Sie das Schlüsselpaar mit der -des3 Option gesichert haben, werden Sie nun um Eingabe des Passwortes gebeten.

Anschließend werden die X.509 Attribute des Zertifikates abgefragt.

Country Name: Geben Sie hier bitte den 2-Buchstaben Ländercode ein.

State or Province: Geben Sie hier bitte den Namen des betreffenden Bundeslandes ein.

Locality Name: Geben Sie hier bitte den Namen der betreffenden Stadt ein.

Company: Geben Sie hier bitte den Namen der betreffenden Firma ein.

Organizational Unit: Diese Angabe ist optional, für gewöhnlich wird hier die Abteilung erfasst, von welcher der Request erzeugt wird.

Common Name: Bitte geben Sie hier den primären Hostnamen ein, der in das Zertifikat eingetragen werden soll (zB www.domain.tld), bei Wildcard Zertifikaten sieht der CN/Common Name gewöhnlich wie folgt aus: *.domain.tld

Zertifikate können nur auf den Webservern verwendet werden, auf denen der Common Name betrieben wird. So erhalten Sie beispielsweise eine Warnung, wenn Sie ein Zertifikat, das für "domain.tld" ausgestellt wurde, für den CN "secure.domain.tld" verwenden, da dieser Name nicht im Zertifikat enthalten ist.

Email Address: Bitte geben Sie hier Ihre E-Mail-Adresse ein.

Die Angaben A challenge password und An optional company name sind optional und können ausgelassen werden.

Das Schlüsselpaar ist nun fertig angelegt worden. Der Private Schlüssel wird auf dem Server gespeichert und dient der Entschlüsselung. Der öffentliche Teil/Schlüssel befindet sich im CSR und wird bei der Zertifikatsausstellung verwendet.

Kopieren Sie bei der Ausstellung den Inhalt der Datei www.yourdomain-example.com.csr vollständig in das entsprechende Textfeld. Bitte verwenden Sie für das Öffnen der Datei einen Texteditor wie Notepad, vi oder ähnliche. Verwenden Sie nicht Word oder andere Textverarbeitungsprogramme, da es sein könnte, dass hier Zeichen versteckt werden und so der Inhalt des CSR verändert und dieser ungültig wird.

Schritt 3: Backup des privaten Schlüssels

Es wird dringend empfohlen ein Backup des privaten Schlüssels anzulegen und das dazugehörige Kennwort sicher zu speichern. Eine gute Lösung ist dabei die Verwendung eines Wechselmediums (CD, DVD, USB-Stick). Auch wenn es nicht zwingend erforderlich ist, den Schlüssel zu sichern, so kann es doch im Falle eines Serverversagens hilfreich sein, auf ein Backup zurückgreifen zu können.