Zum Inhalt

Zertifikat erstellen

Um ein Zertifikat zu erstellen, das zum Signieren von Dokumenten geeignet ist, benötigen Sie in der Regel eine Zertifizierungsstelle (Certificate Authority, CA), die Ihre Identität überprüft und das Zertifikat signiert. Dies ist wichtig, um sicherzustellen, dass das Zertifikat vertrauenswürdig ist und von anderen akzeptiert wird.

Es gibt jedoch auch die Möglichkeit, selbstsignierte Zertifikate zu erstellen, die in einigen Szenarien nützlich sein können, aber normalerweise nicht für den Einsatz in einer produktiven Umgebung empfohlen werden, da sie von anderen nicht automatisch als vertrauenswürdig angesehen werden.

Zum Erstellen von selbstsignierten Zertifikaten ist zum Beispiel das Programm OpenSSL erforderlich. Eine unter Windows lauffähige Version ist im Docuflair-Ordner, im Unterverzeichnis openssl, enthalten.

Hier ist eine allgemeine Anleitung, um ein selbstsigniertes Zertifikat zu erstellen:

1. Generierung eines privaten Schlüssels (KEY)

Zuerst müssen Sie einen privaten Schlüssel generieren. Dieser Schlüssel wird verwendet, um das Zertifikat zu signieren und sollte sicher aufbewahrt werden. Sie können beispielsweise OpenSSL verwenden, um einen privaten Schlüssel zu generieren:

openssl genrsa -out private.key 2048

Dieser Befehlt erstellt eine private Schlüsseldatei mit dem Namen private.key.

2. Erstellung einer Zertifikatsanforderung (CSR - Certificate Signing Request)

Mit dem privaten Schlüssel können Sie nun eine Zertifikatsanforderung erstellen. Diese Anforderung enthält Informationen wie den Common Name (CN) (normalerweise die Domain, der Name des Servers oder der Person, die das Zertifikat verwendet). Führen Sie den folgenden Befehl aus, um eine CSR zu erstellen:

openssl req -new -key private.key -out request.csr 

beziehungsweise, folgender Befehl, wenn Sie OpenSSL unter Windows verwenden (unter Umständen muss der Pfad zur Konfigurationsdatei angepasst werden):

openssl req -new -key private.key -out request.csr -config openssl.cnf

Dieser Befehl erstellt eine CSR-Datei mit dem Namen request.csr.

3. Selbstsignierung des Zertifikats

Verwenden Sie nun den privaten Schlüssel, um das Zertifikat selbst zu signieren. Hier ist ein Beispielbefehl:

openssl x509 -req -days 3650 -in request.csr -signkey private.key -out certificate.crt

Dieser Befehl erstellt ein selbstsigniertes Zertifikat mit dem Namen certificate.crt.

Nachdem Sie diesen Prozess durchlaufen haben, haben Sie ein selbstsigniertes Zertifikat erstellt. Bitte beachten Sie, dass selbstsignierte Zertifikate normalerweise nicht in Produktionsumgebungen verwendet werden sollten, da sie von anderen nicht automatisch als vertrauenswürdig angesehen werden. Wenn Sie ein Zertifikat benötigen, das von anderen akzeptiert wird, sollten Sie stattdessen eine Zertifizierungsstelle (CA) nutzen, um ein Zertifikat zu erhalten.

4. Zertifikatsdateien in PKCS12 Format umwandeln

Um das Zertifikat in ein PKCS12 Dateiformat umzunwandeln, benötigt man die weiter oben erstellten Dateien:

  • Die ".crt" Datei, das fertige Zertifikat.
  • Die ".key" Datei, der Privatekey welcher mit dem CSR erstellt wird und zu diesem Zertifikat gehört.

Optional kann hier auch ein Zwischenzertifikat (wenn verfügbar) mit eingebunden werden. Um das Zwischenzertifikat mit in die Pkcs12-Datei aufzunehmen, muss das Zertifikat mit einem Editor geöffnet werden. Fügen Sie hier nun unter dem PEM-Block des eigentlichen Zertifikates den des CA Zertifikates ein. Nun sollten je nach Zertifikatsanbieter zwei bis drei PEM-Textblöcke in der Datei enthalten sein.

Mit folgendem Befehl wird das Zertifikat (.crt) und der Privatekey (.key) mit openssl zu einer Datei zusammengefasst und als "p12" Datei gespeichert.

openssl pkcs12 -export -in certificate.crt -inkey private.key -out Docuflair.p12 

Die erzeugte p12 Datei enthält jetzt den privaten Schlüssel und das Zertifikat. Der Inhalt wird mit einem Passwort geschützt, das bei der Anwendung des Zertifikats abgefragt wird.