【发布时间】:2011-08-30 03:54:07
【问题描述】:
我正在使用 https 连接到 https 服务器。
具体来说,我正在使用 apache httpclient 并配置 ssl 上下文以使用我的密钥库和信任库。
我使用的 https 服务器是 IIS7,并配置为 require 客户端身份验证。
我想我已经正确设置了。
无论如何,如果我使用对 IIS 有效的密钥库(即使用客户端证书)配置 httpClent 的 ssl 上下文,那么连接就没有问题。
现在我的问题如下:
如果我不使用任何客户端证书配置 ssl 上下文以发送到 IIS,则与服务器没有连接。但让我想到的是,由于 hanshake 失败警报,我希望在代码中看到一些 java 异常。
监视使用wireshark 发生的情况,我看不到从IIS 到我的应用程序的证书请求,但我注意到在ServerHelloDone 之后所有内容都被加密了。
我原本没想到。我认为握手通常是明文。
我使用私钥解密跟踪,我看到了来自 IIS 的证书请求,但在多次启动和打开新连接之后。
我的应用程序将长度为 0 的证书作为响应发回,IIS 使用 TLSv1 Finished 回复。
之后数据包停止(即似乎通信结束)。
我期待一个握手警报。
我的问题是,这是它应该如何工作或至少 IIS 是如何工作的?
或者,如果我没有看到警报,我的用例有问题?
谢谢
【问题讨论】:
标签: java security apache iis ssl