Wininet SSL与客户端证书智能卡访问每个请求



我使用Wininet库与客户端证书(存储在智能卡上)建立SSL连接。

问题是,我看到智能卡被访问的每一个HttpRequest已发送。

从Fidler和wireshark,我看到:1. 所有请求都是HTTP 1.0而不是HTTP 1.1。2. 对每个连接都进行完整的SSL握手3.我没有被要求为每个请求输入pin码(仅针对第一个请求),但我发送的每个请求都访问智能卡。

有什么想法/线索吗?实际上,问题可能不是关于wininet,而是应该采取额外的步骤与证书存储?

谢谢你,扎哈尔

好吧,我还是不明白为什么wininet ssl连接是HTTP 1.0而不是HTTP 1.1(根据MSDN应该是HTTP 1.1),那么在wininet.h中很明显HTTP版本是1.0。

关于完全握手:我不能使用INTERNET_FLAG_IGNORE_CERT_CN_INVALIDINTERNET_FLAG_IGNORE_CERT_DATE_INVALID或相关的证书忽略标志来忽略任何证书错误或证书验证检查。IE wininet代码强制检查,看看你是否没有使用常规的IE例程来处理安全性。如果忽略或禁用安全检查,wininet将为每个单独的请求强制使用新的SSL套接字。这意味着当禁用安全检查时,请求将不会一起共享。这是一种安全设计,用于确认您确实想要忽略/禁用每个请求的证书检查,而不是在多个请求之间共享未经验证的SSL会话。

问候,扎哈尔

最新更新