Struct k256::ecdsa::recoverable::Signature
source · pub struct Signature { /* private fields */ }
Expand description
Ethereum-style “recoverable signatures” which allow for the recovery of
the signer’s VerifyingKey
from the signature itself.
This format consists of Signature
followed by a 1-byte recovery Id
(65-bytes total):
r
: 32-byte integer, big endians
: 32-byte integer, big endianv
: 1-byte recoveryId
Implementations§
source§impl Signature
impl Signature
sourcepub fn recovery_id(self) -> Id
pub fn recovery_id(self) -> Id
Get the recovery Id
for this signature
sourcepub fn from_digest_trial_recovery<D>(
public_key: &VerifyingKey,
digest: D,
signature: &Signature
) -> Result<Self>where
D: Clone + Digest + FixedOutput<OutputSize = U32>,
pub fn from_digest_trial_recovery<D>( public_key: &VerifyingKey, digest: D, signature: &Signature ) -> Result<Self>where D: Clone + Digest + FixedOutput<OutputSize = U32>,
Given a public key, message digest, and signature, use trial recovery to determine if a suitable recovery ID exists, or return an error otherwise.
sourcepub fn from_digest_bytes_trial_recovery(
public_key: &VerifyingKey,
digest_bytes: &FieldBytes,
signature: &Signature
) -> Result<Self>
pub fn from_digest_bytes_trial_recovery( public_key: &VerifyingKey, digest_bytes: &FieldBytes, signature: &Signature ) -> Result<Self>
Given a public key, message digest, and signature, use trial recovery to determine if a suitable recovery ID exists, or return an error otherwise.
sourcepub fn recover_verifying_key_from_digest<D>(
&self,
msg_digest: D
) -> Result<VerifyingKey>where
D: Digest<OutputSize = U32>,
pub fn recover_verifying_key_from_digest<D>( &self, msg_digest: D ) -> Result<VerifyingKey>where D: Digest<OutputSize = U32>,
Recover the public key used to create the given signature as a
VerifyingKey
from the provided precomputed Digest
.
sourcepub fn recover_verifying_key_from_digest_bytes(
&self,
digest_bytes: &FieldBytes
) -> Result<VerifyingKey>
pub fn recover_verifying_key_from_digest_bytes( &self, digest_bytes: &FieldBytes ) -> Result<VerifyingKey>
Recover the public key used to create the given signature as a
VerifyingKey
from the raw bytes of a message digest.
sourcepub fn r(&self) -> NonZeroScalar
pub fn r(&self) -> NonZeroScalar
Parse the r
component of this signature to a NonZeroScalar
sourcepub fn s(&self) -> NonZeroScalar
pub fn s(&self) -> NonZeroScalar
Parse the s
component of this signature to a NonZeroScalar
Trait Implementations§
source§impl<D> DigestSigner<D, Signature> for SigningKeywhere
D: Digest + FixedOutput<OutputSize = U32>,
impl<D> DigestSigner<D, Signature> for SigningKeywhere D: Digest + FixedOutput<OutputSize = U32>,
source§fn try_sign_digest(&self, msg_digest: D) -> Result<Signature>
fn try_sign_digest(&self, msg_digest: D) -> Result<Signature>
Digest
, returning a
digital signature on success, or an error if something went wrong.