Oracle JDBC-Verbindungen mit SSL
Aktivieren Sie das Kontrollkästchen SSL erfordern, wenn Sie eine Verbindung zu einem SSL-Server (Security Socket Layer) herstellen.
Ab 2020.2 verwendet Oracle einen JDBC-Connector. Wenn Ihre Oracle-Datenquelle für die Verwendung der einseitigen oder zweiseitigen SSL-Authentifizierung konfiguriert ist, können Sie die entsprechenden Zertifikate bzw. Schlüssel zum Herstellen einer Verbindung einschließen.
"SSL erfordern"
Wenn für Ihre Verbindung eine SSL-Authentifizierung, gehen Sie wie folgt vor:
- Klicken Sie im Dialogfeld "Connector" auf "SSL erfordern".
- Konfigurieren Sie SSL entsprechend Ihrer Verbindung:
- Wenn Sie selbstsignierte Zertifikate oder ein Zertifikat aus einer privaten Zertifizierungsstelle verwenden, müssen Sie möglicherweise die Vertrauensstellung für einseitige SSL-Verbindungen konfigurieren. Siehe Konfigurieren von einseitigem SSL für Oracle.
- Wenn Sie zweiseitige SSL-Verbindungen verwenden, müssen Sie Ihre Client-Schlüssel konfigurieren. Siehe Konfigurieren von zweiseitigem SSL.
Konfigurieren von einseitigem SSL für Oracle
Informationen zum Konfigurieren der Vertrauensstellung für Ihr Server-Zertifikat finden Sie in den allgemeinen Anweisungen für JDBC-Connectors: Konfigurieren von einseitigem SSL für JDBC-Verbindungen.
Wenn Sie Eigenschaftendateien zum Konfigurieren der Vertrauensstellung verwenden, verwenden Sie die folgenden Eigenschaften für den Oracle JDBC-Treiber.
javax.net.ssl.trustStore=C:\\My_Folder\\truststore.jks
javax.net.ssl.trustStoreType=JKS
javax.net.ssl.trustStorePassword=password
Hinweis: Um eine Arbeitsmappe in Tableau Server zu veröffentlichen, müssen sowohl die Tableau Desktop- als auch die Tableau Server-Computer über Kopien derselben Oracle-Eigenschaftendatei und der Datei "truststore.jks" verfügen.
Konfigurieren zweiseitiger SSL-Verbindungen
Es gibt zwei Optionen zum Konfigurieren der zweiseitigen SSL-Unterstützung mit einer Oracle-Verbindung:
- Einbetten von Client-Zertifikaten und privaten Schlüsseln in die Datenquelle
- Verwenden einer Eigenschaftendatei zum Konfigurieren des Client-Zertifikats und des privaten Schlüssels
Option 1: Einbetten von Client-Zertifikaten und privaten Schlüsseln in die Datenquelle
So betten Sie ein SSL-Zertifikat, ein Client-Zertifikat und einen Client-Schlüssel ein:
- Führen Sie die Schritte unter Konfigurieren von einseitigem SSL für Oracle zum Konfigurieren der Server-Vertrauensstellung durch, falls erforderlich
- Klicken Sie auf Client-Zertifikat>>.
- Geben Sie die Speicherorte für das Client-Zertifikat und den Client-Schlüssel an.
Das Zertifikat und der private Schlüssel sollten im unverschlüsselten PEM-Format vorliegen. In den Anweisungen weiter unten in diesem Dokument finden Sie Vorschläge zum Konvertieren in das richtige Format.
Option 2: Verwenden einer Eigenschaftendatei zum Konfigurieren des Client-Zertifikats und des privaten Schlüssels
So verwenden Sie eine Eigenschaftendatei für die Zertifikats- und Schlüsselkonfiguration:
- Ändern Sie die Datei "oracle.properties", um die Einstellungen für den Schlüsselspeicher und den Vertrauensspeicher widerzuspiegeln. Verwenden Sie als Beispiel Folgendes. Ersetzen Sie "My_Folder" durch den Speicherort Ihrer Dateien und "<password>" durch Ihr eigenes Kennwort. Pfade unter OSX und Linux benötigen nur ein einziges "/" als Trennzeichen.
javax.net.ssl.trustStore=C:\\My_Folder\\truststore.jks
javax.net.ssl.trustStoreType=JKS
javax.net.ssl.trustStorePassword=<password>
javax.net.ssl.keyStore=C:\\My_Folder\\keystore.jks
javax.net.ssl.keyStoreType=JKS
javax.net.ssl.keyStorePassword=password - Speichern Sie "oracle.properties" im Ordner "<Document>\MyTableau Respository\Datasources".
- Kopieren Sie "oracle.properties", "truststore.jks" und "keystore.jks" auf den Tableau Server-Computer. Dadurch kann die Arbeitsmappe auf Tableau Server veröffentlicht werden.
Mit dieser Methode müssen Sie keine Zertifikate und Schlüssel über das SSL-Dialogfeld hochladen. Klicken Sie stattdessen einfach auf SSL erfordern. Dies bewirkt, dass der Oracle JDBC-Connector die Speicherorte des Schlüssel- und des Vertrauensspeichers aus der Datei "oracle.properties" liest.
Veröffentlichen einer Arbeitsmappe
Um eine Arbeitsmappe in Tableau Server zu veröffentlichen, stellen Sie sicher, dass Folgendes zutrifft:
- Wenn Sie eine Eigenschaftendatei verwenden, befinden sich auf den Tableau Desktop- und den Tableau Server-Computern Kopien derselben Oracle-Eigenschaftendateien "truststore.jks" und "keystore.jks".
- Der Server verwendet denselben Oracle JDBC-Connector wie der Tableau Desktop-Computer.
- Wenn Sie die Option zur Einbettung verwendet haben, wählen Sie beim Veröffentlichen die Option "Kennwort einbetten".
Konvertieren von Schlüsselformaten
Es gibt mehrere Formate zum Speichern von SSL-Schlüsseln, einschließlich:
- Oracle Wallet
- JKS: Verwenden Sie dieses Format, wenn Sie die SSL-Vertrauensstellung mithilfe von Eigenschaftendateien konfigurieren möchten.
- PEM: Verwenden Sie dieses Format, wenn Sie die Schlüssel mithilfe der Tableau-Schnittstelle in die Datenquelle einbetten möchten.
Im Folgenden finden Sie einige vorgeschlagene Befehle, die Sie in der Eingabeaufforderung eingeben können, um Schlüssel in das richtige Format zu konvertieren. Weitere Informationen finden Sie in der Oracle-Dokumentation.
So exportieren Sie ein Server-Zertifikat aus einem Oracle Wallet in eine PEM-Datei:
orapki wallet export -wallet wallet_location -dn certificate_dn -cert output_certificate_filename.pem
So exportieren Sie Server-Zertifikat und Client-Schlüssel aus einem Oracle Wallet zu JKS:
orapki wallet pkcs12_to_jks -wallet ./ -pwd mypasswd -jksKeyStoreLoc ./ewalletK.jks -jksKeyStorepwd password -jksTrustStoreLoc ./ewalletT.jks -jksTrustStorepwd password
So exportieren Sie Server-Zertifikate mit "keytool" und "openssl" aus dem JKS-Vertrauensspeicher in eine PEM-Datei:
- Exportieren Sie das JKS-Format in das PKCS12-Format:
keytool -importkeystore -srckeystore truststore.jks -destkeystore truststore.p12 -srcstoretype JKS -deststoretype PKCS12 -srcstorepass "password" -deststorepass "password"
- Rufen Sie die PEM-Datei aus PKCS12 ab:
openssl pkcs12 -in truststore.p12 -out serverca.pem
So exportieren Sie Server-Zertifikat und Client-Schlüssel mit "keytool" und "openssl" aus dem JKS-Vertrauensspeicher in eine PEM-Datei:
- Exportieren Sie das Zertifikat wie folgt aus dem Vertrauensspeicher.
- Exportieren Sie das JKS-Format in das PKCS12-Format:
keytool -importkeystore -srckeystore truststore.jks -destkeystore truststore.p12 -srcstoretype JKS -deststoretype PKCS12 -srcstorepass "password" -deststorepass "password"
- Rufen Sie die PEM-Datei aus PKCS12 ab:
openssl pkcs12 -in truststore.p12 -out serverca.pem
- Exportieren Sie das JKS-Format in das PKCS12-Format:
- Exportieren Sie den Client-Schlüssel und das Client-Zertifikat wie folgt aus dem Schlüsselspeicher.
- Verwenden Sie "keytool", um das JKS-Format in das PCKS12-Format umzuwandeln:
keytool.exe -importkeystore -srckeystore keystore.jks -destkeystore keystore.p12 -srcstoretype JKS -deststoretype PKCS12 -srcstorepass "password" -deststorepass "password"
- Verwenden Sie OpenSSL, um das Client-Zertifikat zu exportieren:
openssl pkcs12 -in keystore.p12 -nokeys -out clientcert.pem
- Verwenden Sie OpenSSL, um den Client-Schlüssel zu exportieren:
openssl pkcs12 -in keystore.p12 -nocerts -out clientkeyEncrypted.pem
- Verwenden Sie OpenSSL, um die verschlüsselte Version in das PKCS8-Format umzuwandeln:
openssl pkcs8 -topk8 -nocrypt -in clientkeyEncrypted.pem -out clientkey.pem
- Verwenden Sie "keytool", um das JKS-Format in das PCKS12-Format umzuwandeln:
Siehe auch
- Konfigurieren von SSL für JDBC-Verbindungen: Allgemeinere Informationen zur Installation vertrauenswürdiger SSL-Zertifikate für JDBC-Verbindungen.