4

我应该使用什么函数来获取 x509 证书到期日期?我将首先检查证书的有效性。如果它已过期,我需要获取证书的过期日期。

4

2 回答 2

7

我认为你应该使用这个。

#define     X509_get_notBefore(x) ((x)->cert_info->validity->notBefore)
#define     X509_get_notAfter(x) ((x)->cert_info->validity->notAfter)

看看这个例子。示例使用此宏。

http://www.openssl.org/docs/crypto/X509_STORE_CTX_set_verify_cb.html

于 2012-07-27T07:12:05.900 回答
6

编辑:您应该在使用 X509_get_notAfter 和 X509_get_notBefore 之后执行以下操作,如“永远”之前回答的那样。

要转换,ASN1_TIME您可以使用ASN1_TIME_print()asn1.h 中声明的例程。

这将完成这项工作:

BIO *bio;
int write = 0;
bio = BIO_new(BIO_s_mem());
if (bio) {
    if (ASN1_TIME_print(bio, tm))
        write = BIO_read(bio, buf, len-1);
    BIO_free(bio);
}
buf[write]='\0';
return write;
于 2012-07-27T08:27:47.637 回答