- 我使用 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
你能解释一下发生了什么事吗?