pub struct Verifier<'a> { /* private fields */ }
Expand description
A type which can be used to verify the integrity and authenticity of data given the signature.
Implementations§
Source§impl<'a> Verifier<'a>
A type which verifies cryptographic signatures of data.
impl<'a> Verifier<'a>
A type which verifies cryptographic signatures of data.
Sourcepub fn new<T>(
type_: MessageDigest,
pkey: &'a PKeyRef<T>,
) -> Result<Verifier<'a>, ErrorStack>where
T: HasPublic,
pub fn new<T>(
type_: MessageDigest,
pkey: &'a PKeyRef<T>,
) -> Result<Verifier<'a>, ErrorStack>where
T: HasPublic,
Creates a new Verifier
.
This cannot be used with Ed25519 or Ed448 keys. Please refer to
Verifier::new_without_digest
.
This corresponds to EVP_DigestVerifyInit
.
Sourcepub fn new_without_digest<T>(
pkey: &'a PKeyRef<T>,
) -> Result<Verifier<'a>, ErrorStack>where
T: HasPublic,
pub fn new_without_digest<T>(
pkey: &'a PKeyRef<T>,
) -> Result<Verifier<'a>, ErrorStack>where
T: HasPublic,
Creates a new Verifier
without a digest.
This is the only way to create a Verifier
for Ed25519 or Ed448 keys.
This corresponds to EVP_DigestVerifyInit
.
Sourcepub fn rsa_padding(&self) -> Result<Padding, ErrorStack>
pub fn rsa_padding(&self) -> Result<Padding, ErrorStack>
Returns the RSA padding mode in use.
This is only useful for RSA keys.
This corresponds to EVP_PKEY_CTX_get_rsa_padding
.
Sourcepub fn set_rsa_padding(&mut self, padding: Padding) -> Result<(), ErrorStack>
pub fn set_rsa_padding(&mut self, padding: Padding) -> Result<(), ErrorStack>
Sets the RSA padding mode.
This is only useful for RSA keys.
This corresponds to EVP_PKEY_CTX_set_rsa_padding
.
Sourcepub fn set_rsa_pss_saltlen(
&mut self,
len: RsaPssSaltlen,
) -> Result<(), ErrorStack>
pub fn set_rsa_pss_saltlen( &mut self, len: RsaPssSaltlen, ) -> Result<(), ErrorStack>
Sets the RSA PSS salt length.
This is only useful for RSA keys.
This corresponds to EVP_PKEY_CTX_set_rsa_pss_saltlen
.
Sourcepub fn set_rsa_mgf1_md(&mut self, md: MessageDigest) -> Result<(), ErrorStack>
pub fn set_rsa_mgf1_md(&mut self, md: MessageDigest) -> Result<(), ErrorStack>
Sets the RSA MGF1 algorithm.
This is only useful for RSA keys.
This corresponds to EVP_PKEY_CTX_set_rsa_mgf1_md
.
Sourcepub fn update(&mut self, buf: &[u8]) -> Result<(), ErrorStack>
pub fn update(&mut self, buf: &[u8]) -> Result<(), ErrorStack>
Feeds more data into the Verifier
.
Please note that PureEdDSA (Ed25519 and Ed448 keys) do not support streaming.
Use Verifier::verify_oneshot
instead.
This corresponds to EVP_DigestUpdate
.
Sourcepub fn verify(&self, signature: &[u8]) -> Result<bool, ErrorStack>
pub fn verify(&self, signature: &[u8]) -> Result<bool, ErrorStack>
Determines if the data fed into the Verifier
matches the provided signature.
This corresponds to EVP_DigestVerifyFinal
.
Sourcepub fn verify_oneshot(
&mut self,
signature: &[u8],
buf: &[u8],
) -> Result<bool, ErrorStack>
pub fn verify_oneshot( &mut self, signature: &[u8], buf: &[u8], ) -> Result<bool, ErrorStack>
Determines if the data given in buf
matches the provided signature.
This corresponds to EVP_DigestVerify
.
Trait Implementations§
Source§impl Write for Verifier<'_>
impl Write for Verifier<'_>
Source§fn write(&mut self, buf: &[u8]) -> Result<usize>
fn write(&mut self, buf: &[u8]) -> Result<usize>
Source§fn flush(&mut self) -> Result<()>
fn flush(&mut self) -> Result<()>
Source§fn is_write_vectored(&self) -> bool
fn is_write_vectored(&self) -> bool
can_vector
)1.0.0 · Source§fn write_all(&mut self, buf: &[u8]) -> Result<(), Error>
fn write_all(&mut self, buf: &[u8]) -> Result<(), Error>
Source§fn write_all_vectored(&mut self, bufs: &mut [IoSlice<'_>]) -> Result<(), Error>
fn write_all_vectored(&mut self, bufs: &mut [IoSlice<'_>]) -> Result<(), Error>
write_all_vectored
)impl Send for Verifier<'_>
impl Sync for Verifier<'_>
Auto Trait Implementations§
impl<'a> Freeze for Verifier<'a>
impl<'a> RefUnwindSafe for Verifier<'a>
impl<'a> Unpin for Verifier<'a>
impl<'a> UnwindSafe for Verifier<'a>
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Layout§
Note: Most layout information is completely unstable and may even differ between compilations. The only exception is types with certain repr(...)
attributes. Please see the Rust Reference's “Type Layout” chapter for details on type layout guarantees.
Size: 16 bytes