我有 X509 格式的证书。这是函数中的输入参数。
我想做的是验证证书的有效性。
如何做呢?
X509_verify_cert();
我找到了这个函数,但是它不接受 X509* 证书,它接受 X509_store 而我只有一个 X509。
谢谢
此致。
我来这里只是为了发布我的答案,因为我在上述评论中找到了它。
我没有证书链,所以在我正在做的工作中,我只有一个由我以编程方式生成的证书。我想检查它的有效性,因此我创建了以下函数,该函数在其他函数中检查证书自身以验证其有效性。
void check_certificate_validaty(X509* certificate)
{
int status;
X509_STORE_CTX *ctx;
ctx = X509_STORE_CTX_new();
X509_STORE *store = X509_STORE_new();
X509_STORE_add_cert(store, certificate);
X509_STORE_CTX_init(ctx, store, certificate, NULL);
status = X509_verify_cert(ctx);
if(status == 1)
{
printf("Certificate verified ok\n");
}else
{
printf("%s\n", X509_verify_cert_error_string(ctx->error));
}
}
希望这对某人有帮助:)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)