Openssl C++获取到期日期

Openssl C++ get expiry date

本文关键字:日期 获取 C++ Openssl      更新时间:2023-10-16

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

编辑:您应该在使用X509_get_notAfter和X509_get-notBefore之后执行以下操作,如前面"Forever"所回答的那样。

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

这将完成任务:

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]='';
return write;

我认为你应该使用这个。

#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