Eigenes SSL Zertifikat erstellen und kostenlos selbst signieren

Nach knapp einem Jahr war es wieder so weit – ich brauchte ein neues SSL Zertifikat für eine interne HTTPS Verbindung.
Da diese nur intern läuft, reicht es völlig aus für diese „nur“ ein selbst gebautes Zertifikat zu benutzen.

Damit ich das nächste mal nicht wieder so lange suchen muss wie man ein Zertifikat erstellt, schreibe ich es hier nieder.
Das ganze habe ich mit einem OpenSSL unter einem Debian erstellt – funktioniert aber sicherlich auch unter Windows so.

1. Erstelen eines SSL Keys:

root@Web02 ~/cert> openssl genrsa -out fbssl.key 1024
Generating RSA private key, 1024 bit long modulus
...++++++
..............................................++++++
e is 65537 (0x10001)

root@Web02 ~/cert> ls
fbssl.key

2. Anschließend mit diesem Key ein Signing Request generieren:

root@Web02 ~/cert> openssl req -new -key fbssl.key -out fbssl.csr
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]:Bremen
Locality Name (eg, city) []:Bremen
Organization Name (eg, company) [Internet Widgits Pty Ltd]:frickelblog.de
Organizational Unit Name (eg, section) []:Social Media
Common Name (eg, YOUR name) []:Sven Schmalle
Email Address []:sven@frickelblog.de

Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:
An optional company name []:

root@Web02 ~/cert> ls
fbssl.csr fbssl.key

3. Als letztes muss das Zertifikat noch signiert werden:

root@Web02 ~/cert> openssl x509 -req -days 3650 -in fbssl.csr -signkey fbssl.key -out v.crt
Signature ok
subject=/C=DE/ST=Bremen/L=Bremen/O=frickelblog.de/OU=Social Media/CN=Sven Schmalle/emailAddress=sven@frickelblog.de
Getting Private key

root@Web02 ~/cert> ls
fbssl.crt fbssl.csr fbssl.key

Anmerkung: in diesem Beispiel wurde mit der option „-days 3650“ angegeben das das Zertifikat eine Gültigkeit von 3650 Tage ab Heute hat (also knapp 10 Jahre).

Wenn alles funktioniert hat, hat man die 3 Dateien (fbssl.crt / fbssl.csr / fbssl.key) erhalten.
Die fbssl.crt und die fbssl.key könnte man jetzt in einen Apache bauen und eine SSL Verbindung darüber laufen lassen.

leave your comment


*

Unterstütze den Frickelblog!