verify() 공개 메소드

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.
리턴 boolean True if verified.
예제 #1
0
파일: Openpgp.php 프로젝트: raz0rsdge/horde
 /**
  */
 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();
 }