Under Construction

Optional: Erzeugen eines digitalen Zertifikats für Trusted Installation

Zunächst muss ein Private Key erzeugt werden. Im nachfolgenden Beispiel haben wir einen RSA-Key generiert. Es können aber auch andere Algorithmen verwendet werden:

$ openssl genrsa -aes128 -out private.pem
Enter PEM pass phrase: XXXXXXXXXX
Verifying - Enter PEM pass phrase: XXXXXXXXXX
$

Der Private Key sollte unbedingt mit Verschlüsselung erzeugt werden (wir haben hier AES128 für die Verschlüsselung ausgewählt). Der Key kann dann nur mit dem angegebenen Passphrase verwendet werden!

Hinweis: Über die Option „-passout“ kann der Passphrase auch auf der Kommandozeile angegeben werden, taucht aber dann im Klartext z.B. in der Ausgabe von „ps -ef“ auf!

Mit Hilfe des generierten Private Keys kann nun ein Certificate Signing Request (CSR) erzeugt werden:

$ openssl req -new -key private.pem -out cert.csr
Enter pass phrase for private.key: XXXXXXXXXX
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]:Bavaria
Locality Name (eg, city) []:Munich
Organization Name (eg, company) [Internet Widgits Pty Ltd]:PowerCampus 01
Organizational Unit Name (eg, section) []:Development
Common Name (e.g. server FQDN or YOUR name) []:powercampus.de  
Email Address []:

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

Mit dem erzeugten CSR cert.csr kann dann z.B. ein offizielles Zertifikat bei einem Zertifikats-Anbieter erworben werden. Man bekommt dann ein vom Anbieter signiertes Zertifikat zurück.

Alternativ kann ein selbst signiertes Zertifikat erzeugt werden:

$ openssl x509 -req -days 3650 -in cert.csr -signkey private.pem -out cert.pem
Enter pass phrase for private.key: XXXXXXXXXX
Certificate request self-signature ok
subject=C = DE, ST = Bavaria, L = Munich, O = PowerCampus 01, OU = Development, CN = powercampus.de
$

Hinweis: Das Zertifikat wird im PEM-Format erzeugt und in der Datei cert.pem abgespeichert.

Wird das Zertifikat nur für den Eigengebrauch benötigt, dann kann ein selbst signiertes Zertifikat ausreichend sein. Liefert man eigene Software im BFF Format aus, sollte zum Signieren der Filesets ein offizielles Zertifikat verwendet werden. Der Kunde hat dann die Möglichkeit das Zertifikat zu überprüfen.

Wird der Public-Key explizit benötigt, kann er entweder aus dem Zertifikat extrahiert werden:

$ openssl x509 -in cert.pem -pubkey -noout >public.pem
$

oder er kann aus dem Private-Key extrahiert werden:

$ openssl rsa -in private.pem -pubout >public.pem
Enter pass phrase for private.key: XXXXXXXXXX
writing RSA key
$

Verwendet man das Zertifikat zum Extrahieren, benötigt man keinen Passphrase.