SigningKey

Struct SigningKey 

Source
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,

Source

pub fn new(key: RsaPrivateKey) -> Self

Create a new signing key with a prefix for the digest D.

Source

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.

Source

pub fn new_with_prefix(key: RsaPrivateKey) -> Self

👎Deprecated since 0.9.0: use SigningKey::new instead

Create a new signing key with a prefix for the digest D.

Source

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

👎Deprecated since 0.9.0: use SigningKey::random instead

Generate a new signing key with a prefix for the digest D.

Source§

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

Source

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.

Source

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,

Source§

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,

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 SigningKey<D>
where D: Digest + Clone,

Source§

fn clone(&self) -> SigningKey<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 SigningKey<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> DigestSigner<D, Signature> for SigningKey<D>
where D: Digest,

Source§

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

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

impl<D> EncodePrivateKey for SigningKey<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<RsaPrivateKey> for SigningKey<D>
where D: Digest,

Source§

fn from(key: RsaPrivateKey) -> Self

Converts to this type from the input type.
Source§

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

Source§

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

Converts to this type from the input type.
Source§

impl<D> Keypair for SigningKey<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> PrehashSigner<Signature> for SigningKey<D>
where D: Digest,

Source§

fn sign_prehash(&self, 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> 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>

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> RandomizedSigner<Signature> for SigningKey<D>
where D: Digest,

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> SignatureAlgorithmIdentifier for SigningKey<D>

Source§

const SIGNATURE_ALGORITHM_IDENTIFIER: AlgorithmIdentifierRef<'static>

AlgorithmIdentifier for the corresponding singature system.
Source§

type Params = AnyRef<'static>

Algorithm parameters.
Source§

impl<D> Signer<Signature> for SigningKey<D>
where D: Digest,

Source§

fn try_sign(&self, 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(&self, msg: &[u8]) -> S

Sign the given message and return a digital signature
Source§

impl<D> TryFrom<PrivateKeyInfo<'_>> for SigningKey<D>
where D: Digest + AssociatedOid,

Source§

type Error = Error

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

fn try_from(private_key_info: PrivateKeyInfo<'_>) -> Result<Self>

Performs the conversion.
Source§

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> 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> DecodePrivateKey for T
where T: for<'a> TryFrom<PrivateKeyInfo<'a>, Error = Error>,

Source§

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>

Deserialize PKCS#8-encoded private key from PEM. Read more
Source§

fn read_pkcs8_der_file(path: impl AsRef<Path>) -> Result<Self, Error>

Load PKCS#8 private key from an ASN.1 DER-encoded file on the local filesystem (binary format).
Source§

fn read_pkcs8_pem_file(path: impl AsRef<Path>) -> Result<Self, Error>

Load PKCS#8 private key from a PEM-encoded file on the local filesystem.
Source§

impl<T> DecodeRsaPrivateKey for T
where T: for<'a> TryFrom<PrivateKeyInfo<'a>, Error = Error>,

Source§

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>

Deserialize PKCS#1-encoded private key from PEM. Read more
Source§

fn read_pkcs1_der_file(path: impl AsRef<Path>) -> Result<Self, Error>

Load PKCS#1 private key from an ASN.1 DER-encoded file on the local filesystem (binary format).
Source§

fn read_pkcs1_pem_file(path: impl AsRef<Path>) -> Result<Self, Error>

Load PKCS#1 private key from a PEM-encoded file on the local filesystem.
Source§

impl<T> DynAssociatedAlgorithmIdentifier for T

Source§

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

AlgorithmIdentifier for this structure.
Source§

impl<T> DynSignatureAlgorithmIdentifier for T

Source§

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

AlgorithmIdentifier for the corresponding singature system.
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<S, T> SignerMut<S> for T
where T: Signer<S>,

Source§

fn try_sign(&mut self, msg: &[u8]) -> Result<S, Error>

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

fn sign(&mut self, msg: &[u8]) -> S

Sign the given message, update the state, and return a digital signature.
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: 368 bytes