<?php require_once dirname(__FILE__) . '/../lib/openpgp.php'; require_once dirname(__FILE__) . '/../lib/openpgp_crypt_rsa.php'; /* Parse public key from STDIN */ $wkey = OpenPGP_Message::parse(file_get_contents('php://stdin')); /* Parse signed message from file named "t" */ $m = OpenPGP_Message::parse(file_get_contents('t')); /* Create a verifier for the key */ $verify = new OpenPGP_Crypt_RSA($wkey); /* Dump verification information to STDOUT */ var_dump($verify->verify($m));
public function oneKeyRSA($path) { $m = OpenPGP_Message::parse(file_get_contents(dirname(__FILE__) . '/data/' . $path)); $verify = new OpenPGP_Crypt_RSA($m); $this->assertSame($verify->verify($m), $m->signatures()); }
/** */ public function verify($msg, $key) { $verify = new OpenPGP_Crypt_RSA($key->message); $pkey = $verify->key(); switch ($pkey->algorithm) { case 1: case 2: case 3: // RSA return $verify->verify($msg->message); case 17: // DSA $dsa = new Horde_Pgp_Crypt_DSA($pkey); $verifier = function ($m, $s) use($dsa) { return $dsa->verify($m, Horde_String::lower($s->hash_algorithm_name()), new Math_BigInteger($s->data[0], 256), new Math_BigInteger($s->data[1], 256)); }; return $msg->message->verified_signatures(array('DSA' => array('MD5' => $verifier, 'SHA1' => $verifier, 'SHA224' => $verifier, 'SHA256' => $verifier, 'SHA384' => $verifier, 'SHA512' => $verifier))); } throw new RuntimeException(); }