如何使用X509_verify()

Gee*_*eek 4 c++ openssl certificate x509certificate x509

我们如何使用X509_verify().我有两张证书.第一个证书是根证书,它签署了下一个证书(这是我的证书).所以我想检查我的证书是否使用C++中的x509_verify()通过根证书签名.我的目标是保持代码简单易懂,所以我也可以把它放到网上.

dop*_*ime 10

X509_verify的签名是

 int X509_verify(X509 * x509, EVP_PKEY * pkey);
Run Code Online (Sandbox Code Playgroud)

假设您在root中拥有根证书,在mycert中拥有证书;

   X509 * root;
   X509 * mycert;

//Get root certificate into root
//Get mycert into mycert.

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

//verify. result less than or 0 means not verified or some error.
int result = X509_verify(mycert, pubkey);

//free the public key.
EVP_PKEY_free(pubkey);
Run Code Online (Sandbox Code Playgroud)

我想这会对你有所帮助.