Zertifikate erstellen (OpenSSL)

Aus MattWiki

Dieser Artikel beschäftigt sich damit, wie mit OpenSSL Schlüssel und Computer- oder Benutzer-Zertifikate erstellt werden können. Hierfür wird eine Zertifizierungsstelle benötigt.

Die Erstellung einer solchen, selbst signierten Zertifizierungsstelle, ist beschrieben in: Zertifizierungsstelle einrichten (OpenSSL)

Das Grundsätzliche Vorgehen zur Erstellung von Zertifikaten wird hier beschrieben: Grundlagen der PKI

Einsatzmöglichkeiten:

  • Serververbindungen mit TLS absichern (Computerzertifikate)
  • Clients für den Zugriff auf Server mit Zertifikat authentifizieren.

Computer-Zertifikat erstellen

Privaten Schlüssel erstellen

Privaten Schlüssel "cert.key" mit Schlüssellänge 2048 Byte erstellen:

cd /dir-to-ca/
openssl genrsa -out private/computer.key.pem 2048 
chmod 400 private/computer.key.pem

Wenn der Schlüssel für einen Webserver verwendet werden soll, dann empfiehlt es sich, auf den Parameter -aes256 zu verzichten, da sonst bei einem Serverneustart das Passwort abgefragt wird, und diese Frage üblicherweise kein User beantworten kann.

Es ist wichtig, als Common Name den Hostnamen des Servers einzugeben. Als Anhaltspunkt kann der Name verwendet werden, der im Browser für den Zugriff auf den Server verwendet wird. Dies kann der Servername im lokalen Netzwerk, der Full Qualified Domain Name (FQDN) oder die IP-Adresse des Servers sein.

Zertifizierungsanfrage erstellen

Zertifikatsanfrage (CSR = Certificate Signing Request) erstellen:

openssl req -new -key private/computer.key.pem -out csr/computer.csr.pem

Zertifikat signieren

Ein Zertifikat kann mit der minimal CA application "ca" erstellt werden:

openssl ca -notext -md sha256 -in csr/computer.csr.pem -out certs/computer.cert.pem

Alternativ kann es auch mit mit dem Mehrzweck-Zertifikatwerkzeug "X509" erstellt werden:

openssl x509 -req -in zertifikat.csr -CA ca-root.pem -CAkey ca-key.pem -CAcreateserial -out zertifikat-pub.pem -days 365 -sha512

Zugriffsrechte anpassen:

chmod 444 certs/computer.cert.pem

Zertifikat überprüfen

openssl x509 -noout -text -in certs/computer.cert.pem

Beim erstellten Zertifikat sollten folgende Informationen überprüft werden:

  • Signature Algorithm
  • Validity Not Before und Not After
  • Public Key Algorithm und Länge des Public Key
  • Issuer
  • Subject
  • X509v3 Extensions (v3_ca)

Diese können folgendermaßen ausgegeben werden: