diff --git a/phpseclib/File/X509.php b/phpseclib/File/X509.php index 5ff29017..429b7724 100644 --- a/phpseclib/File/X509.php +++ b/phpseclib/File/X509.php @@ -1512,6 +1512,8 @@ class File_X509 it seems like perhaps the ASN.1 description ought not say the parameters field is OPTIONAL, but whatever. */ $cert['tbsCertificate']['subjectPublicKeyInfo']['algorithm']['parameters'] = null; + // https://tools.ietf.org/html/rfc3279#section-2.2.1 + $cert['signatureAlgorithm']['parameters'] = null; } } diff --git a/tests/Unit/File/X509/X509Test.php b/tests/Unit/File/X509/X509Test.php index 40737d8c..34999245 100644 --- a/tests/Unit/File/X509/X509Test.php +++ b/tests/Unit/File/X509/X509Test.php @@ -137,6 +137,7 @@ aBtsWpliLSex/HHhtRW9AkBGcq67zKmEpJ9kXcYLEjJii3flFS+Ct/rNm+Hhm1l7 $cert = $x509->loadX509($cert); $this->assertArrayHasKey('parameters', $cert['tbsCertificate']['subjectPublicKeyInfo']['algorithm']); + $this->assertArrayHasKey('parameters', $cert['signatureAlgorithm']); } private function _encodeOID($oid)