From fd73a2121ced27ecf1491246b98c07b8e20dc005 Mon Sep 17 00:00:00 2001 From: Ben Laurie Date: Sun, 14 May 2000 12:39:53 +0000 Subject: Allow UTCTIME objects to be retrieved. Check for imminent cert expiry. --- crypto/asn1/a_utctm.c | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) (limited to 'crypto/asn1/a_utctm.c') diff --git a/crypto/asn1/a_utctm.c b/crypto/asn1/a_utctm.c index 07565974e3..e8d2836c58 100644 --- a/crypto/asn1/a_utctm.c +++ b/crypto/asn1/a_utctm.c @@ -264,3 +264,32 @@ ASN1_UTCTIME *ASN1_UTCTIME_set(ASN1_UTCTIME *s, time_t t) #endif return(s); } + +time_t ASN1_UTCTIME_get(const ASN1_UTCTIME *s) + { + struct tm tm; + int offset; + + memset(&tm,'\0',sizeof tm); + +#define g2(p) (((p)[0]-'0')*10+(p)[1]-'0') + tm.tm_year=g2(s->data); + if(tm.tm_year < 50) + tm.tm_year+=100; + tm.tm_mon=g2(s->data+2)-1; + tm.tm_mday=g2(s->data+4); + tm.tm_hour=g2(s->data+6); + tm.tm_min=g2(s->data+8); + tm.tm_sec=g2(s->data+10); + if(s->data[12] == 'Z') + offset=0; + else + { + offset=g2(s->data+13)*60+g2(s->data+15); + if(s->data[12] == '-') + offset= -offset; + } +#undef g2 + + return timegm(&tm)-offset*60; + } -- cgit v1.2.3