【问题标题】:symmetricDS two way ssl handshake(clientAuth=false)symmetricDS 双向 ssl 握手(clientAuth=false)
【发布时间】:2017-11-09 01:24:41
【问题描述】:

问题总结: 我正在尝试使用 ssl 在 tomcat 上运行对称 ds。设置详细信息 1)。 MasterNode M1:在tomcat上运行。 2)。客户端节点 C1:在 tomcat 上运行。 我可以在没有 ssl 的情况下在 tomcat 上运行 symmetricds。此设置工作正常所有同步发生。 现在,当我尝试使用以下 ssl 设置运行 tomcat 时,它会在客户端节点上出现 bad_certificate 错误: Master节点上的连接设置:

<Connector SSLEnabled="true" acceptCount="10"
algorithm="PKIX" allowTrace="false" 
ciphers=""
clientAuth="true"
enableLookups="true"
keystoreFile="/root/symmetric-server-3.8.28/security/keystore.p12"
keystorePass="changeit@1"
keystoreType="pkcs12"
port="31415"
redirectPort="-1"
scheme="https"
secure="true"
sslEnabledProtocols="TLSv1.2"
sslProtocol="TLSv1.2"
truststoreFile="/root/symmetric-server-3.8.28/security/keystore.p12"
truststorePass="changeit@1"
truststoreType="pkcs12"/>

客户端节点上的连接器设置:

<Connector SSLEnabled="true" acceptCount="10"
algorithm="PKIX" allowTrace="false" 
ciphers=""
clientAuth="true"
enableLookups="true"
keystoreFile="/root/symmetric-server-3.8.28/security/keystore2.p12"
keystorePass="changeit@1"
keystoreType="pkcs12"
port="31415"
redirectPort="-1"
scheme="https"
secure="true"
sslEnabledProtocols="TLSv1.2"
sslProtocol="TLSv1.2"
truststoreFile="/root/symmetric-server-3.8.28/security/keystore2.p12"
truststorePass="changeit@1"
truststoreType="pkcs12"/>

注意:如果我使用 clientAuth=false 运行主节点 tomcat,那么一切正常。在进一步调试中,我发现客户端在 TLS 握手期间没有提供其证书。以下是错误:专家请帮助我需要做什么配置以便客户端提供证书:

错误: javax.net.ssl.SSLHandshakeException:收到致命警报:bad_certificate

【问题讨论】:

  • 主节点和客户端节点密钥库之间是否交换了证书?
  • 在 TLS 握手期间,服务器正在出示其证书,但客户端节点未出示其证书。在服务器端 ssl 日志显示:空证书链。 http-nio-31415-exec-8,致命错误:42:空证书链 javax.net.ssl.SSLHandshakeException:空证书链 %% 无效:[Session-4,TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384] http-nio-31415-exec-8,发送 TLSv1.2 警报:致命,描述 = bad_certificate http-nio-31415-exec-8,致命:引擎已关闭。重新抛出 javax.net.ssl.SSLHandshakeException: null cert chain
  • 证书是否已添加到客户端的密钥库中?
  • 是的,我已经在客户端的密钥库中添加了客户端证书并进行了交叉检查。我想我无法弄清楚在客户端节点上提供密钥库的位置。 tomcat中提供的keystore路径是否足够或需要在其他地方提供?
  • 应该够了。 master 和 client 之间是否交换过证书?

标签: ssl https keystore tomcat8 symmetricds


【解决方案1】:

升级到 SymmetricDS 3.8.31。修复了一个允许客户端 TLS 身份验证的问题:

http://www.symmetricds.org/issues/view.php?id=2886

【讨论】:

  • 我的问题在 3.8.28 也得到了解决。我计划将我的 SymmetricDS 升级到 3.8.31。如果它运行良好,我会更新你。
猜你喜欢
  • 1970-01-01
  • 2014-01-05
  • 2016-03-22
  • 2018-07-28
  • 2011-04-16
  • 2017-02-11
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多