SSL Zertifikate erstellen

Zertifikate gehören zu den Dingen, die man immer wieder braucht. Daher heute eine Zusammenfassung für die Erzeugung von SSL Zertifikaten, sowohl für den internen Gebrauch (also selbst signierten), als auch für die Zertifikatsbeantragung bei den offiziellen Anbietern.

Selbst signierte Zertifikate

1. Einen Schlüssel erzeugen

Der Schlüssel hat hier eine Länge von 4096 Bit – kürzer sollte es eigentlich heute nicht mehr sein, aber für eine Testumgebung würden auch 2048 reichen.

openssl genrsa -out key.pem 4096

2. Zertifikatsrequest (CSR=Certificate Signing Request) erzeugen

openssl req -new -sha256 -key key.pem -out request.pem

Dann müssen die Werte für das Zertifikat eingegeben werden.

Bei common name muß unbedingt der Name des Servers eingetragen werden, für den das Zertifikat gelten soll!

Country Name (2 letter code) [AU]:DE
State or Province Name (full name) [Some-State]:NW
Locality Name (eg, city) []:Duisburg
Organization Name (eg, company) [Internet Widgits Pty Ltd]:Firmenname
Organizational Unit Name (eg, section) []:Server Administration
Common Name (eg, YOUR name) []:server.example.de
Email Address []:postmaster@example.de
Please enter the following ‚extra‘ attributes
to be sent with your certificate request
A challenge password []:
An optional company name []:

 

3. Das eigentliche Zertifikat erzeugen und signieren

Die Anzahl der Tage die das Zertifikat gültig sein soll, hängt vom geplanten Zweck ab. Will man nur kurzfristig was testen reicht eine kurze Dauer, soll es aber z.B. für einen Testserver sein, der länger in Betrieb ist, kann man auch durchaus größere Werte wählen.

openssl x509 -req -sha256 -days 365 -in request.pem -signkey key.pem -out certificate.pem

 

Offizielles Zertifikat beantragen

Wenn ein offizielles Zertifikat beantragt werden soll, dann ist normalerweise nur der CSR nötig. Dieser wird dann bei der CA (z.B. Thawte, Geotrust, Startssl) eingetragen oder hochgeladen und damit wird dann das endgültige Zertifikat erzeugt. Ob das Zertifikat vor der Nutzung noch mit Zwischenzertifikaten (intermediate-Certificate) versehen werden muß, hängt von der genutzten CA ab, ist aber meistens so. Informationen dazu findet man bei der CA.

1. Einen Schlüssel erzeugen

Bei einigen Zertifikatanbietern, bzw. CA’s hat man auch die Möglichkeit, sich die Zertifikate auf Basis elliptischer Kurven (ECC) ausstellen zu lassen. Noch unterstützen leider nicht alle Betriebssysteme diese ECC Zertifikate, aber der Anteil wird steigen. Auf Systemen mit aktuellen OpenSSL Versionen funktioniert es aber einwandfrei.

ECC – Kleiner Exkurs
Diese Abkürzung steht für Elliptic Curve Cryptography und verspricht höhere Sicherheit und mehr Leistung, bei geringeren Schlüssellängen. Beispielsweise entspricht ein ECC-Schlüssel mit 256 Bit einem RSA-Schlüssel mit 3072-Bit. Damit eignet sich dieses neue Verfahren besonders für die Welt der Mobilgeräte, deren Ressourcen begrenzt sind. Denn je kürzer der eingesetzte Schlüssel ist, desto weniger Rechenleistung wird benötigt und somit steht die Verbindung zu Smartphones und Tablet-PCs schneller bereit.

Variante RSA – aktueller Standard
Bei Diensten, die über das Internet erreicht werden können, sollte der Schlüssel nicht kürzer als 4096 Bit sein.

openssl genrsa -out key.pem 4096

Variante ECC – Shootingstar

openssl ecparam -out key.pem -name prime256v1 -genkey

 

2. Den Zertifikatsrequest (CSR) erzeugen

openssl req -new -sha256 -key key.pem -out request.pem

Dann müssen die Werte für das Zertifikat eingegeben werden.

Bei common name muß unbedingt der Name des Servers eingetragen werden, für den das Zertifikat gelten soll!

Country Name (2 letter code) [AU]:DE
State or Province Name (full name) [Some-State]:NW
Locality Name (eg, city) []:Duisburg
Organization Name (eg, company) [Internet Widgits Pty Ltd]:Firmenname
Organizational Unit Name (eg, section) []:Server Administration
Common Name (eg, YOUR name) []:server.example.de
Email Address []:postmaster@example.de
Please enter the following ‚extra‘ attributes
to be sent with your certificate request
A challenge password []:
An optional company name []:

Dann wird die Datei request.pem oder ihr Inhalt, je nach CA, hochgeladen und das Zertifikat auf dieser Basis erstellt.

Hinterlasse eine Antwort

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

Du kannst diese HTML Tags und Attribute benutzen:

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>