OpenSSL验证成功,但服务器证书验证失败

OpenSSL验证成功,但服务器证书验证失败,ssl,openssl,Ssl,Openssl,我用cfssl创建了一个CA证书和另一个证书。代理证书似乎使用openssl进行验证: $ openssl verify -verbose -x509_strict -CAfile ca_cert.pem -CApath nosuchdir agent_cert.pem agent_cert.pem: OK 但是,当我编写一个简单的客户机/服务器时,会出现以下错误: 4106024700:error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICA

我用cfssl创建了一个CA证书和另一个证书。代理证书似乎使用openssl进行验证:

$ openssl verify -verbose -x509_strict -CAfile ca_cert.pem -CApath nosuchdir agent_cert.pem
agent_cert.pem: OK
但是,当我编写一个简单的客户机/服务器时,会出现以下错误:

4106024700:error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed:s3_clnt.c:1063:
我正在调用SSL_CTX_load_verify_位置,并使用以下方法在两侧设置证书:

SSL_CTX_use_certificate_file(
    sslCtx(),"./agent_cert.pem",
    SSL_FILETYPE_PEM);

SSL_CTX_use_PrivateKey_file(
    sslCtx(),"./agent_privkey.pem",
    SSL_FILETYPE_PEM);

SSL_CTX_load_verify_locations(
    sslCtx(),"./ca_cert.pem",
    NULL);

可能是什么问题?

您是否撤消了私钥和证书?它应该是
SSL\u CTX\u use\u certificate\u文件(sslCtx(),“/agent\u cert.pem”,SSL\u文件类型\u pem)
SSL\u CTX\u使用私钥文件(sslCtx(),“/agent\u privkey.pem”,SSL\u文件类型\u pem)?检查您使用的函数的结果可能有助于查找jfly注意到的错误。不幸的是,这只是我文章中的一个错误,而不是代码本身。我已经检查了结果,它们都成功了。服务器的URL或服务器名称是什么?另请参见OpenSSL wiki上的。