0

所以我有一个证书链存储在 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没有正确关闭。我错过了什么?

4

1 回答 1

2

我想,这与使用 STACK_OF(X509)有关。

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

 286         if(!X509_STORE_CTX_init(csc,ctx,x,uchain))
于 2013-02-13T08:42:13.730 回答