数据库服务器TLS配置。失败TNS-00542:SSL握手失败

时间:2018-10-25 09:12:00

标签: oracle ssl oracle11g tls1.2

我正在尝试配置数据库服务器以使用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

通常,当服务器证书不在信任库中或握手失败时,会发生此异常。您能告诉我吗:

  1. 也许我错过了什么,有什么方向吗?
  2. 也许我还需要配置客户端?
  3. 如何打开并查找日志?

1 个答案:

答案 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"

现在问题已解决。