public function testLastError() { if (false === extension_loaded('openssl')) { $this->markTestSkipped('The "openssl" extension is required to test the exception.'); } OpenSslException::reset(); openssl_pkey_get_private('test', 'test'); $exception = OpenSslException::lastError(); $this->assertRegExp('/PEM routines/', $exception->getMessage()); }
/** * @see VerifyInterface::verify */ public function verify($signature) { OpenSslException::reset(); ob_start(); $result = openssl_verify($this->getData(), @pack('H*', $signature), $this->getKey()); $error = trim(ob_get_clean()); if (-1 === $result) { throw OpenSslException::lastError(); } elseif (!empty($error)) { throw new OpenSslException($error); } return 1 === $result; }