更新:通过重新滚动证书解决了问题。
我有一台运行 HTTPS 隧道服务的 Windows 2008 R2 服务器。该软件使用通过 Windows 证书存储提供的证书。该证书位于本地计算机私有证书中。它支持使用签名和密钥加密的服务器和客户端身份验证。
证书链
证书链看起来不错。这是 Thawte SSL123 证书。
- Thawte 高级服务器 CA(SHA1)[e0 ab 05 94 20 72 54 93 05 60 62 02 36 70 f7 cd 2e fc 66 66]
- thawte 主根 CA [1f a4 90 d1 d4 95 79 42 cd 23 54 5f 6e 82 3d 00 00 79 6e a2]
- Thawte DV SSL CA [3c a9 58 f3 e7 d6 83 7e 1c 1a cf 8b 0f 6a 2e 6d 48 7d 67 62]
- 服务器证书
- Thawte DV SSL CA [3c a9 58 f3 e7 d6 83 7e 1c 1a cf 8b 0f 6a 2e 6d 48 7d 67 62]
- thawte 主根 CA [1f a4 90 d1 d4 95 79 42 cd 23 54 5f 6e 82 3d 00 00 79 6e a2]
问题
大多数浏览器都会在没有任何警告的情况下接受证书。但 Windows XP SP3 上的 IE 7 和 OSX 上的 Opera 12 只会报告连接错误。Opera 抱怨:
Secure connection: fatal error (552)
https://www.example.com/
Opera was not able to connect to the server, because the server does not communicate via any secure protocol known to Opera.
使用以下方式进行连接测试openssl s_client -connect www.example.com:443 -state
:
CONNECTED(00000003)
SSL_connect:before/connect initialization
SSL_connect:SSLv2/v3 write client hello A
52471:error:140790E5:SSL routines:SSL23_WRITE:ssl handshake failure:/SourceCache/OpenSSL098/OpenSSL098-35.1/src/ssl/s23_lib.c:182:
ssldump -aAHd host www.example.com
报告期间curl https://www.example.com/
:
New TCP connection #1: localhost(53302) <-> www.example.com(443)
1 1 0.0235 (0.0235) C>SV3.1(117) Handshake
ClientHello
Version 3.1
random[32]=
50 77 56 29 e8 23 82 3b 7f e0 ae 2d c1 31 cb ac
38 01 31 85 4f 91 39 c1 04 32 a6 68 25 cd a0 c1
cipher suites
Unknown value 0x39
Unknown value 0x38
Unknown value 0x35
TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA
TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA
TLS_RSA_WITH_3DES_EDE_CBC_SHA
Unknown value 0x33
Unknown value 0x32
Unknown value 0x2f
Unknown value 0x9a
Unknown value 0x99
Unknown value 0x96
TLS_RSA_WITH_RC4_128_SHA
TLS_RSA_WITH_RC4_128_MD5
TLS_DHE_RSA_WITH_DES_CBC_SHA
TLS_DHE_DSS_WITH_DES_CBC_SHA
TLS_RSA_WITH_DES_CBC_SHA
TLS_DHE_RSA_EXPORT_WITH_DES40_CBC_SHA
TLS_DHE_DSS_EXPORT_WITH_DES40_CBC_SHA
TLS_RSA_EXPORT_WITH_DES40_CBC_SHA
TLS_RSA_EXPORT_WITH_RC2_CBC_40_MD5
TLS_RSA_EXPORT_WITH_RC4_40_MD5
Unknown value 0xff
compression methods
unknown value
NULL
1 0.0479 (0.0243) S>C TCP FIN
1 0.0481 (0.0002) C>S TCP FIN
Thawte 提供了两个基于 Java 的 SSL 检查器。旧版 Thawte SSL 证书安装检查器和ssl工具箱。两者均在 Windows XP 下验证证书,但在 OSX 和 Windows 2008 R2 下报告连接错误。
答案1
我没有找出问题所在,但通过重新注册新证书解决了问题。这次使用 IIS 管理器,而不是使用 Windows 证书管理器手动执行。
所以我唯一的建议是白手起家如果事情太奇怪,查找错误比重新开始花费更多时间。