BlindedSigningKey

Struct BlindedSigningKey 

Source
pub struct BlindedSigningKey<D>
where D: Digest,
{ /* private fields */ }
Expand description

Signing key for producing “blinded” RSASSA-PSS signatures as described in draft-irtf-cfrg-rsa-blind-signatures.

Implementations§

Source§

impl<D> BlindedSigningKey<D>
where D: Digest,

Source

pub fn new(key: RsaPrivateKey) -> Self

Create a new RSASSA-PSS signing key which produces “blinded” signatures. Digest output size is used as a salt length.

Source

pub fn new_with_salt_len(key: RsaPrivateKey, salt_len: usize) -> Self

Create a new RSASSA-PSS signing key which produces “blinded” signatures with a salt of the given length.

Source

pub fn random<R: CryptoRngCore + ?Sized>( rng: &mut R, bit_size: usize, ) -> Result<Self>

Create a new random RSASSA-PSS signing key which produces “blinded” signatures. Digest output size is used as a salt length.

Source

pub fn random_with_salt_len<R: CryptoRngCore + ?Sized>( rng: &mut R, bit_size: usize, salt_len: usize, ) -> Result<Self>

Create a new random RSASSA-PSS signing key which produces “blinded” signatures with a salt of the given length.

Source

pub fn salt_len(&self) -> usize

Return specified salt length for this key

Trait Implementations§

Source§

impl<D> AsRef<RsaPrivateKey> for BlindedSigningKey<D>
where D: Digest,

Source§

fn as_ref(&self) -> &RsaPrivateKey

Converts this type into a shared reference of the (usually inferred) input type.
Source§

impl<D> AssociatedAlgorithmIdentifier for BlindedSigningKey<D>
where D: Digest,

Source§

const ALGORITHM_IDENTIFIER: AlgorithmIdentifierRef<'static> = pkcs1::ALGORITHM_ID

AlgorithmIdentifier for this structure.
Source§

type Params = AnyRef<'static>

Algorithm parameters.
Source§

impl<D> Clone for BlindedSigningKey<D>
where D: Digest + Clone,

Source§

fn clone(&self) -> BlindedSigningKey<D>

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl<D> Debug for BlindedSigningKey<D>
where D: Digest + Debug,

Source§

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

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

impl<D> DynSignatureAlgorithmIdentifier for BlindedSigningKey<D>
where D: Digest + AssociatedOid,

Source§

fn signature_algorithm_identifier(&self) -> Result<AlgorithmIdentifierOwned>

AlgorithmIdentifier for the corresponding singature system.
Source§

impl<D> EncodePrivateKey for BlindedSigningKey<D>
where D: Digest,

Source§

fn to_pkcs8_der(&self) -> Result<SecretDocument>

Serialize a SecretDocument containing a PKCS#8-encoded private key.
Source§

fn to_pkcs8_pem( &self, line_ending: LineEnding, ) -> Result<Zeroizing<String>, Error>

Serialize this private key as PEM-encoded PKCS#8 with the given LineEnding.
Source§

fn write_pkcs8_der_file(&self, path: impl AsRef<Path>) -> Result<(), Error>

Write ASN.1 DER-encoded PKCS#8 private key to the given path
Source§

fn write_pkcs8_pem_file( &self, path: impl AsRef<Path>, line_ending: LineEnding, ) -> Result<(), Error>

Write ASN.1 DER-encoded PKCS#8 private key to the given path
Source§

impl<D> From<BlindedSigningKey<D>> for RsaPrivateKey
where D: Digest,

Source§

fn from(key: BlindedSigningKey<D>) -> Self

Converts to this type from the input type.
Source§

impl<D> From<RsaPrivateKey> for BlindedSigningKey<D>
where D: Digest,

Source§

fn from(key: RsaPrivateKey) -> Self

Converts to this type from the input type.
Source§

impl<D> Keypair for BlindedSigningKey<D>
where D: Digest,

Source§

type VerifyingKey = VerifyingKey<D>

Verifying key type for this keypair.
Source§

fn verifying_key(&self) -> Self::VerifyingKey

Get the verifying key which can verify signatures produced by the signing key portion of this keypair.
Source§

impl<D> RandomizedDigestSigner<D, Signature> for BlindedSigningKey<D>

Source§

fn try_sign_digest_with_rng( &self, rng: &mut impl CryptoRngCore, digest: D, ) -> Result<Signature>

Attempt to sign the given prehashed message Digest, returning a digital signature on success, or an error if something went wrong.
Source§

fn sign_digest_with_rng(&self, rng: &mut impl CryptoRngCore, digest: D) -> S

Sign the given prehashed message Digest, returning a signature. Read more
Source§

impl<D> RandomizedPrehashSigner<Signature> for BlindedSigningKey<D>

Source§

fn sign_prehash_with_rng( &self, rng: &mut impl CryptoRngCore, prehash: &[u8], ) -> Result<Signature>

Attempt to sign the given message digest, returning a digital signature on success, or an error if something went wrong. Read more
Source§

impl<D> RandomizedSigner<Signature> for BlindedSigningKey<D>

Source§

fn try_sign_with_rng( &self, rng: &mut impl CryptoRngCore, msg: &[u8], ) -> Result<Signature>

Attempt to sign the given message, returning a digital signature on success, or an error if something went wrong. Read more
Source§

fn sign_with_rng(&self, rng: &mut impl CryptoRngCore, msg: &[u8]) -> S

Sign the given message and return a digital signature
Source§

impl<D> ZeroizeOnDrop for BlindedSigningKey<D>
where D: Digest,

Auto Trait Implementations§

§

impl<D> Freeze for BlindedSigningKey<D>

§

impl<D> RefUnwindSafe for BlindedSigningKey<D>
where D: RefUnwindSafe,

§

impl<D> Send for BlindedSigningKey<D>
where D: Send,

§

impl<D> Sync for BlindedSigningKey<D>
where D: Sync,

§

impl<D> Unpin for BlindedSigningKey<D>
where D: Unpin,

§

impl<D> UnwindSafe for BlindedSigningKey<D>
where D: UnwindSafe,

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> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> DynAssociatedAlgorithmIdentifier for T

Source§

fn algorithm_identifier(&self) -> Result<AlgorithmIdentifier<Any>, Error>

AlgorithmIdentifier for this structure.
Source§

impl<T> EncodeRsaPrivateKey for T

Source§

fn to_pkcs1_der(&self) -> Result<SecretDocument, Error>

Serialize a SecretDocument containing a PKCS#1-encoded private key.
Source§

fn to_pkcs1_pem( &self, line_ending: LineEnding, ) -> Result<Zeroizing<String>, Error>

Serialize this private key as PEM-encoded PKCS#1 with the given LineEnding.
Source§

fn write_pkcs1_der_file(&self, path: impl AsRef<Path>) -> Result<(), Error>

Write ASN.1 DER-encoded PKCS#1 private key to the given path.
Source§

fn write_pkcs1_pem_file( &self, path: impl AsRef<Path>, line_ending: LineEnding, ) -> Result<(), Error>

Write ASN.1 DER-encoded PKCS#1 private key to the given path.
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> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
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: 352 bytes