c++ - 验证 STACK_OF(X509) 中的证书链

标签 c++ openssl x509certificate x509

所以我在 STACK_OF(X509) 中存储了一个证书链。 这是我用它做的:

STACK_OF(X509) *chain = SSL_get_peer_cert_chain(ssl);

X509_STORE_CTX* newCert = X509_STORE_CTX_new();
if(newCert){
    X509_STORE_CTX_set_chain(newCert, chain);
    std::cout << X509_verify_cert(newCert) << std::endl;
}
std::cout << "ERROR : " << X509_STORE_CTX_get_error(newCert) << std::endl;

问题是 X509_verify_cert(newCert) 返回 -1,这意味着 X509_STORE_CTX 的初始化没有正确关闭。我错过了什么?

最佳答案

我想,这与 Use of STACK_OF(X509) 有关.

您不应该只复制 apps/verify.c 处的一半源代码.如果你看得更深,你会发现,除此之外,

 286         if(!X509_STORE_CTX_init(csc,ctx,x,uchain))

关于c++ - 验证 STACK_OF(X509) 中的证书链,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14849369/

相关文章:

Java X509 证书解析和验证

c++ - 转换为递归函数?

c++ - 指向抽象类的指针 vector ,用于访问派生类成员

ruby-on-rails - 问题 : Could not load OpenSSL

powershell - 在其他用户的当前用户存储上安装证书

java - Apache HttpClient 4.3 和 x509 客户端证书进行身份验证

c++ - glsl - 光线行进在片段着色器中不起作用

|| 的 C++ 排序and && 在 if 语句中测试相等性时

android - Android 9 上的 Qt 和 OpenSSL

c++ - OpenSSL EVP_DigestSignFinal 段错误