Skip to content

Linux Script - Serverzertifikat erstellen und selbst signieren

Nicht nur auf Produktivsystemen, sondern schon im Testumgebungen und erst recht im Intranet ist eine sichere Datenübertragung zwischen Geräten wichtig. Dazu werden Zertifikate benötigt. Für die Erstellung solcher Bescheinigungen ist unter Linux eigentlich nur ein Einzeiler notwendig.

Da dieser recht lang sein kann und bei einem selbstsignierten Zertifikate noch eine weiter Zeile hinzukommt, habe ich es mal auf die schnelle zusammengeschrieben. Zunächst muss aber das benötigte Paket installiert werden.

sudo apt-get install openssl

Im Folgenden wird eine Zertifikatsanfrage "server.csr" und eine privater Schlüssel mit 4096 Bit erstellt.

Die Gültigkeit beträgt 1825 Tage. 

Zusätzlich sind diverse Eingaben notwendig, wobei der Common Name am wichtigsten ist. Hier muss entweder die richtige IP Adresse oder der Domainname des Servers angegeben werden.

Serverzertifikat erstellen 


openssl req -newkey rsa:4096 -outform PEM -out server.csr -keyout server.key -keyform PEM -days 1825 -nodes

Generating a 4096 bit RSA private key

.++.........................................++

writing new private key to 'server.key'

-----

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]:US

State or Province Name (full name) [Some-State]:Hawaii 

Locality Name (eg, city) []:Honolulu

Organization Name (eg, company) [Internet Widgits Pty Ltd]:ITrig

Organizational Unit Name (eg, section) []:Test

Common Name (e.g. server FQDN or YOUR name) []:itrig.de

Email Address []:Mailadresse

Please enter the following 'extra' attributes

to be sent with your certificate request

A challenge password []:

An optional company name []:

Serverzertifikat selbst signieren 

Nun haben wir den ersten Schritt hinter uns und sollten eine "server.key" und eine "server.csr" im Verzeichnis liegen haben. Letztere kann nun zur einer offiziellen CA gesendet werden, was allerdings Geld kostet. Alternativ kann diese, gerade für Testzwecke, auch selbst signiert werden. Mit dem folgenden Befehl erhalten wir als Ausgabe ein fertiges Zertifikat "server.crt", welches auf "itrig.de" ausgestellt. ist.

openssl x509 -req -days 1825 -in server.csr -signkey server.key -out server.crt

Signature ok

subject=/C=DE/ST=Hawaii /L=Honolulu/O=ITrig/OU=Test/CN=itrig.de/emailAddress=Mailadresse

Getting Private key

Insgesamt eine recht leichte Übung, dennoch hier das Ganze noch einmal als fertiges Script. Das fertige Skript muss nach dem herunterladen noch entpackt "unzip" und mit "sudo chmod +x" ausführbar gemacht werden.

Download Script Serverzertifikat erstellen

Trackbacks

ITrig on : Linux Befehl - Zertifizierungsanforderung (CSR) auslesen oder decodieren

Show preview
Vor einiger Zeit hatte ich einen kleinen Beitrag zur SSL Zertfikaten geschrieben. Damals ging es um die Erstellung einer Anfrage und das eigene Signieren einer Zertifizierungsanforderung. Hin und wieder kann es jedoch vorkommen, dass genau diese CSR

ITrig on : Tomcat Server - selbsigniertes SSL Zertifikat erstellen

Show preview
Heute mal wieder etwas zum Thema Zertifikate. Hatten wir in letzter Zeit zwar schon öfters, siehe Zertifikat auslesen oder selbstsigniertes Zertifikat erstellen. Um Letzteres soll es heute ebenfalls gehen. Der Unterschied ist allerdings, das es heute um e

Comments

Display comments as Linear | Threaded

No comments

Add Comment

Enclosing asterisks marks text as bold (*word*), underscore are made via _word_.
E-Mail addresses will not be displayed and will only be used for E-Mail notifications.
Form options