Struct pkcs1::RsaPrivateKey 
source · pub struct RsaPrivateKey<'a> {
    pub modulus: UIntRef<'a>,
    pub public_exponent: UIntRef<'a>,
    pub private_exponent: UIntRef<'a>,
    pub prime1: UIntRef<'a>,
    pub prime2: UIntRef<'a>,
    pub exponent1: UIntRef<'a>,
    pub exponent2: UIntRef<'a>,
    pub coefficient: UIntRef<'a>,
    pub other_prime_infos: Option<OtherPrimeInfos<'a>>,
}Expand description
PKCS#1 RSA Private Keys as defined in RFC 8017 Appendix 1.2.
ASN.1 structure containing a serialized RSA private key:
RSAPrivateKey ::= SEQUENCE {
    version           Version,
    modulus           INTEGER,  -- n
    publicExponent    INTEGER,  -- e
    privateExponent   INTEGER,  -- d
    prime1            INTEGER,  -- p
    prime2            INTEGER,  -- q
    exponent1         INTEGER,  -- d mod (p-1)
    exponent2         INTEGER,  -- d mod (q-1)
    coefficient       INTEGER,  -- (inverse of q) mod p
    otherPrimeInfos   OtherPrimeInfos OPTIONAL
}
Note: the version field is selected automatically based on the absence or
presence of the other_prime_infos field.
Fields§
§modulus: UIntRef<'a>n: RSA modulus.
public_exponent: UIntRef<'a>e: RSA public exponent.
private_exponent: UIntRef<'a>d: RSA private exponent.
prime1: UIntRef<'a>p: first prime factor of n.
prime2: UIntRef<'a>q: Second prime factor of n.
exponent1: UIntRef<'a>First exponent: d mod (p-1).
exponent2: UIntRef<'a>Second exponent: d mod (q-1).
coefficient: UIntRef<'a>CRT coefficient: (inverse of q) mod p.
other_prime_infos: Option<OtherPrimeInfos<'a>>Additional primes r_3, …, r_u, in order, if this is a multi-prime
RSA key (i.e. version is multi).
Implementations§
source§impl<'a> RsaPrivateKey<'a>
 
impl<'a> RsaPrivateKey<'a>
sourcepub fn public_key(&self) -> RsaPublicKey<'a>
 
pub fn public_key(&self) -> RsaPublicKey<'a>
Get the public key that corresponds to this RsaPrivateKey.
sourcepub fn version(&self) -> Version
 
pub fn version(&self) -> Version
Get the Version for this key.
Determined by the presence or absence of the
RsaPrivateKey::other_prime_infos field.
Trait Implementations§
source§impl<'a> Clone for RsaPrivateKey<'a>
 
impl<'a> Clone for RsaPrivateKey<'a>
source§fn clone(&self) -> RsaPrivateKey<'a>
 
fn clone(&self) -> RsaPrivateKey<'a>
1.0.0§fn clone_from(&mut self, source: &Self)
 
fn clone_from(&mut self, source: &Self)
source. Read moresource§impl Debug for RsaPrivateKey<'_>
 
impl Debug for RsaPrivateKey<'_>
source§impl<'a> DecodeValue<'a> for RsaPrivateKey<'a>
 
impl<'a> DecodeValue<'a> for RsaPrivateKey<'a>
source§impl<'a> From<&RsaPrivateKey<'a>> for RsaPublicKey<'a>
 
impl<'a> From<&RsaPrivateKey<'a>> for RsaPublicKey<'a>
source§fn from(private_key: &RsaPrivateKey<'a>) -> RsaPublicKey<'a>
 
fn from(private_key: &RsaPrivateKey<'a>) -> RsaPublicKey<'a>
source§impl<'a> From<RsaPrivateKey<'a>> for RsaPublicKey<'a>
 
impl<'a> From<RsaPrivateKey<'a>> for RsaPublicKey<'a>
source§fn from(private_key: RsaPrivateKey<'a>) -> RsaPublicKey<'a>
 
fn from(private_key: RsaPrivateKey<'a>) -> RsaPublicKey<'a>
source§impl PemLabel for RsaPrivateKey<'_>
 
impl PemLabel for RsaPrivateKey<'_>
source§impl<'a> Sequence<'a> for RsaPrivateKey<'a>
 
impl<'a> Sequence<'a> for RsaPrivateKey<'a>
source§impl<'a> TryFrom<&'a [u8]> for RsaPrivateKey<'a>
 
impl<'a> TryFrom<&'a [u8]> for RsaPrivateKey<'a>
source§impl TryFrom<&RsaPrivateKey<'_>> for SecretDocument
 
impl TryFrom<&RsaPrivateKey<'_>> for SecretDocument
source§fn try_from(private_key: &RsaPrivateKey<'_>) -> Result<SecretDocument>
 
fn try_from(private_key: &RsaPrivateKey<'_>) -> Result<SecretDocument>
source§impl TryFrom<RsaPrivateKey<'_>> for SecretDocument
 
impl TryFrom<RsaPrivateKey<'_>> for SecretDocument
source§fn try_from(private_key: RsaPrivateKey<'_>) -> Result<SecretDocument>
 
fn try_from(private_key: RsaPrivateKey<'_>) -> Result<SecretDocument>
Auto Trait Implementations§
impl<'a> Freeze for RsaPrivateKey<'a>
impl<'a> RefUnwindSafe for RsaPrivateKey<'a>
impl<'a> Send for RsaPrivateKey<'a>
impl<'a> Sync for RsaPrivateKey<'a>
impl<'a> Unpin for RsaPrivateKey<'a>
impl<'a> UnwindSafe for RsaPrivateKey<'a>
Blanket Implementations§
§impl<T> Any for Twhere
    T: 'static + ?Sized,
 
impl<T> Any for Twhere
    T: 'static + ?Sized,
§impl<T> Borrow<T> for Twhere
    T: ?Sized,
 
impl<T> Borrow<T> for Twhere
    T: ?Sized,
§impl<T> BorrowMut<T> for Twhere
    T: ?Sized,
 
impl<T> BorrowMut<T> for Twhere
    T: ?Sized,
§fn borrow_mut(&mut self) -> &mut T
 
fn borrow_mut(&mut self) -> &mut T
source§impl<'a, T> Choice<'a> for T
 
impl<'a, T> Choice<'a> for T
source§fn can_decode(tag: Tag) -> bool
 
fn can_decode(tag: Tag) -> bool
Tag decodable as a variant of this CHOICE?§impl<T> CloneToUninit for Twhere
    T: Clone,
 
impl<T> CloneToUninit for Twhere
    T: Clone,
§unsafe fn clone_to_uninit(&self, dst: *mut T)
 
unsafe fn clone_to_uninit(&self, dst: *mut T)
clone_to_uninit)source§impl<'a, T> Decode<'a> for Twhere
    T: DecodeValue<'a> + FixedTag,
 
impl<'a, T> Decode<'a> for Twhere
    T: DecodeValue<'a> + FixedTag,
source§impl<T> DecodePem for Twhere
    T: DecodeOwned + PemLabel,
 
impl<T> DecodePem for Twhere
    T: DecodeOwned + PemLabel,
source§impl<T> Encode for Twhere
    T: EncodeValue + Tagged,
 
impl<T> Encode for Twhere
    T: EncodeValue + Tagged,
source§fn encoded_len(&self) -> Result<Length, Error>
 
fn encoded_len(&self) -> Result<Length, Error>
Compute the length of this value in bytes when encoded as ASN.1 DER.
source§fn encode(&self, writer: &mut dyn Writer) -> Result<(), Error>
 
fn encode(&self, writer: &mut dyn Writer) -> Result<(), Error>
Encode this value as ASN.1 DER using the provided Writer.