pub struct UnparsedPublicKey<B: AsRef<[u8]>> { /* private fields */ }
Expand description
An unparsed, possibly malformed, public key for signature verification.
Implementations§
Source§impl<B: AsRef<[u8]>> UnparsedPublicKey<B>
impl<B: AsRef<[u8]>> UnparsedPublicKey<B>
Sourcepub fn new(algorithm: &'static dyn VerificationAlgorithm, bytes: B) -> Self
pub fn new(algorithm: &'static dyn VerificationAlgorithm, bytes: B) -> Self
Construct a new UnparsedPublicKey
.
No validation of bytes
is done until verify()
is called.
Sourcepub fn verify(
&self,
message: &[u8],
signature: &[u8],
) -> Result<(), Unspecified>
pub fn verify( &self, message: &[u8], signature: &[u8], ) -> Result<(), Unspecified>
Parses the public key and verifies signature
is a valid signature of
message
using it.
See the crate::signature
module-level documentation for examples.
§Errors
error::Unspecified
if inputs not verified.
Sourcepub fn verify_digest(
&self,
digest: &Digest,
signature: &[u8],
) -> Result<(), Unspecified>
pub fn verify_digest( &self, digest: &Digest, signature: &[u8], ) -> Result<(), Unspecified>
Parses the public key and verifies signature
is a valid signature of
digest
using it.
See the crate::signature
module-level documentation for examples.
§Errors
error::Unspecified
if inputs not verified.
Sourcepub fn parse(&self) -> Result<ParsedPublicKey, KeyRejected>
pub fn parse(&self) -> Result<ParsedPublicKey, KeyRejected>
Parses the public key bytes and returns a ParsedPublicKey
.
This method validates the public key format and creates a ParsedPublicKey
that can be used for more efficient signature verification operations.
The parsing overhead is incurred once, making subsequent verifications
faster compared to using UnparsedPublicKey::verify
directly.
This is equivalent to calling ParsedPublicKey::new
with the same
algorithm and bytes.
§Errors
KeyRejected
if the public key bytes are malformed or incompatible
with the specified algorithm.
Trait Implementations§
Source§impl<B: Clone + AsRef<[u8]>> Clone for UnparsedPublicKey<B>
impl<B: Clone + AsRef<[u8]>> Clone for UnparsedPublicKey<B>
Source§fn clone(&self) -> UnparsedPublicKey<B>
fn clone(&self) -> UnparsedPublicKey<B>
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read more