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,
impl<D> BlindedSigningKey<D>where
D: Digest,
Sourcepub fn new(key: RsaPrivateKey) -> Self
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.
Sourcepub fn new_with_salt_len(key: RsaPrivateKey, salt_len: usize) -> Self
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.
Sourcepub fn random<R: CryptoRngCore + ?Sized>(
rng: &mut R,
bit_size: usize,
) -> Result<Self>
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.
Sourcepub fn random_with_salt_len<R: CryptoRngCore + ?Sized>(
rng: &mut R,
bit_size: usize,
salt_len: usize,
) -> Result<Self>
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.
Trait Implementations§
Source§impl<D> AsRef<RsaPrivateKey> for BlindedSigningKey<D>where
D: Digest,
impl<D> AsRef<RsaPrivateKey> for BlindedSigningKey<D>where
D: Digest,
Source§fn as_ref(&self) -> &RsaPrivateKey
fn as_ref(&self) -> &RsaPrivateKey
Source§impl<D> AssociatedAlgorithmIdentifier for BlindedSigningKey<D>where
D: Digest,
impl<D> AssociatedAlgorithmIdentifier for BlindedSigningKey<D>where
D: Digest,
Source§const ALGORITHM_IDENTIFIER: AlgorithmIdentifierRef<'static> = pkcs1::ALGORITHM_ID
const ALGORITHM_IDENTIFIER: AlgorithmIdentifierRef<'static> = pkcs1::ALGORITHM_ID
AlgorithmIdentifier for this structure.Source§impl<D> Clone for BlindedSigningKey<D>
impl<D> Clone for BlindedSigningKey<D>
Source§fn clone(&self) -> BlindedSigningKey<D>
fn clone(&self) -> BlindedSigningKey<D>
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl<D> Debug for BlindedSigningKey<D>
impl<D> Debug for BlindedSigningKey<D>
Source§impl<D> DynSignatureAlgorithmIdentifier for BlindedSigningKey<D>where
D: Digest + AssociatedOid,
impl<D> DynSignatureAlgorithmIdentifier for BlindedSigningKey<D>where
D: Digest + AssociatedOid,
Source§fn signature_algorithm_identifier(&self) -> Result<AlgorithmIdentifierOwned>
fn signature_algorithm_identifier(&self) -> Result<AlgorithmIdentifierOwned>
AlgorithmIdentifier for the corresponding singature system.Source§impl<D> EncodePrivateKey for BlindedSigningKey<D>where
D: Digest,
impl<D> EncodePrivateKey for BlindedSigningKey<D>where
D: Digest,
Source§fn to_pkcs8_der(&self) -> Result<SecretDocument>
fn to_pkcs8_der(&self) -> Result<SecretDocument>
SecretDocument containing a PKCS#8-encoded private key.Source§fn to_pkcs8_pem(
&self,
line_ending: LineEnding,
) -> Result<Zeroizing<String>, Error>
fn to_pkcs8_pem( &self, line_ending: LineEnding, ) -> Result<Zeroizing<String>, Error>
LineEnding.Source§fn write_pkcs8_der_file(&self, path: impl AsRef<Path>) -> Result<(), Error>
fn write_pkcs8_der_file(&self, path: impl AsRef<Path>) -> Result<(), Error>
Source§fn write_pkcs8_pem_file(
&self,
path: impl AsRef<Path>,
line_ending: LineEnding,
) -> Result<(), Error>
fn write_pkcs8_pem_file( &self, path: impl AsRef<Path>, line_ending: LineEnding, ) -> Result<(), Error>
Source§impl<D> From<BlindedSigningKey<D>> for RsaPrivateKeywhere
D: Digest,
impl<D> From<BlindedSigningKey<D>> for RsaPrivateKeywhere
D: Digest,
Source§fn from(key: BlindedSigningKey<D>) -> Self
fn from(key: BlindedSigningKey<D>) -> Self
Source§impl<D> From<RsaPrivateKey> for BlindedSigningKey<D>where
D: Digest,
impl<D> From<RsaPrivateKey> for BlindedSigningKey<D>where
D: Digest,
Source§fn from(key: RsaPrivateKey) -> Self
fn from(key: RsaPrivateKey) -> Self
Source§impl<D> Keypair for BlindedSigningKey<D>where
D: Digest,
impl<D> Keypair for BlindedSigningKey<D>where
D: Digest,
Source§type VerifyingKey = VerifyingKey<D>
type VerifyingKey = VerifyingKey<D>
Source§fn verifying_key(&self) -> Self::VerifyingKey
fn verifying_key(&self) -> Self::VerifyingKey
Source§impl<D> RandomizedDigestSigner<D, Signature> for BlindedSigningKey<D>where
D: Digest + FixedOutputReset,
impl<D> RandomizedDigestSigner<D, Signature> for BlindedSigningKey<D>where
D: Digest + FixedOutputReset,
Source§fn try_sign_digest_with_rng(
&self,
rng: &mut impl CryptoRngCore,
digest: D,
) -> Result<Signature>
fn try_sign_digest_with_rng( &self, rng: &mut impl CryptoRngCore, digest: D, ) -> Result<Signature>
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
fn sign_digest_with_rng(&self, rng: &mut impl CryptoRngCore, digest: D) -> S
Digest, returning a signature. Read moreSource§impl<D> RandomizedPrehashSigner<Signature> for BlindedSigningKey<D>where
D: Digest + FixedOutputReset,
impl<D> RandomizedPrehashSigner<Signature> for BlindedSigningKey<D>where
D: Digest + FixedOutputReset,
Source§fn sign_prehash_with_rng(
&self,
rng: &mut impl CryptoRngCore,
prehash: &[u8],
) -> Result<Signature>
fn sign_prehash_with_rng( &self, rng: &mut impl CryptoRngCore, prehash: &[u8], ) -> Result<Signature>
Source§impl<D> RandomizedSigner<Signature> for BlindedSigningKey<D>where
D: Digest + FixedOutputReset,
impl<D> RandomizedSigner<Signature> for BlindedSigningKey<D>where
D: Digest + FixedOutputReset,
Source§fn try_sign_with_rng(
&self,
rng: &mut impl CryptoRngCore,
msg: &[u8],
) -> Result<Signature>
fn try_sign_with_rng( &self, rng: &mut impl CryptoRngCore, msg: &[u8], ) -> Result<Signature>
Source§fn sign_with_rng(&self, rng: &mut impl CryptoRngCore, msg: &[u8]) -> S
fn sign_with_rng(&self, rng: &mut impl CryptoRngCore, msg: &[u8]) -> S
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> 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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> DynAssociatedAlgorithmIdentifier for Twhere
T: AssociatedAlgorithmIdentifier,
impl<T> DynAssociatedAlgorithmIdentifier for Twhere
T: AssociatedAlgorithmIdentifier,
Source§fn algorithm_identifier(&self) -> Result<AlgorithmIdentifier<Any>, Error>
fn algorithm_identifier(&self) -> Result<AlgorithmIdentifier<Any>, Error>
AlgorithmIdentifier for this structure.Source§impl<T> EncodeRsaPrivateKey for Twhere
T: EncodePrivateKey,
impl<T> EncodeRsaPrivateKey for Twhere
T: EncodePrivateKey,
Source§fn to_pkcs1_der(&self) -> Result<SecretDocument, Error>
fn to_pkcs1_der(&self) -> Result<SecretDocument, Error>
SecretDocument containing a PKCS#1-encoded private key.Source§fn to_pkcs1_pem(
&self,
line_ending: LineEnding,
) -> Result<Zeroizing<String>, Error>
fn to_pkcs1_pem( &self, line_ending: LineEnding, ) -> Result<Zeroizing<String>, Error>
LineEnding.Source§fn write_pkcs1_der_file(&self, path: impl AsRef<Path>) -> Result<(), Error>
fn write_pkcs1_der_file(&self, path: impl AsRef<Path>) -> Result<(), Error>
Source§fn write_pkcs1_pem_file(
&self,
path: impl AsRef<Path>,
line_ending: LineEnding,
) -> Result<(), Error>
fn write_pkcs1_pem_file( &self, path: impl AsRef<Path>, line_ending: LineEnding, ) -> Result<(), Error>
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