Esempio n. 1
0
 /**
  * @param SignedMessage $signedMessage
  * @param PayToPubKeyHashAddress $address
  * @return bool
  */
 public function verify(SignedMessage $signedMessage, PayToPubKeyHashAddress $address)
 {
     $hash = $this->calculateMessageHash($signedMessage->getMessage());
     $publicKey = $this->ecAdapter->recoverCompact($hash, $signedMessage->getCompactSignature());
     return $publicKey->getAddress()->getHash() == $address->getHash();
 }
 /**
  * @param SignedMessage $signedMessage
  * @return string
  */
 public function serialize(SignedMessage $signedMessage)
 {
     $content = self::HEADER . PHP_EOL . $signedMessage->getMessage() . PHP_EOL . self::SIG_START . PHP_EOL . base64_encode($signedMessage->getCompactSignature()->getBinary()) . PHP_EOL . self::FOOTER;
     return new Buffer($content);
 }