control: tags -1 + patch fixed-upstream Attaching patch from upstream repository.
Sebastian
>From 59cc22b8d65669da599f1c435fdfe35d4e07db0e Mon Sep 17 00:00:00 2001 From: Ravi Kant Sharma <[email protected]> Date: Thu, 4 Jun 2026 12:49:44 +0200 Subject: [PATCH] crypto-openssl: use ASN1_TIME_to_tm Introduced in openssl-1.1.1 and is required for openssl-4. --- ChangeLog | 1 + lib/_pkcs11h-crypto-openssl.c | 16 +++++----------- 2 files changed, 6 insertions(+), 11 deletions(-) diff --git a/lib/_pkcs11h-crypto-openssl.c b/lib/_pkcs11h-crypto-openssl.c index 05af65e10872..aa58722cd1b2 100644 --- a/lib/_pkcs11h-crypto-openssl.c +++ b/lib/_pkcs11h-crypto-openssl.c @@ -148,21 +148,15 @@ __pkcs11h_crypto_openssl_certificate_get_expiration ( notBefore != NULL && notAfter != NULL && X509_cmp_current_time (notBefore) <= 0 && - X509_cmp_current_time (notAfter) >= 0 && - notAfter->length >= 12 + X509_cmp_current_time (notAfter) >= 0 ) { struct tm tm1; memset (&tm1, 0, sizeof (tm1)); - tm1.tm_year = (notAfter->data[ 0] - '0') * 10 + (notAfter->data[ 1] - '0') + 100; - tm1.tm_mon = (notAfter->data[ 2] - '0') * 10 + (notAfter->data[ 3] - '0') - 1; - tm1.tm_mday = (notAfter->data[ 4] - '0') * 10 + (notAfter->data[ 5] - '0'); - tm1.tm_hour = (notAfter->data[ 6] - '0') * 10 + (notAfter->data[ 7] - '0'); - tm1.tm_min = (notAfter->data[ 8] - '0') * 10 + (notAfter->data[ 9] - '0'); - tm1.tm_sec = (notAfter->data[10] - '0') * 10 + (notAfter->data[11] - '0'); - - *expiration = mktime (&tm1); - *expiration += (int)(mktime (localtime (expiration)) - mktime (gmtime (expiration))); + if (ASN1_TIME_to_tm (notAfter, &tm1)) { + *expiration = mktime (&tm1); + *expiration += (int)(mktime (localtime (expiration)) - mktime (gmtime (expiration))); + } } cleanup: -- 2.55.0

