X509: fix errors with validateDate

This commit is contained in:
terrafrost 2018-11-22 13:28:42 -06:00
parent ec7454dd78
commit 476cb127b1

View File

@ -2111,17 +2111,16 @@ class X509
$notAfter = $this->currentCert['tbsCertificate']['validity']['notAfter']; $notAfter = $this->currentCert['tbsCertificate']['validity']['notAfter'];
$notAfter = isset($notAfter['generalTime']) ? $notAfter['generalTime'] : $notAfter['utcTime']; $notAfter = isset($notAfter['generalTime']) ? $notAfter['generalTime'] : $notAfter['utcTime'];
switch (true) { if (is_string($date)) {
case is_string($date): $date = new DateTime($date, new DateTimeZone(@date_default_timezone_get()));
$date = new DateTime($date, new DateTimeZone(@date_default_timezone_get()));
default:
$notBefore = new DateTime($notBefore, new DateTimeZone(@date_default_timezone_get()));
$notAfter = new DateTime($notAfter, new DateTimeZone(@date_default_timezone_get()));
} }
$notBefore = new DateTime($notBefore, new DateTimeZone(@date_default_timezone_get()));
$notAfter = new DateTime($notAfter, new DateTimeZone(@date_default_timezone_get()));
switch (true) { switch (true) {
case $date < new DateTime($notBefore, new DateTimeZone(@date_default_timezone_get())): case $date < $notBefore:
case $date > new DateTime($notAfter, new DateTimeZone(@date_default_timezone_get())): case $date > $notAfter:
return false; return false;
} }