/** * @param Signature $signature * @return Buffer */ private function doSerialize(Signature $signature) { $signatureOut = ''; if (!secp256k1_ecdsa_signature_serialize_der($this->ecAdapter->getContext(), $signature->getResource(), $signatureOut)) { throw new \RuntimeException('Secp256k1: serialize der failure'); } return new Buffer($signatureOut); }
/** * @param BufferInterface $msg32 * @param PublicKey $publicKey * @param Signature $signature * @return bool */ private function doVerify(BufferInterface $msg32, PublicKey $publicKey, Signature $signature) { return (bool) secp256k1_ecdsa_verify($this->context, $msg32->getBinary(), $signature->getResource(), $publicKey->getResource()); }