Ein selbst signiertes Zertifikat ist ein Zertifikat, das SSL-Sitzungen zwischen Clients und dem Server ermöglicht,
während Sie auf das offiziell signierte Zertifikat von der Zertifizierungsstelle (CA) warten. Während dieses Prozesses
werden ein privater und ein öffentlicher Schlüssel erstellt.
Wenn Sie ein selbst signiertes Zertifikat erstellen, wird ein selbst signiertes
X509-Zertifikat in der angegebenen Schlüsseldatenbank generiert. Ein selbst signiertes Zertifikat
hat den Subjektnamen als Ausstellernamen.
Informationen zu diesem Vorgang
Gehen Sie wie folgt vor, wenn Sie als eigene CA für ein privates Webnetz auftreten. Verwenden Sie die
Befehlszeilenschnittstelle IKEYCMD oder das Tool GSKCapiCmd, um ein selbst signiertes Zertifikat zu erstellen.
Vorgehensweise
- Gehen Sie zum Erstellen eines selbst signierten Zertifikats mit der Befehlszeilenschnittstelle IKEYCMD wie folgt vor:
gskcmd -cert -create -db <Dateiname> -pw <Kennwort> -size <2048 | 1024 | 512> -dn <definierter_Name>
-label label> -default_cert <yes | no> - expire <days> -san dnsname <DNS-Name>[,<DNS-Name>]
-san emailaddr <E-Mail-Adresse>[,<E-Mail-Adresse>]
-san ipaddr <IP-Adresse>[,<IP-Adresse>][-ca <true | false>]
Für diese Angaben gilt Folgendes:- -cert gibt ein selbst signiertes Zertifikat an.
- -create gibt eine Erstellungsaktion an.
- -db <Dateiname> gibt den Namen einer Datenbank an.
- -pw <Kennwort> gibt das Kennwort für den Zugriff auf die Schlüsseldatenbank an.
- -dn <definierter_Name> gibt einen definierten X.500-Namen an.
Geben Sie den Namen als Zeichenfolge in Anführungszeichen im folgenden Format an (es sind nur CN, O und C
erforderlich): CN=allgemeiner_Name, O=Organisation, OU=Organisationseinheit, L=Standort,
ST=Staat, province, C=Land
Beispiel: "CN=weblinux.raleigh.ibm.com,O=IBM,OU=IBM
HTTP Server,L=RTP,ST=NC,C=US"
- -label <Kennsatz> ist ein beschreibender Kommentar für den Schlüssel und das Zertifikat in der Datenbank.
- -size <2048 | 1024 | 512> zeigt eine Schlüsselgröße von 2048, 1024 oder 512 an. Der Standardwert
für die Schlüsselgröße ist "1024". Die Schlüsselgröße "2048" ist verfügbar, wenn Sie Global Security Kit (GSKit) Version 7.0.4.14 und höher verwenden.
- -default_cert<yes | no> gibt an, ob das Zertifikat das Standardzertifikat in der Schlüsseldatenbank ist.
- -expire <Tage> gibt die Gültigkeit für das neue selbst signierte Zertifikat an. Standardmäßig sind neue
selbst signierte Zertifikate 365 Tage lang gültig. Die Mindestgültigkeit ist ein Tag. Die maximale Gültigkeit beträgt
7300 Tage (20 Jahre).
- -san * <alternativer Subjektname Attributwert> | <alternativer Subjektname Attributwert> gibt SAN-Erweiterungen in
der Zertifikatsanforderung an, die SSL-Clients über alternative Hostnamen informieren, die dem signierten Zertifikat entsprechen.
Diese
Optionen sind nur gültig, wenn die folgende Zeile in der Datei
ikminit.properties eingegeben wird.
DEFAULT_SUBJECT_ALTERNATE_NAME_SUPPORT=
true. Der Stern (*) kann die folgenden Werte haben:
- dnsname
- Der Wert muss anhand der so genannten bevorzugten Namenssyntax ("preferred name syntax") gemäß Spezifikation RFC 1034 formatiert werden, wie z. B. zebra.tek.ibm.com.
- emailaddr
- Der Wert muss als Adressangabe ("addr-spec") gemäß RFC 822 formatiert werden, wie z. B. myname@zebra.tek.ibm.com
- ipaddr
- Der Wert ist eine Zeichenfolge, die eine IP-Adresse mit einem Format gemäß den Spezifikationen
RFC 1338 und RFC 1519 angibt, wie z. B. 193.168.100.115.
Die Werte dieser Optionen werden im erweiterten Attribut für alternative Subjektnamen des generierten Zertifikats
kumuliert.
Wenn die Optionen nicht verwendet werden, wird dieses erweiterte Attribut nicht zum Zertifikat hinzugefügt.
- -ca <true | false> gibt die Erweiterung hinsichtlich der Nutzungseinschränkung für das selbst signierte Zertifikat an. Die
Erweiterung wird mit CA:true und PathLen:<max int> hinzugefügt, wenn der übergebene Wert zutreffend ist (true),
und sie wird nicht
hinzugefügt, wenn der übergebene Wert nicht zutreffend ist (false).
- Erstellen Sie ein selbst signiertes Zertifikat mit dem Tool GSKCapiCmd. GSKCapiCmd
ist ein Tool, das Schlüssel, Zertifikate und Zertifikatanforderungen in einer CMS-Schlüsseldatenbank verwaltet.
Abgesehen davon, dass GSKCapiCmd CMS- und PKCS11-Schlüsseldatenbanken unterstützt, besitzt das Tool alle Funktionen des bereits vorhandenen Java-Befehlszeilentools GSKit.
Wenn Sie andere Schlüsseldatenbanken als CMS- oder PKCS11-Datenbanken verwalten möchten, verwenden Sie das vorhandene Java-Tool.
Mit GSKCapiCmd können Sie alle Aspekte einer CMS-Schlüsseldatenbank verwalten. GSKCapiCmd setzt keine Installation von Java auf dem System voraus.
gskcapicmd -cert -create [-db <Name>]|[-crypto <Modulename> -tokenlabel <Tokenkennsatz>][-pw <Kennwort>]
-label <Kennsatz> -dn <definierter_Name> [-size <2048|1024|512>][-x509version <1|2|3>][-default_cert <yes|no>]
[-expire <days>][-secondaryDB <Dateiname> -secondaryDBpw <Kennwort>] [-ca <true|false>][-fips]
[-sigalg<md5|sha1|sha224|sha256|sha384|sha512>]
Anmerkung: Unter UNIX-Betriebssystemen empfiehlt es sich, Zeichenfolgewerte mit allen zugehörigen Tags in
Anführungszeichen ("") zu setzen. Außerdem müssen Sie für die folgenden Zeichen Escapezeichen setzen, wenn sie in den Zeichenfolgewerten vorkommen:
'!', '\', '"', '`'. Als Escape-Zeichen wird der umgekehrte Schrägstrich ('\') verwendet.
Die Escape-Zeichen verhindern, dass manche Befehlszeilen-Shells bestimmte Zeichen innerhalb dieser Werte interpretieren. Beispiel:
gsk7capicmd –keydb –create –db “/tmp/key.kdb” –pw “j\!jj”. Wenn
Sie vom Befehl "gsk7capicmd" aufgefordert werden, einen Wert (z. B. ein Kennwort) einzugeben, sollten Sie keine Anführungszeichen und keine Escape-Zeichen setzen,
weil die Shell keinen Einfluss mehr auf diese Eingabe hat.