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());
 }
Beispiel #2
0
 /**
  * @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;
 }