pub struct Rsa<T>(_, _);
Expand description

An RSA key.

Implementations

Creates a new RSA key with only public components.

n is the modulus common to both public and private key. e is the public exponent.

This corresponds to RSA_new and uses RSA_set0_key.

Decodes a PEM-encoded SubjectPublicKeyInfo structure containing an RSA key.

The input should have a header of -----BEGIN PUBLIC KEY-----.

This corresponds to PEM_read_bio_RSA_PUBKEY.

Decodes a PEM-encoded PKCS#1 RSAPublicKey structure.

The input should have a header of -----BEGIN RSA PUBLIC KEY-----.

This corresponds to PEM_read_bio_RSAPublicKey.

Decodes a DER-encoded SubjectPublicKeyInfo structure containing an RSA key.

This corresponds to d2i_RSA_PUBKEY.

Decodes a DER-encoded PKCS#1 RSAPublicKey structure.

This corresponds to d2i_RSAPublicKey.

Creates a new RSA key with private components (public components are assumed).

This a convenience method over:

RsaPrivateKeyBuilder::new(n, e, d)?
    .set_factors(p, q)?
    .set_crt_params(dmp1, dmq1, iqmp)?
    .build();

Generates a public/private key pair with the specified size.

The public exponent will be 65537.

This corresponds to RSA_generate_key_ex.

Generates a public/private key pair with the specified size and a custom exponent.

Unless you have specific needs and know what you’re doing, use Rsa::generate instead.

This corresponds to RSA_generate_key_ex.

Deserializes a private key from a PEM-encoded PKCS#1 RSAPrivateKey structure.

This corresponds to PEM_read_bio_RSAPrivateKey.

Deserializes a private key from a PEM-encoded encrypted PKCS#1 RSAPrivateKey structure.

This corresponds to PEM_read_bio_RSAPrivateKey.

Deserializes a private key from a PEM-encoded encrypted PKCS#1 RSAPrivateKey structure.

The callback should fill the password into the provided buffer and return its length.

This corresponds to PEM_read_bio_RSAPrivateKey.

Decodes a DER-encoded PKCS#1 RSAPrivateKey structure.

This corresponds to d2i_RSAPrivateKey.

Methods from Deref<Target = RsaRef<T>>

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.

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.

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

This corresponds to i2d_RSAPrivateKey.

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.

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.

Returns a reference to the private exponent of the key.

This corresponds to RSA_get0_key.

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

This corresponds to RSA_get0_factors.

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

This corresponds to RSA_get0_factors.

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

This corresponds to RSA_get0_crt_params.

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

This corresponds to RSA_get0_crt_params.

Returns a reference to the coefficient used for CRT calculations.

This corresponds to RSA_get0_crt_params.

Validates RSA parameters for correctness

This corresponds to RSA_check_key.

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.

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

This corresponds to i2d_RSA_PUBKEY.

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.

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

This corresponds to i2d_RSAPublicKey.

Returns the size of the modulus in bytes.

This corresponds to RSA_size.

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.

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.

Returns a reference to the modulus of the key.

This corresponds to RSA_get0_key.

Returns a reference to the public exponent of the key.

This corresponds to RSA_get0_key.

Trait Implementations

Converts this type into a shared reference of the (usually inferred) input type.
Immutably borrows from an owned value. Read more
Returns a copy of the value. Read more
Performs copy-assignment from source. Read more
Formats the value using the given formatter. Read more
The resulting type after dereferencing.
Dereferences the value.
Mutably dereferences the value.
Executes the destructor for this type. Read more
The raw C type.
The type representing a reference to this type.
Constructs an instance of this type from its raw type.
Returns a raw pointer to the wrapped value.
The type returned in the event of a conversion error.
Performs the conversion.
The type returned in the event of a conversion error.
Performs the conversion.

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more
Immutably borrows from an owned value. Read more
Mutably borrows from an owned value. Read more

Returns the argument unchanged.

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

The resulting type after obtaining ownership.
Creates owned data from borrowed data, usually by cloning. Read more
Uses borrowed data to replace owned data, usually by cloning. Read more
The type returned in the event of a conversion error.
Performs the conversion.
The type returned in the event of a conversion error.
Performs the conversion.