In unserem Podcast diskutiert Thomas Bahn über Nutzen, Anwendungen und Erfahrungen aus den Bereichen Chatbots und Künstliche Intelligenz. Mehr erfahren

Zweistufige CA-Infrastruktur: CA in Java-Keystore importieren

von Thomas,
assono GmbH, Standort Kiel,

Wenn man Java-Programme schreibt, die zum Beispiel REST APIs oder Web Services TLS-geschützt aufrufen wollen und der Server mit einem unserer Zertifikate ausgestattet ist, dann sollte die JVM auch unseren Zertifikaten vertrauen, damit es einfach klappt.

Das zeige ich hier anhand einer JVM der Version 8, so wie sie in einem aktuellen Domino V11-Server läuft, aber der Vorgang lässt sich leicht auf andere Versionen übertragen.

Der Standard-Keystore einer JVM ist in der Datei {JVM-Pfad}/lib/security. Bei Java liegt mit keytool das passende Werkzeug bei, um den Schlüsselspeicher zu verwalten, u.a. um neue Zertifikate zu importieren. Das Standard-Kennwort beim Java-Keystore ist: changeit

Beispiel hier: Die JVM eines Domino V11-Servers unter Linux unter /opt/hcl, die Zertifikate liegen unter /local/assono-ca.

Zertifikate importieren

Zunächst importieren wir das Root-Zertifikat:

cd /opt/hcl/domino/notes/latest/linux/jvm
bin/keytool -trustcacerts -keystore lib/security/cacerts -import -alias assono -file /local/assono-ca/root/assono-cert.pem
Geben Sie das Schlüsselspeicherkennwort ein:
Eigner: EMAILADDRESS=tbahn@assono.de, CN=assono, O=assono GmbH, L=Schnwentinental, ST=Schleswig-Holstein, C=DE
Aussteller: EMAILADDRESS=tbahn@assono.de, CN=assono, O=assono GmbH, L=Schnwentinental, ST=Schleswig-Holstein, C=DE
Seriennummer: 6c9058673ba9438d10151a2cbd42b224955a5924
Gültig von: 07.07.20 11:35 bis: 02.07.40 11:35
Fingerabdrücke des Zertifikats:
				 MD5:	01:23:EC:E0:C4:38:59:07:5C:45:71:9F:A4:CA:37:B9
				 SHA1: 1B:5D:DB:16:7B:51:8D:DF:D2:20:84:44:42:A8:B5:01:55:B2:0B:61
				 SHA256: E5:49:5A:B2:34:03:C1:DA:51:0F:6F:D8:59:6A:34:F4:91:10:A9:3E:92:CA:4E:EF:DE:32:EB:FB:0B:B0:BA:4C
				 Signaturalgorithmusname: SHA256withRSA
				 Version: 3
Erweiterungen:
#1: ObjectId: 2.5.29.35 Criticality=false
AuthorityKeyIdentifier [
KeyIdentifier [
0000: 41 aa 79 f1 2e af 42 10	11 bb 33 8b 32 da a8 b5	A.y...B...3.2...
0010: 49 64 f6 43																				Id.C
]
]
#2: ObjectId: 2.5.29.14 Criticality=false
SubjectKeyIdentifier [
KeyIdentifier [
0000: 41 aa 79 f1 2e af 42 10	11 bb 33 8b 32 da a8 b5	A.y...B...3.2...
0010: 49 64 f6 43																				Id.C
]
]
#3: ObjectId: 2.5.29.19 Criticality=true
BasicConstraints:[
CA:true
PathLen:2147483647
]
Soll dieses Zertifikat anerkannt werden? [nein]:	ja
Das Zertifikat wurde im Schlüsselspeicher hinzugefügt.

Dann das Intermediate-CA-Zertifikat:

bin/keytool -trustcacerts -keystore lib/security/cacerts -import -alias servers.assono -file /local/assono-ca/servers/servers-cert.pem
Geben Sie das Schlüsselspeicherkennwort ein:
Das Zertifikat wurde im Schlüsselspeicher hinzugefügt.

Und wie üblich noch einmal kontrollieren:

bin/keytool -keystore lib/security/cacerts -list
Geben Sie das Schlüsselspeicherkennwort ein:
Schlüsselspeichertyp: jks
Schlüsselspeicherprovider: IBMJCE
Der Schlüsselspeicher enthält Einträge 92
[…]
servers.assono, 07.07.2020, trustedCertEntry,
Elektronischer Fingerabdruck des Zertifikats (SHA1): 26:A9:DA:0C:54:FC:71:14:CF:34:96:F3:C6:6A:6E:14:29:04:46:1A
[…]
assono, 07.07.2020, trustedCertEntry,
Elektronischer Fingerabdruck des Zertifikats (SHA1): 1B:5D:DB:16:7B:51:8D:DF:D2:20:84:44:42:A8:B5:01:55:B2:0B:61
[…]

Der Keystore der JVM enthielt schon vor unseren Importen 90 Zertifikate, und um die beiden neuen zu finden, darf man etwas suchen.

In der nächsten Folge geht es dann um den Sametime Proxy Server, der auf einem Apache HTTP Server basiert. Auch dort werden wir das keytool wieder benutzen, aber diesmal werden wir damit einen neuen Schlüssel und einen CSR erstellen, und kommen dann auf openssl zum Signieren zurück.

Nächste Artikel in dieser Reihe:

Fachbeitrag HCL Domino Sicherheit Administration Für Entwickler

Sie haben Fragen zu diesem Artikel? Kontaktieren Sie uns gerne: blog@assono.de

Sie haben Interesse an diesem Thema?

Gerne bieten wir Ihnen eine individuelle Beratung oder einen Workshop an.

Kontaktieren Sie uns

Weitere interessante Artikel

Sie haben Fragen?

Wenn Sie mehr über unsere Angebote erfahren möchten, können Sie uns jederzeit kontaktieren. Gerne erstellen wir eine individuelle Demo für Sie.

assono GmbH

Standort Kiel (Zentrale)
assono GmbH
Lise-Meitner-Straße 1–7
24223 Schwentinental

Standort Hamburg
assono GmbH
Bornkampsweg 58
22761 Hamburg

Telefonnummern:
Zentrale: +49 4307 900 416
Vertrieb: +49 4307 900 402

E-Mail-Adressen:
kontakt@assono.de
bewerbung@assono.de