无法使用openssl进行mTLS身份验证

无法使用openssl进行mTLS身份验证,ssl,openssl,Ssl,Openssl,我创建了一个CA证书(CA.crt),用于签署服务器证书(server.crt)和客户端证书(client.crt) 我正在测试相互身份验证,但没有得到我期望的结果 我正在使用以下命令运行服务器: $ openssl s_server -accept 9003 -CAfile ca.crt -cert server.crt -key server.key -Verify 10 -state -msg 客户: $ openssl s_client -connect localhost:9003

我创建了一个CA证书(CA.crt),用于签署服务器证书(server.crt)和客户端证书(client.crt)

我正在测试相互身份验证,但没有得到我期望的结果

我正在使用以下命令运行服务器:

$ openssl s_server -accept 9003 -CAfile ca.crt -cert server.crt -key server.key -Verify 10 -state -msg
客户:

$ openssl s_client -connect localhost:9003 -key client.key -cert client.crt -CAfile ca.crt -state -tlsextdebug -verify 10
verify depth is 10
SSL_connect:before/connect initialization
SSL_connect:SSLv3 write client hello A
SSL_connect:SSLv3 read server hello A
depth=1 C = FR, ...
verify return:1
depth=0 C = FR, ...
verify return:1
SSL_connect:SSLv3 read server certificate A
SSL_connect:SSLv3 read server key exchange A
SSL_connect:SSLv3 read server certificate request A
SSL_connect:SSLv3 read server done A
SSL_connect:SSLv3 write client certificate A
SSL_connect:SSLv3 write client key exchange A
SSL_connect:SSLv3 write certificate verify A
SSL_connect:SSLv3 write change cipher spec A
SSL_connect:SSLv3 write finished A
SSL_connect:SSLv3 flush data
SSL_connect:SSLv3 read server session ticket A
SSL_connect:SSLv3 read finished A
通信已建立,我可以向服务器发送文本

但是,如果我使用未由已知CA签名的伪KO-client.crt/KO-client.key运行客户机,那么通信也很好

$ openssl s_client -connect localhost:9003 -key KO-client.key -cert KO-client.crt -CAfile ca.crt -state -tlsextdebug -quiet -verify 10
SSL_connect:before/connect initialization
SSL_connect:SSLv3 write client hello A
SSL_connect:SSLv3 read server hello A
depth=1 C = FR, ...
verify return:1
depth=0 C = FR, ...
verify return:1
SSL_connect:SSLv3 read server certificate A
SSL_connect:SSLv3 read server key exchange A
SSL_connect:SSLv3 read server certificate request A
SSL_connect:SSLv3 read server done A
SSL_connect:SSLv3 write client certificate A
SSL_connect:SSLv3 write client key exchange A
SSL_connect:SSLv3 write certificate verify A
SSL_connect:SSLv3 write change cipher spec A
SSL_connect:SSLv3 write finished A
SSL_connect:SSLv3 flush data
SSL_connect:SSLv3 read server session ticket A
SSL_connect:SSLv3 read finished A

我无法找出这里缺少的内容。

请查看服务器的输出
s_服务器
s_客户端
如果无法验证证书,则不会停止,他们只会打印验证失败,但会继续。谢谢,您能将其作为答案吗?为了使这成为一个好的答案,我需要您的服务器的输出,其中显示了验证的实际结果,并且可以看到它在一种情况下成功验证了客户端证书,但在第二种情况下失败了,但仍在继续。仅提供服务器的输出。请查看服务器的输出
s_服务器
s_客户端
如果无法验证证书,则不会停止,他们只会打印验证失败,但会继续。谢谢,您能将其作为答案吗?为了使这成为一个好的答案,我需要您的服务器的输出,其中显示了验证的实际结果,并且可以看到它在一种情况下成功验证了客户端证书,但在第二种情况下失败了,但仍在继续。仅提供服务器的输出。