TLS Mutual Auth:null证书链(C客户端 - > Java服务器),除非cafile指向与cert相同的文件

问题描述 投票:1回答:1

如果我只使用cert(带链)和私钥发出openssl调用,那么服务器在握手时拒绝客户端证书就会出现问题。

如果我还设置了cafile参数并将其指向与cert相同的文件,则此问题就消失了。

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

总而言之,这有效:

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

这不起作用(服务器拒绝“null cert chain”):

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

打开SSL版本:

OpenSSL 1.0.2k-fips  26 Jan 2017
ssl openssl mutual-authentication
1个回答
2
投票

问题不在于“openssl不能在没有咖啡馆的情况下构建连锁店”,而是首先不打算这样做。 man s_client中记录了预期的行为:

-cert certname 要使用的证书(如果服务器请求的证书)。

-CAfile文件 包含在服务器身份验证期间使用的可信证书以及在尝试构建客户端证书链时使用的文件。

© www.soinside.com 2019 - 2024. All rights reserved.