我正在解决今天在尝试连接到网站时用户在Google Chrome中显示“无效服务器证书”的问题。我们验证了SSL链,证书,验证的连接性,似乎没有任何错误。一个openssl s_client连接类似似乎没有问题。我们甚至运行了一个tcpdump,虽然我对阅读它们并不是特别熟悉,但我没有看到任何明显的错误。
最后,只是为了笑容,我在Firefox中打开链接以验证我没有以某种方式获得缓存副本,并且我收到了一个新错误“证书类型未批准申请。”。那时,我们很快就看到我们的服务器证书是作为客户端证书配置的。问题解决了。
我的问题是,在这个过程的哪个阶段,验证的目的是什么?我觉得我应该在tcpdump中看到这个错误,特别是openssl s_client连接。我想知道是否直到稍后才检查证书目的。
如果有帮助,请求将从Netscaler vserver发送到WebSEAL实例。
答案 0 :(得分:2)
它由客户验证,而不是协议。协议的一部分是转移证书的公共部分,其中包括可接受用途等元数据。然后由客户端决定证书是否对应用程序正在执行的用例有效。该协议无法知道应用程序类型是什么,或者完整的使用集合是什么(这是在标准开发的后期添加的元数据)。
这就是openssl不关心的原因,但chrome / ff确实如此。