我使用OpenSSL API编写SSL / TLS服务器。
某些SSL / TLS客户端可以忽略验证“服务器证书”。 (例如Files.walk(Paths.get(System.getProperty("user.dir")))
.collect(Collectors.toList())
.parallelStream()
.filter(Files::isRegularFile)
...
)
SSL / TLS服务器可以知道SSL / TLS客户端忽略验证吗?
我了解SSL_get_verify_result不知道。
如果未提供对等证书,则返回的结果代码为X509_V_OK。这是因为没有发生验证错误,但是并不表示成功。 SSL_get_verify_result()仅与SSL_get_peer_certificate(3)结合使用。
OpenSSL是否具有API来知道是否忽略了服务器证书?
答案 0 :(得分:0)
TLS握手中的任何内容均不表示客户端根本不验证服务器证书还是不正确。因此,无法创建OpenSSL API来返回此类信息。
服务器检测到这种错误行为的唯一方法是提供无效的证书,并查看客户端是否错误地接受了证书,即继续进行TLS握手并发送应用程序数据。