Pss

Struct Pss 

Source
pub struct Pss {
    pub blinded: bool,
    pub digest: Box<dyn DynDigest + Send + Sync>,
    pub salt_len: usize,
}
Expand description

Digital signatures using PSS padding.

Fields§

§blinded: bool

Create blinded signatures.

§digest: Box<dyn DynDigest + Send + Sync>

Digest type to use.

§salt_len: usize

Salt length.

Implementations§

Source§

impl Pss

Source

pub fn new<T: 'static + Digest + DynDigest + Send + Sync>() -> Self

New PSS padding for the given digest. Digest output size is used as a salt length.

Source

pub fn new_with_salt<T: 'static + Digest + DynDigest + Send + Sync>( len: usize, ) -> Self

New PSS padding for the given digest with a salt value of the given length.

Source

pub fn new_blinded<T: 'static + Digest + DynDigest + Send + Sync>() -> Self

New PSS padding for blinded signatures (RSA-BSSA) for the given digest. Digest output size is used as a salt length.

Source

pub fn new_blinded_with_salt<T: 'static + Digest + DynDigest + Send + Sync>( len: usize, ) -> Self

New PSS padding for blinded signatures (RSA-BSSA) for the given digest with a salt value of the given length.

Trait Implementations§

Source§

impl Debug for Pss

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl SignatureScheme for Pss

Source§

fn sign<Rng: CryptoRngCore>( self, rng: Option<&mut Rng>, priv_key: &RsaPrivateKey, hashed: &[u8], ) -> Result<Vec<u8>>

Sign the given digest.
Source§

fn verify(self, pub_key: &RsaPublicKey, hashed: &[u8], sig: &[u8]) -> Result<()>

Verify a signed message. Read more

Auto Trait Implementations§

§

impl Freeze for Pss

§

impl !RefUnwindSafe for Pss

§

impl Send for Pss

§

impl Sync for Pss

§

impl Unpin for Pss

§

impl !UnwindSafe for Pss

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V

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: 32 bytes