user3387347
user3387347

Reputation: 59

Retrieve the expiry time of certificates in PEM format

I have a requirement to inform customers that their certificate is going to expire in some days so renew before that time work TLS encryption to work as expected.

How do I retrieve the expiry time of certificates in PEM format?

Upvotes: 0

Views: 1622

Answers (2)

Innocent Anigbo
Innocent Anigbo

Reputation: 4777

Copy the content of the PEM certificate to this site and it will display the ssl certificate details including start and expiration dates

https://www.sslshopper.com/certificate-decoder.html

Upvotes: 0

bartonjs
bartonjs

Reputation: 33098

 #if FROMFILE
 BIO* bio = BIO_new_file(filename, "rb");
 if (bio == null) goto err;
 #else
 BIO* bio = BIO_new(BIO_s_mem());
 BIO_write(bio, data, dataLen);
 #endif

 X509* x509 = PEM_read_bio_X509(bio, NULL, NULL, NULL);
 if (x509 == null) goto err;

 #if OPENSSL_11
 ASN1_TIME* notBefore = X509_get0_notBefore(x509);
 #else
 ASN1_TIME* notBefore = x509->validity->notBefore;
 #endif

 // Choose a time representation and convert the ASN1_TIME to it.

 goto cleanup;

 err:
 // Exercise left to the reader.

 cleanup:
 // Don't free notBefore, since it was obtained via a get0 or interior pointer.
 if (x509) X509_free(x509);
 if (bio) BIO_free(bio);

Upvotes: 1

Related Questions