Ssl 验证服务器证书是否与根CA证书匹配

Ssl 验证服务器证书是否与根CA证书匹配,ssl,openssl,certificate,ssl-certificate,Ssl,Openssl,Certificate,Ssl Certificate,我有一个服务器的SSL服务器证书,我有一个根CA证书,客户端可以在SSL握手期间验证此服务器证书。由于某些原因,我不确定是否真的检索到了正确的根证书。是否有任何方法可以查看我是否拥有正确的根证书?可能是一个openssl命令,其中我提供了两个文件,输出告诉我“根CA证书确认SSL证书” 可能吗 谢谢。有一个OpenSSL函数X509\u verify使用此函数,您可以使用根目录的公钥验证证书 我在下面展示它的示例用法: //Get the public key of the root. EVP_

我有一个服务器的SSL服务器证书,我有一个根CA证书,客户端可以在SSL握手期间验证此服务器证书。由于某些原因,我不确定是否真的检索到了正确的根证书。是否有任何方法可以查看我是否拥有正确的根证书?可能是一个openssl命令,其中我提供了两个文件,输出告诉我“根CA证书确认SSL证书”

可能吗


谢谢。

有一个OpenSSL函数
X509\u verify
使用此函数,您可以使用根目录的公钥验证证书

我在下面展示它的示例用法:

//Get the public key of the root.
EVP_PKEY * pubkey = X509_get_pubkey(ca_cert);

//Verify the certificate.
ret = X509_verify(cert, pubkey);

if(ret != 1)
   //not verified.

OpenSSL不会告诉您此根证书是否正确。您必须显式地将其设置为受信任或不受信任。根证书是自签名的,因此其公钥应该对其进行验证。

命令是
openssl verify-CAfile ca.crt server.crt

如果两个证书匹配,命令将返回
server.crt:OK

上述命令仅适用于pem格式。
如果您有.p12文件,则首先将其转换为pem格式:

openssl pkcs12-in server.p12-out server.crt-nodes

openssl-verify-CAfile ca.crt-server.p12我有,所以我有一个p12文件。命令返回无法加载证书。