Struct openssl::rsa::RsaRef

source ·
pub struct RsaRef<T>(/* private fields */);
Expand description

Reference to RSA

Implementations§

source§

impl<T> RsaRef<T>
where T: HasPrivate,

source

pub fn private_key_to_pem(&self) -> Result<Vec<u8>, ErrorStack>

Serializes the private key to a PEM-encoded PKCS#1 RSAPrivateKey structure.

The output will have a header of -----BEGIN RSA PRIVATE KEY-----.

This corresponds to PEM_write_bio_RSAPrivateKey.

source

pub fn private_key_to_pem_passphrase( &self, cipher: Cipher, passphrase: &[u8], ) -> Result<Vec<u8>, ErrorStack>

Serializes the private key to a PEM-encoded encrypted PKCS#1 RSAPrivateKey structure.

The output will have a header of -----BEGIN RSA PRIVATE KEY-----.

This corresponds to PEM_write_bio_RSAPrivateKey.

source

pub fn private_key_to_der(&self) -> Result<Vec<u8>, ErrorStack>

Serializes the private key to a DER-encoded PKCS#1 RSAPrivateKey structure.

This corresponds to i2d_RSAPrivateKey.

source

pub fn private_decrypt( &self, from: &[u8], to: &mut [u8], padding: Padding, ) -> Result<usize, ErrorStack>

Decrypts data using the private key, returning the number of decrypted bytes.

§Panics

Panics if self has no private components, or if to is smaller than self.size().

This corresponds to RSA_private_decrypt.

source

pub fn private_encrypt( &self, from: &[u8], to: &mut [u8], padding: Padding, ) -> Result<usize, ErrorStack>

Encrypts data using the private key, returning the number of encrypted bytes.

§Panics

Panics if self has no private components, or if to is smaller than self.size().

This corresponds to RSA_private_encrypt.

source

pub fn d(&self) -> &BigNumRef

Returns a reference to the private exponent of the key.

This corresponds to RSA_get0_key.

source

pub fn p(&self) -> Option<&BigNumRef>

Returns a reference to the first factor of the exponent of the key.

This corresponds to RSA_get0_factors.

source

pub fn q(&self) -> Option<&BigNumRef>

Returns a reference to the second factor of the exponent of the key.

This corresponds to RSA_get0_factors.

source

pub fn dmp1(&self) -> Option<&BigNumRef>

Returns a reference to the first exponent used for CRT calculations.

This corresponds to RSA_get0_crt_params.

source

pub fn dmq1(&self) -> Option<&BigNumRef>

Returns a reference to the second exponent used for CRT calculations.

This corresponds to RSA_get0_crt_params.

source

pub fn iqmp(&self) -> Option<&BigNumRef>

Returns a reference to the coefficient used for CRT calculations.

This corresponds to RSA_get0_crt_params.

source

pub fn check_key(&self) -> Result<bool, ErrorStack>

Validates RSA parameters for correctness

This corresponds to RSA_check_key.

source§

impl<T> RsaRef<T>
where T: HasPublic,

source

pub fn public_key_to_pem(&self) -> Result<Vec<u8>, ErrorStack>

Serializes the public key into a PEM-encoded SubjectPublicKeyInfo structure.

The output will have a header of -----BEGIN PUBLIC KEY-----.

This corresponds to PEM_write_bio_RSA_PUBKEY.

source

pub fn public_key_to_der(&self) -> Result<Vec<u8>, ErrorStack>

Serializes the public key into a DER-encoded SubjectPublicKeyInfo structure.

This corresponds to i2d_RSA_PUBKEY.

source

pub fn public_key_to_pem_pkcs1(&self) -> Result<Vec<u8>, ErrorStack>

Serializes the public key into a PEM-encoded PKCS#1 RSAPublicKey structure.

The output will have a header of -----BEGIN RSA PUBLIC KEY-----.

This corresponds to PEM_write_bio_RSAPublicKey.

source

pub fn public_key_to_der_pkcs1(&self) -> Result<Vec<u8>, ErrorStack>

Serializes the public key into a DER-encoded PKCS#1 RSAPublicKey structure.

This corresponds to i2d_RSAPublicKey.

source

pub fn size(&self) -> u32

Returns the size of the modulus in bytes.

This corresponds to RSA_size.

source

pub fn public_decrypt( &self, from: &[u8], to: &mut [u8], padding: Padding, ) -> Result<usize, ErrorStack>

Decrypts data using the public key, returning the number of decrypted bytes.

§Panics

Panics if to is smaller than self.size().

This corresponds to RSA_public_decrypt.

source

pub fn public_encrypt( &self, from: &[u8], to: &mut [u8], padding: Padding, ) -> Result<usize, ErrorStack>

Encrypts data using the public key, returning the number of encrypted bytes.

§Panics

Panics if to is smaller than self.size().

This corresponds to RSA_public_encrypt.

source

pub fn n(&self) -> &BigNumRef

Returns a reference to the modulus of the key.

This corresponds to RSA_get0_key.

source

pub fn e(&self) -> &BigNumRef

Returns a reference to the public exponent of the key.

This corresponds to RSA_get0_key.

Trait Implementations§

source§

impl<T> AsRef<RsaRef<T>> for Rsa<T>

source§

fn as_ref(&self) -> &RsaRef<T>

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

impl<T> Borrow<RsaRef<T>> for Rsa<T>

source§

fn borrow(&self) -> &RsaRef<T>

Immutably borrows from an owned value. Read more
source§

impl<T> ForeignTypeRef for RsaRef<T>

source§

type CType = RSA

The raw C type.
source§

unsafe fn from_ptr<'a>(ptr: *mut Self::CType) -> &'a Self

Constructs a shared instance of this type from its raw type.
source§

unsafe fn from_ptr_mut<'a>(ptr: *mut Self::CType) -> &'a mut Self

Constructs a mutable reference of this type from its raw type.
source§

fn as_ptr(&self) -> *mut Self::CType

Returns a raw pointer to the wrapped value.
source§

impl<T> ToOwned for RsaRef<T>

source§

type Owned = Rsa<T>

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> Rsa<T>

Creates owned data from borrowed data, usually by cloning. Read more
1.63.0 · source§

fn clone_into(&self, target: &mut Self::Owned)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

impl<T> Send for RsaRef<T>

source§

impl<T> Sync for RsaRef<T>

Auto Trait Implementations§

§

impl<T> !Freeze for RsaRef<T>

§

impl<T> !RefUnwindSafe for RsaRef<T>

§

impl<T> Unpin for RsaRef<T>
where T: Unpin,

§

impl<T> UnwindSafe for RsaRef<T>
where T: 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> 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, 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.