SSLv3 握手失败

SSLv3 握手失败
  • 我使用 comodo 的 positiveSSL。
  • 我有两台服务器
    • 简单的 node.js 服务器
    • 达尔文日历服务器(caldavd)
  • 两台服务器都在同一台物理机器上运行
  • 我按照文章在服务器上安装了证书。

  • 我从 comodo positiveSSL 获得了 3 个中级证书

    AddTrustExternalCARoot.crt                 
    COMODORSAAddTrustCA.crt                      
    COMODORSADomainValidationSecureServerCA.crt
    

我创建了一个文件PositiveSSL.ca-bundle

cat COMODORSADomainValidationSecureServerCA.crt COMODORSAAddTrustCA.crt  AddTrustExternalCARoot.crt  > PositiveSSL.ca-bundle 

我为 node.js 和 caldavd 安装了相同的文件。但是,当我运行

openssl s_client -host node.js.com -port 3443 -CAfile file

我得到:

---
Certificate chain
 0 s:/OU=Domain Control Validated/OU=PositiveSSL/CN=example.com
   i:/C=GB/ST=Greater Manchester/L=Salford/O=COMODO CA Limited/CN=COMODO RSA Domain Validation Secure Server CA
 1 s:/C=GB/ST=Greater Manchester/L=Salford/O=COMODO CA Limited/CN=COMODO RSA Domain Validation Secure Server CA
   i:/C=GB/ST=Greater Manchester/L=Salford/O=COMODO CA Limited/CN=COMODO RSA Certification Authority
---
Server certificate
-----BEGIN CERTIFICATE-----

但是当我与 caldavd 对抗时,我得到了

openssl s_client -host caldavd.com -port 8443 -CAfile file

我得到:

CONNECTED(00000003)
140735312184144:error:14077410:SSL routines:SSL23_GET_SERVER_HELLO:sslv3 alert handshake failure:s23_clnt.c:769:

然后,如果我从 caldav 中删除中级证书:

openssl s_client -host caldavd.com -port 8443 -CAfile file

我得到:

---
Certificate chain
 0 s:/OU=Domain Control Validated/OU=PositiveSSL/CN=example.com
   i:/C=GB/ST=Greater Manchester/L=Salford/O=COMODO CA Limited/CN=COMODO RSA Domain Validation Secure Server CA
---
Server certificate

你能解释一下发生了什么事吗?

相关内容