verify() public method

DSA verify.
public verify ( string $message, string $hash_alg, phpseclib\Math\BigInteger $r, phpseclib\Math\BigInteger $s ) : boolean
$message string Message.
$hash_alg string Hash algorithm.
$r phpseclib\Math\BigInteger r.
$s phpseclib\Math\BigInteger s.
return boolean True if verified.
示例#1
0
 /**
  */
 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();
 }