Wininet SSL,每个请求都有客户端证书智能卡访问权限

时间:2012-12-30 07:40:39

标签: ssl x509certificate wininet cac certificate-store

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

问题是我看到每个已发送的HttpRequest都会访问智能卡。

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

任何想法/线索?实际上可能是布鲁姆不是关于wininet,但是应该在证书库中采取额外的步骤吗?

谢谢你, 扎哈尔

1 个答案:

答案 0 :(得分:0)

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

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

此致 扎哈尔