我正在尝试配置数据库服务器以使用TLS。 使用服务器证书创建服务器钱包,使用tcps协议定义侦听器,现在我正在尝试重新启动侦听器。
我尚未配置位于同一台计算机上的客户端。我希望我的应用程序充当客户端,稍后将配置此客户端。
执行lsnrctl stop
会收到
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCPS)(HOST=myhost.com)(PORT=1521)))
ORA-28759: failure to open file
TNS-12560: TNS:protocol adapter error
TNS-00540: SSL protocol adapter failure
ORA-28864: SSL connection closed gracefully
TNS-12560: TNS:protocol adapter error
TNS-00542: SSL Handshake failed
通常,当服务器证书不在信任库中或握手失败时,会发生此异常。您能告诉我吗:
答案 0 :(得分:0)
我使用MUTUAL身份验证配置了oracle,但是在客户端没有放置密钥库,这就是为什么收到握手异常的原因。
需要在客户端(应用程序)上为Java添加一些参数
export JAVA_OPTS ="$JAVA_OPTS -Djavax.net.ssl.trustStore=path/truststore.jks"
export JAVA_OPTS ="$JAVA_OPTS -Djavax.net.ssl.trustStorePassword=changeIT"
export JAVA_OPTS ="$JAVA_OPTS -Djavax.net.ssl.keyStore=path/keystore.jks"
export JAVA_OPTS ="$JAVA_OPTS -Djavax.net.ssl.keyStorePassword=changeIT"
现在问题已解决。