Empty server certificate chain
时间: 2023-11-22 08:34:37 浏览: 286
mmu.rar_empty
Empty server certificate chain是指在使用OpenSSL进行TLS连接时,服务器没有提供有效的证书链。在某些情况下,尽管客户端证书已被呈现,但OpenSSL会产生一个空的证书链(SSL_get_peer_cert_chain返回NULL)。这可能是由于服务器未正确配置或未正确加载证书链所致。
要解决这个问题,可以通过创建新的证书链来补充空的证书链。可以使用SSL_get_peer_certificate函数获取服务器证书,然后使用sk_X509_new_null函数创建一个空的证书链对象,并将服务器证书添加到证书链中。
需要注意的是,对于证书是否是有效的CA证书,不能简单地进行布尔操作。可以使用X509_check_ca函数来检查证书是否是CA证书。如果返回值大于等于1,则表示是CA证书,如果返回值为0,则表示不是CA证书。
在使用OpenSSL进行TLS连接时,可以通过SSL结构提取出服务器呈现的证书和整个证书链。具体实现方式可能因连接的方式不同而有所不同。一旦获取到SSL上下文,可以使用SSL_get_peer_certificate函数获取服务器证书,使用SSL_get_peer_cert_chain函数获取证书链。
阅读全文