gpt4 book ai didi

ssl - TLS 相互认证 : null cert chain (C client -> Java server) unless cafile points to same file as cert

转载 作者:太空宇宙 更新时间:2023-11-03 13:14:04 26 4
gpt4 key购买 nike

如果我仅使用证书(带链)和私钥发出 openssl 调用,我会遇到服务器拒绝握手中的客户端证书的问题。

如果我还设置了 cafile 参数并将其指向与证书相同的文件,这个问题就会消失。

即使信息已经在证书输入中,openssl 似乎也无法在没有 cafile 输入的情况下构建链。我想知道你们是否有这方面的经验。我只是觉得有点奇怪。

总而言之,这是可行的:

sudo openssl s_client -connect <ip>:<port> -cert cert_with_chain.pem -key privkey.pem -CAfile cert_with_chain.pem

这不起作用(服务器拒绝“空证书链”):

sudo openssl s_client -connect <ip>:<port> -cert cert_with_chain.pem -key privkey.pem

开放SSL版本:

OpenSSL 1.0.2k-fips  26 Jan 2017

最佳答案

问题不在于“openssl 不能在没有 cafile 的情况下构建链”,而是它一开始并不是有意这样做的。 man s_client 中详细记录了预期的行为:

-cert certname
The certificate to use, if one is requested by the server.

-CAfile file
A file containing trusted certificates to use during server authentication and to use when attempting to build the client certificate chain.

关于ssl - TLS 相互认证 : null cert chain (C client -> Java server) unless cafile points to same file as cert,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55155122/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com