Oracle JDBC-verbindingen met SSL
Als u verbinding maakt met een SSL-server (Security Socket Layer), schakelt u het selectievakje SSL vereisen in.
Vanaf 2020.2 gebruikt Oracle een JDBC-connector. Als uw Oracle-databron is geconfigureerd voor het gebruik van een- of tweezijdige SSL-verificatie, kunt u de juiste certificaten en/of sleutels opnemen om verbinding te maken.
SSL vereisen
Als uw verbinding SSL vereist, doet u het volgende:
- Klik in het connectordialoogvenster op SSL vereisen.
- Configureer SSL op de juiste manier voor uw verbinding:
- Als u zelfondertekende certificaten gebruikt, of een certificaat dat door een particuliere CA is ondertekend, moet u mogelijk vertrouwen configureren voor eenzijdige SSL-verbindingen. Zie Eenzijdige SSL voor Oracle configureren.
- Als u tweezijdige SSL gebruikt, moet u uw clientsleutels configureren. Zie Tweezijdige SSL configureren.
Eenzijdige SSL voor Oracle configureren
Voor het configureren van vertrouwen voor uw servercertificaat kunt u hier de algemene instructies voor JDBC-connectors raadplegen: Eenzijdige SSL voor JDBC-verbindingen configureren.
Als u besluit eigenschappenbestanden te gebruiken om vertrouwen te configureren, gebruikt u de volgende eigenschappen voor het Oracle JDBC-stuurprogramma.
javax.net.ssl.trustStore=C:\\My_Folder\\truststore.jks
javax.net.ssl.trustStoreType=JKS
javax.net.ssl.trustStorePassword=password
Opmerking: Als u een werkmap naar Tableau Server wilt publiceren, moeten zowel de Tableau Desktop- als de Tableau Server-computer kopieën van hetzelfde Oracle-eigenschappenbestand en truststore.jks-bestand bevatten.
Tweezijdige SSL configureren
Er zijn twee opties voor het configureren van tweezijdige SSL-ondersteuning met een Oracle-verbinding:
- Clientcertificaten en privésleutels in de databron insluiten
- Een eigenschappenbestand gebruiken om het clientcertificaat en de privésleutel te configureren
Optie 1: Clientcertificaten en privésleutels in de databron insluiten
Een SSL-certificaat, clientcertificaat en clientsleutel insluiten:
- Volg de stappen in Eenzijdige SSL voor Oracle configureren om zo nodig serververtrouwen te configureren.
- Klik op Clientcertificaat >>.
- Geef de locaties voor het clientcertificaat en de clientsleutel op.
Het certificaat en de privésleutel moeten een niet-versleutelde PEM-indeling hebben. Zie de instructies verderop in dit document voor suggesties voor conversie naar de juiste indeling.
Optie 2: Een eigenschappenbestand gebruiken om het clientcertificaat en de privésleutel te configureren
Een eigenschappenbestand gebruiken voor certificaat- en sleutelconfiguratie:
- Wijzig het bestand oracle.properties zodanig dat de instellingen voor de sleutelopslag en de vertrouwensopslag overeenkomen. Gebruik het volgende als voorbeeld. Vervang My_Folder door de locatie van uw bestanden en vervang <password> door uw wachtwoord. Paden op OSX en Linux hebben slechts één / nodig als scheidingsteken.
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 - Sla oracle.properties op in de map <Document>\MyTableau Respository\Datasources.
- Kopieer oracle.properties, truststore.jks en keystore.jks naar de Tableau Server-computer. Hierdoor kan de werkmap worden gepubliceerd op de Tableau Server.
Als u deze methode gebruikt, hoeft u geen certificaten en sleutels te uploaden via het SSL-dialoogvenster. Klik in plaats daarvan gewoon op SSL vereisen. Hierdoor leest de Oracle JDBC-connector de locaties van de sleutelopslag en de vertrouwensopslag uit het bestand oracle.properties.
Een werkmap publiceren
Voor het publiceren van een werkmap naar Tableau Server moet aan de volgende voorwaarden worden voldaan:
- Als u een eigenschappenbestand gebruikt, moeten zowel de Tableau Desktop- als de Tableau Server-computer kopieën bevatten van hetzelfde Oracle-eigenschappenbestand, truststore.jks en keystore.jks.
- De server gebruikt dezelfde Oracle JDBC-connector als de Tableau Desktop-computer.
- Als u de optie Insluiten hebt gebruikt, selecteert u de optie Wachtwoord insluiten wanneer u publiceert.
Sleutelindelingen converteren
Er zijn verschillende indelingen voor het opslaan van SSL-sleutels:
- Oracle Wallet
- JKS - Gebruik deze indeling als u SSL-vertrouwen wilt configureren met behulp van eigenschappenbestanden.
- PEM - Gebruik deze indeling als u de sleutels in de databron wilt insluiten met behulp van de Tableau-interface.
Hieronder staan wat suggesties voor opdrachten die u bij de opdrachtregelprompt kunt typen om sleutels naar de juiste indeling te converteren. Zie de Oracle-documentatie voor meer details.
Een servercertificaat van Oracle Wallet naar een PEM-bestand exporteren:
orapki wallet export -wallet wallet_location -dn certificate_dn -cert output_certificate_filename.pem
Servercertificaten en clientsleutels van Oracle Wallet naar JKS exporteren:
orapki wallet pkcs12_to_jks -wallet ./ -pwd mypasswd -jksKeyStoreLoc ./ewalletK.jks -jksKeyStorepwd password -jksTrustStoreLoc ./ewalletT.jks -jksTrustStorepwd password
Een servercertificaat uit de JKS-vertrouwensopslag naar een PEM-bestand exporteren met behulp van keytool en OpenSSL:
- JKS-indeling naar PKCS12-indeling exporteren:
keytool -importkeystore -srckeystore truststore.jks -destkeystore truststore.p12 -srcstoretype JKS -deststoretype PKCS12 -srcstorepass "password" -deststorepass "password"
- PEM-bestand ophalen van PKCS12:
openssl pkcs12 -in truststore.p12 -out serverca.pem
Servercertificaten en clientsleutels uit de JKS-vertrouwensopslag naar een PEM-bestand exporteren met behulp van keytool en OpenSSL:
- Exporteer het certificaat als volgt uit de vertrouwensopslag.
- JKS-indeling naar PKCS12-indeling exporteren:
keytool -importkeystore -srckeystore truststore.jks -destkeystore truststore.p12 -srcstoretype JKS -deststoretype PKCS12 -srcstorepass "password" -deststorepass "password"
- PEM-bestand ophalen van PKCS12:
openssl pkcs12 -in truststore.p12 -out serverca.pem
- JKS-indeling naar PKCS12-indeling exporteren:
- Exporteer de clientsleutel en het clientcertificaat als volgt uit de sleutelopslag.
- Gebruik keytool om de JKS-indeling naar de PCKS12-indeling te transformeren:
keytool.exe -importkeystore -srckeystore keystore.jks -destkeystore keystore.p12 -srcstoretype JKS -deststoretype PKCS12 -srcstorepass "password" -deststorepass "password"
- Gebruik OpenSSL om het clientcertificaat te exporteren:
openssl pkcs12 -in keystore.p12 -nokeys -out clientcert.pem
- Gebruik OpenSSL om de clientsleutel te exporteren:
openssl pkcs12 -in keystore.p12 -nocerts -out clientkeyEncrypted.pem
- Gebruik OpenSSL om de versleutelde versie naar PKCS8-indeling te transformeren:
openssl pkcs8 -topk8 -nocrypt -in clientkeyEncrypted.pem -out clientkey.pem
- Gebruik keytool om de JKS-indeling naar de PCKS12-indeling te transformeren:
Zie ook
- SSL configureren voor JDBC-verbindingen - algemenere informatie over het installeren van vertrouwde SSL-certificaten voor JDBC-verbindingen.