oracle ssl jdbc 架构,使用 SSL 的 Oracle JDBC 连接

如果连接到 SSL(安全套接字层)服务器,请选中“需要 SSL”复选框。

从 2020.2 开始,Oracle 使用 JDBC 连接器。如果您的 Oracle 数据源配置为使用 SSL 单向或双向身份验证,您可以包括适当的证书和/或密钥来进行连接。

需要 SSL

如果连接需要 SSL,请执行以下操作:

从连接器对话框中,单击“需要 SSL”。

8fbe7a24ad77cfeab08787bc824033c2.png

根据情况为您的连接配置 SSL:如果使用自签名证书或由专用 CA 签名的证书,则可能需要为单向 SSL 连接配置信任。请参见为 Oracle 配置单向 SSL。

如果使用双向 SSL,则需要配置客户端密钥。请参见配置双向 SSL。

为 Oracle 配置单向 SSL

若要为服务器证书配置信任,请参见此处有关 JDBC 连接器的一般说明:为 JDBC 连接配置单向 SSL。

如果您决定使用属性文件来配置信任,请为 Oracle JDBC 驱动程序使用以下属性。

javax.net.ssl.trustStore=C:\\My_Folder\\truststore.jks

javax.net.ssl.trustStoreType=JKS

javax.net.ssl.trustStorePassword=password

注意:若要将工作簿发布到 Tableau Server,Tableau Desktop 和 Tableau Server 计算机均必须有同一 Oracle 属性文件和 truststore.jks 文件的副本。

配置双向 SSL

可选择通过两种方式为 Oracle 连接配置双向 SSL 支持:

选项 1:在数据源中嵌入客户端证书和私钥

若要嵌入 SSL 证书、客户端证书和客户端密钥,请执行以下操作:

如有必要,按照为 Oracle 配置单向 SSL中的步骤配置服务器信任。

单击“客户端证书 >>”。

8fbe7a24ad77cfeab08787bc824033c2.png

指定客户端证书和客户端密钥的位置。

证书和私钥应采用未加密的 PEM 格式。有关转换为正确格式的建议,请参见本文档后面的说明。

e46dab0c81e9a59a52363956991d1a89.png

选项 2:使用属性文件配置客户端证书和私钥

若要为证书和密钥配置使用属性文件,请执行以下操作:

修改 oracle.properties 文件以反映密钥存储和信任存储设置。以如下内容为例。确保替换代表您的文件位置的“My_Folder”,并将“”替换为您自己的密码。OSX 和 Linux 上的路径只需要单个“/”作为分隔符。

javax.net.ssl.trustStore=C:\\My_Folder\\truststore.jks

javax.net.ssl.trustStoreType=JKS

javax.net.ssl.trustStorePassword=

javax.net.ssl.keyStore=C:\\My_Folder\\keystore.jks

javax.net.ssl.keyStoreType=JKS

javax.net.ssl.keyStorePassword=password

将 oracle.properties 保存到 \MyTableau Respository\Datasources 文件夹。

将 oracle.properties、truststore.jks 和 keystore.jks 复制到 Tableau Server 计算机。这允许将工作簿发布到 Tableau Server。

如果使用此方法,则无需通过 SSL 对话框上载证书和密钥。而是只需单击“需要 SSL”。这会导致 Oracle JDBC 连接器从 oracle.properties 文件读取密钥存储和信任存储的位置。

发布工作簿

若要将工作簿发布到 Tableau Server,请确保满足以下条件:如果使用属性文件,则 Tableau Desktop 和 Tableau Server 计算机均有同一 Oracle 属性文件、truststore.jks 和 keystore.jks 的副本。

服务器使用同一 Oracle JDBC 连接器作为 Tableau Desktop 计算机。

如果使用过嵌入选项,请在发布时使用“嵌入密码”选项。

转换密钥格式

有若干用于存储 SSL 密钥的格式,其中包括:

Oracle 钱包

JKS - 如果要使用属性文件配置 SSL 信任,请使用此格式。

PEM - 如果要使用 Tableau 接口将密钥嵌入数据源,请使用此格式。

以下是一些建议的命令,您可以在命令行提示符处键入这些命令,以将密钥转换为正确的格式。有关更多详细信息,请参见 Oracle 文档。

将证书从 Oracle 钱包导出为 PEM 文件:

orapki wallet export -wallet wallet_location -dn certificate_dn -cert output_certificate_filename.pem

将服务器证书和客户端密钥从 Oracle 钱包导出为 JKS:

orapki wallet pkcs12_to_jks -wallet ./-pwd mypasswd -jksKeyStoreLoc ./ewalletK.jks -jksKeyStorepwd password -jksTrustStoreLoc ./ewalletT.jks -jksTrustStorepwd password

使用 keytool 和 OpenSSL 将服务器证书从 JKS 信任存储导出为 PEM 文件:

将 JKS 格式导出为 PKCS12 格式:

keytool -importkeystore -srckeystore truststore.jks -destkeystore truststore.p12 -srcstoretype JKS -deststoretype PKCS12 -srcstorepass "password" -deststorepass "password"

从 PKCS12 获取 PEM 文件:

openssl pkcs12 -in truststore.p12 -out serverca.pem

使用 keytool 和 OpenSSL 将服务器证书和客户端密钥从 JKS 信任存储导出为 PEM 文件:

按如下方式从信任存储中导出证书。将 JKS 格式导出为 PKCS12 格式:

keytool -importkeystore -srckeystore truststore.jks -destkeystore truststore.p12 -srcstoretype JKS -deststoretype PKCS12 -srcstorepass "password" -deststorepass "password"

从 PKCS12 获取 PEM 文件:

openssl pkcs12 -in truststore.p12 -out serverca.pem

按如下方式从密钥存储中导出客户端密钥和客户端证书。使用 keytool 将 JKS 格式转换为 PCKS12 格式:

keytool.exe -importkeystore -srckeystore keystore.jks -destkeystore keystore.p12 -srcstoretype JKS -deststoretype PKCS12 -srcstorepass "password" -deststorepass "password"

使用 OpenSSL 导出客户端证书:

openssl pkcs12 -in keystore.p12 -nokeys -out clientcert.pem

使用 OpenSSL 导出客户端密钥:

openssl pkcs12 -in keystore.p12 -nocerts -out clientkeyEncrypted.pem

使用 OpenSSL 将加密版本转换为 PKCS8 格式:

openssl pkcs8 -topk8 -nocrypt -in clientkeyEncrypted.pem -out clientkey.pem

另请参见

针对 JDBC 连接配置 SSL - 有关针对 JDBC 连接安装可信 SSL 证书的更多常规信息。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值