pub struct SigningKey<D>where
D: Digest,{ /* private fields */ }Expand description
Signing key for RSASSA-PKCS1-v1_5 signatures as described in RFC8017 § 8.2.
Implementations§
Source§impl<D> SigningKey<D>where
D: Digest + AssociatedOid,
impl<D> SigningKey<D>where
D: Digest + AssociatedOid,
Sourcepub fn new(key: RsaPrivateKey) -> Self
pub fn new(key: RsaPrivateKey) -> Self
Create a new signing key with a prefix for the digest D.
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>
Generate a new signing key with a prefix for the digest D.
Sourcepub fn new_with_prefix(key: RsaPrivateKey) -> Self
👎Deprecated since 0.9.0: use SigningKey::new instead
pub fn new_with_prefix(key: RsaPrivateKey) -> Self
Create a new signing key with a prefix for the digest D.
Sourcepub fn random_with_prefix<R: CryptoRngCore + ?Sized>(
rng: &mut R,
bit_size: usize,
) -> Result<Self>
👎Deprecated since 0.9.0: use SigningKey::random instead
pub fn random_with_prefix<R: CryptoRngCore + ?Sized>( rng: &mut R, bit_size: usize, ) -> Result<Self>
Generate a new signing key with a prefix for the digest D.
Source§impl<D> SigningKey<D>where
D: Digest,
impl<D> SigningKey<D>where
D: Digest,
Sourcepub fn new_unprefixed(key: RsaPrivateKey) -> Self
pub fn new_unprefixed(key: RsaPrivateKey) -> Self
Create a new signing key from the give RSA private key with an empty prefix.
§Note: unprefixed signatures are uncommon
In most cases you’ll want to use SigningKey::new.
Sourcepub fn random_unprefixed<R: CryptoRngCore + ?Sized>(
rng: &mut R,
bit_size: usize,
) -> Result<Self>
pub fn random_unprefixed<R: CryptoRngCore + ?Sized>( rng: &mut R, bit_size: usize, ) -> Result<Self>
Generate a new signing key with an empty prefix.
Trait Implementations§
Source§impl<D> AsRef<RsaPrivateKey> for SigningKey<D>where
D: Digest,
impl<D> AsRef<RsaPrivateKey> for SigningKey<D>where
D: Digest,
Source§fn as_ref(&self) -> &RsaPrivateKey
fn as_ref(&self) -> &RsaPrivateKey
Converts this type into a shared reference of the (usually inferred) input type.
Source§impl<D> AssociatedAlgorithmIdentifier for SigningKey<D>where
D: Digest,
impl<D> AssociatedAlgorithmIdentifier for SigningKey<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 SigningKey<D>
impl<D> Clone for SigningKey<D>
Source§fn clone(&self) -> SigningKey<D>
fn clone(&self) -> SigningKey<D>
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl<D> Debug for SigningKey<D>
impl<D> Debug for SigningKey<D>
Source§impl<D> DigestSigner<D, Signature> for SigningKey<D>where
D: Digest,
impl<D> DigestSigner<D, Signature> for SigningKey<D>where
D: Digest,
Source§fn try_sign_digest(&self, digest: D) -> Result<Signature>
fn try_sign_digest(&self, 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(&self, digest: D) -> S
fn sign_digest(&self, digest: D) -> S
Source§impl<D> EncodePrivateKey for SigningKey<D>where
D: Digest,
impl<D> EncodePrivateKey for SigningKey<D>where
D: Digest,
Source§fn to_pkcs8_der(&self) -> Result<SecretDocument>
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>
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>
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>
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<RsaPrivateKey> for SigningKey<D>where
D: Digest,
impl<D> From<RsaPrivateKey> for SigningKey<D>where
D: Digest,
Source§fn from(key: RsaPrivateKey) -> Self
fn from(key: RsaPrivateKey) -> Self
Converts to this type from the input type.
Source§impl<D> From<SigningKey<D>> for RsaPrivateKeywhere
D: Digest,
impl<D> From<SigningKey<D>> for RsaPrivateKeywhere
D: Digest,
Source§fn from(key: SigningKey<D>) -> Self
fn from(key: SigningKey<D>) -> Self
Converts to this type from the input type.
Source§impl<D> Keypair for SigningKey<D>where
D: Digest,
impl<D> Keypair for SigningKey<D>where
D: Digest,
Source§type VerifyingKey = VerifyingKey<D>
type VerifyingKey = VerifyingKey<D>
Verifying key type for this keypair.
Source§fn verifying_key(&self) -> Self::VerifyingKey
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> PrehashSigner<Signature> for SigningKey<D>where
D: Digest,
impl<D> PrehashSigner<Signature> for SigningKey<D>where
D: Digest,
Source§impl<D> RandomizedDigestSigner<D, Signature> for SigningKey<D>where
D: Digest,
impl<D> RandomizedDigestSigner<D, Signature> for SigningKey<D>where
D: Digest,
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>
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
fn sign_digest_with_rng(&self, rng: &mut impl CryptoRngCore, digest: D) -> S
Sign the given prehashed message
Digest, returning a signature. Read moreSource§impl<D> RandomizedSigner<Signature> for SigningKey<D>where
D: Digest,
impl<D> RandomizedSigner<Signature> for SigningKey<D>where
D: Digest,
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>
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
fn sign_with_rng(&self, rng: &mut impl CryptoRngCore, msg: &[u8]) -> S
Sign the given message and return a digital signature
Source§impl<D> SignatureAlgorithmIdentifier for SigningKey<D>where
D: Digest + RsaSignatureAssociatedOid,
impl<D> SignatureAlgorithmIdentifier for SigningKey<D>where
D: Digest + RsaSignatureAssociatedOid,
Source§const SIGNATURE_ALGORITHM_IDENTIFIER: AlgorithmIdentifierRef<'static>
const SIGNATURE_ALGORITHM_IDENTIFIER: AlgorithmIdentifierRef<'static>
AlgorithmIdentifier for the corresponding singature system.Source§impl<D> TryFrom<PrivateKeyInfo<'_>> for SigningKey<D>where
D: Digest + AssociatedOid,
impl<D> TryFrom<PrivateKeyInfo<'_>> for SigningKey<D>where
D: Digest + AssociatedOid,
impl<D> ZeroizeOnDrop for SigningKey<D>where
D: Digest,
Auto Trait Implementations§
impl<D> Freeze for SigningKey<D>
impl<D> RefUnwindSafe for SigningKey<D>where
D: RefUnwindSafe,
impl<D> Send for SigningKey<D>where
D: Send,
impl<D> Sync for SigningKey<D>where
D: Sync,
impl<D> Unpin for SigningKey<D>where
D: Unpin,
impl<D> UnwindSafe for SigningKey<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
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> DecodePrivateKey for T
impl<T> DecodePrivateKey for T
Source§fn from_pkcs8_der(bytes: &[u8]) -> Result<T, Error>
fn from_pkcs8_der(bytes: &[u8]) -> Result<T, Error>
Deserialize PKCS#8 private key from ASN.1 DER-encoded data
(binary format).
Source§fn from_pkcs8_pem(s: &str) -> Result<Self, Error>
fn from_pkcs8_pem(s: &str) -> Result<Self, Error>
Deserialize PKCS#8-encoded private key from PEM. Read more
Source§impl<T> DecodeRsaPrivateKey for T
impl<T> DecodeRsaPrivateKey for T
Source§fn from_pkcs1_der(private_key: &[u8]) -> Result<T, Error>
fn from_pkcs1_der(private_key: &[u8]) -> Result<T, Error>
Deserialize PKCS#1 private key from ASN.1 DER-encoded data
(binary format).
Source§fn from_pkcs1_pem(s: &str) -> Result<Self, Error>
fn from_pkcs1_pem(s: &str) -> Result<Self, Error>
Deserialize PKCS#1-encoded private key from PEM. Read more
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> DynSignatureAlgorithmIdentifier for Twhere
T: SignatureAlgorithmIdentifier,
impl<T> DynSignatureAlgorithmIdentifier for Twhere
T: SignatureAlgorithmIdentifier,
Source§fn signature_algorithm_identifier(
&self,
) -> Result<AlgorithmIdentifier<Any>, Error>
fn signature_algorithm_identifier( &self, ) -> Result<AlgorithmIdentifier<Any>, Error>
AlgorithmIdentifier for the corresponding singature system.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>
Serialize a
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>
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>
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>
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<S, T> SignerMut<S> for Twhere
T: Signer<S>,
impl<S, T> SignerMut<S> for Twhere
T: Signer<S>,
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: 368 bytes