diff options
author | jim-p <jimp@netgate.com> | 2018-11-06 13:19:42 -0500 |
---|---|---|
committer | jim-p <jimp@netgate.com> | 2018-11-06 13:20:08 -0500 |
commit | 84b70d6911a50ffc6e576e9f8710f3ded89da758 (patch) | |
tree | 6fbf0278cdfb20087f4f0c9d7490ca432eca00ea /src/etc | |
parent | e5e2ea27092c8186d2543f69666203588f18f789 (diff) | |
download | pfsense-84b70d6911a50ffc6e576e9f8710f3ded89da758.zip pfsense-84b70d6911a50ffc6e576e9f8710f3ded89da758.tar.gz |
If the cert date is negative, use DateTime instead of date. Fixes #9100
(cherry picked from commit 3fec247042a91642a22a8761d3c8a1f9df119817)
Diffstat (limited to 'src/etc')
-rw-r--r-- | src/etc/inc/certs.inc | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/src/etc/inc/certs.inc b/src/etc/inc/certs.inc index e8646e5..5470e70 100644 --- a/src/etc/inc/certs.inc +++ b/src/etc/inc/certs.inc @@ -680,9 +680,19 @@ function cert_get_dates($str_crt, $decode = true) { $crt_details = openssl_x509_parse($str_crt); if ($crt_details['validFrom_time_t'] > 0) { $start = date('r', $crt_details['validFrom_time_t']); + } else { + $dt = DateTime::createFromFormat('ymdHis', rtrim($crt_details['validFrom'], 'Z')); + if ($dt !== false) { + $start = $dt->format(DateTimeInterface::RFC2822); + } } if ($crt_details['validTo_time_t'] > 0) { $end = date('r', $crt_details['validTo_time_t']); + } else { + $dt = DateTime::createFromFormat('ymdHis', rtrim($crt_details['validTo'], 'Z')); + if ($dt !== false) { + $end = $dt->format(DateTimeInterface::RFC2822); + } } return array($start, $end); } |