1. Start
  2. Unternehmen
  3. Blog
  4. Verwendung von externen Zertifikaten im Oracle Wallet

Verwendung von externen Zertifikaten im Oracle Wallet

Für sichere Oracle Datenbankverbindungen stehen grundsätzlich zwei Möglichkeiten zur Verfügung: Entweder wird die native Verschlüsselung über SQL*Net genutzt oder es kommt der Industriestandard Transport Layer Security (TLS) zum Einsatz. Letzteres war früher ausschließlich mit der Advanced Security Option verfügbar, kann inzwischen jedoch auch ohne diese Option genutzt werden und steht somit ebenfalls für Datenbanken der Oracle Standard Edition zur Verfügung.

Bei neuen Projekten (und selbstverständlich auch für bestehende Infrastrukturen) sollte die Verschlüsselung der Kommunikationskanäle grundsätzlich berücksichtigt werden. Für Webanwendungen ist dies mittlerweile selbstverständlich und auch für Datenbankverbindungen gilt: Sobald sensible Daten über ein Netzwerk übertragen werden, sollte die Kommunikation verschlüsselt erfolgen. Andernfalls besteht die Gefahr, dass Personen mit Zugriff auf den Datenstrom einer TCP-Verbindung sensible Informationen einsehen können und dies findet sicher nicht nur Ihr IT-Sicherheitsbeauftragter inakzeptabel.

Die Aktivierung von TLS ist in vielen Fällen relativ unkompliziert, sofern man dem üblichen Prozess befolgt und eine Certificate Signing Request (CSR) erstellt. In einem meiner Kundenprojekte wurde dieser Ansatz bereits erfolgreich umgesetzt. Das von der Zertifizierungsstelle des Kunden (CA) ausgestellte Zertifikat funktionierte über ein Jahr hinweg problemlos.

Rechtzeitig vor Ablauf der Gültigkeitsdauer dieses Zertifikats musste ein Neues im Connection Manager installiert werden und der Kunde stellte uns bereits im Vorfeld neue zur Verfügung. Beim Versuch, das neue Zertifikat zu importieren, in der Annahme, dass die CSR aus dem Vorjahr erneut verwendet wurde, erhielten wir jedoch folgende Fehlermeldung (nachgestellt auf einem Testsystem):

 

$ orapki wallet add -wallet $PWD -cert 2026-01-20-lb-test-cert.cer -user_cert
Oracle PKI Tool Release 19.0.0.0.0 - Production
Version 19.3.0.0.0
Copyright (c) 2004, 2019, Oracle and/or its affiliates. All rights reserved.

Enter wallet password:
PKI-04006: No matching private key in the wallet.
Could not install user cert at2026-01-20-lb-test-cert.cer
Please add all trusted certificates before adding the user certificate

 

Die Meldung „Please add all trusted certificates before adding the user certificate“ ist in diesem Fall irreführend. Sie erscheint auch dann, wenn bereits alle notwendigen Root- und Intermediate-Zertifikate im Wallet hinterlegt sind und konnte daher ignoriert werden. Nach weiterer Analyse stellte sich heraus, dass der Kunde uns ein Zertifikat bereitgestellt hatte, das mit einem anderen privaten Schlüssel verknüpft war als derjenige, der ursprünglich für die CSR verwendet wurde und unter diesen Umständen konnte die Installation des Zertifikats nicht funktionieren.

Daher baten wir den Kunden entweder den zugehörigen privaten Schlüssel oder um die Möglichkeit, eine neue CSR zu erstellen und signieren zu lassen. Schließlich erhielten wir den privaten Schlüssel und versuchten, Zertifikat und Schlüssel gemeinsam zu importieren. Dieser Versuch schlug jedoch ebenfalls fehl, da das Zertifikat im DER-Format vorlag und nicht im PEM-Format. Daher konvertierten wir das Zertifikat zunächst und versuchten den Import:

 

$ orapki wallet import_private_key -wallet $PWD 
-pvtkeyfile 2026-01-20-lb-test-private.key -cert 2026-01-20-lb-test-cert.cer 
Oracle PKI Tool Release 19.0.0.0.0 - Production 
Version 19.3.0.0.0 Copyright (c) 2004, 2019, Oracle and/or its affiliates. All rights reserved. 

Enter wallet password: 
Enter private key password: 
PKI-07014: Unable to import private key. PKI-04001: Invalid Certificate. 

$ openssl x509 -inform DER -in 2026-01-20-lb-test-cert.cer \ 
-out 2026-01-20-lb-test-cert.pem 

$ orapki wallet import_private_key -wallet $PWD -pvtkeyfile \ 
2026-01-20-lb-test-private.key -cert 2026-01-20-lb-test-cert.pem 
Oracle PKI Tool Release 19.0.0.0.0 - Production 
Version 19.3.0.0.0 Copyright (c) 2004, 2019, Oracle and/or its affiliates. All rights reserved. 

Enter wallet password: 
Enter private key password: 
PKI-07014: Unable to import private key. Header not present in private key

 

An diesem Punkt gab es zwei mögliche Vorgehensweisen: Entweder genauer analysieren, welches Schlüsselformat von orapki erwartet wird, oder einen alternativen Ansatz ausprobieren. Beim Blick in die Hilfe des Tools fiel der Befehl import_pkcs12 auf. Da PKCS#12 ein standardisiertes Containerformat für Zertifikate und Schlüssel ist, lag die Vermutung nahe, dass sich das vom Kunden bereitgestellte Zertifikat in dieses Format konvertieren lässt und anschließend problemlos importiert werden kann.

 

$ openssl pkcs12 -export -in 2026-01-20-lb-test-cert.pem \ 
	-inkey 2026-01-20-lb-test-private.key -out 2026-01-20-certstore.p12 
$ orapki wallet import_pkcs12 -wallet $PWD -pkcs12file 2026-01-20-certstore.p12 
Oracle PKI Tool Release 19.0.0.0.0 - Production 
Version 19.3.0.0.0 
Copyright (c) 2004, 2019, Oracle and/or its affiliates. All rights reserved. 
Enter wallet password: 
Enter PKCS#12 file password: 
orapki command import_pkcs12 executed successfully.

 

Das funktionierte schließlich problemlos. Nach einer Überprüfung mit orapki display wallet -wallet $PWD konnte das neue Zertifikat erfolgreich verwendet werden. Das alte Zertifikat wurde anschließend mit orapki remove wallet -wallet $PWD -dn $DN -user_cert aus dem Wallet entfernt, um mögliche Verwechslungen zu vermeiden. Außerdem musste der Connection Manager neu gestartet werden, damit das neue Zertifikat aktiv genutzt werden konnte.

Haben Sie ähnliche Erfahrungen beim Einsatz von Oracle Wallet und externen Zertifikaten gemacht oder andere Lösungswege gefunden? Wir freuen uns über Ihre Hinweise und den fachlichen Austausch in den Kommentaren. Bei Fragen oder Herausforderungen rund um Oracle Security, Wallet-Konfiguration oder Zertifikatsmanagement steht Ihnen selbstverständlich auch das Robotron-Team gern unterstützend zur Seite: https://www.robotron.de/leistungen/technologien/oracle

Kommentare

Keine Kommentare

Kommentar schreiben

* Diese Felder sind erforderlich