0
Итак, у меня есть цепочка сертификатов, хранящаяся в STACK_OF (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
не вниз должным образом. Что мне не хватает?
Что делает X509_STORE * магазин делать? как инициализировать это? И если у меня есть цепочка, должен ли я использовать третий параметр, X509 *? –
Мне нужно инициализировать все сертификаты в ssl/certs в x509_store, а затем использовать его для проверки сертификатов в стеке (x509)? –
@PrasanthMadhavan Я не знаком с openssl, но быстрый взгляд на вызывающих «проверок» приводит к «X509_STORE_new», и это приводит к http://stackoverflow.com/q/6646841/1741542 и http: // stackoverflow.com/q/2756553/1741542. Я думаю, что это не тривиальная задача. Вам нужно немного поискать и поэкспериментировать с источником verify.c. –