Struct openssl::pkey::PKeyRef[][src]

pub struct PKeyRef<T>(_, _);

Reference to PKey.

Implementations

impl<T> PKeyRef<T>[src]

pub fn rsa(&self) -> Result<Rsa<T>, ErrorStack>[src]

Returns a copy of the internal RSA key.

This corresponds to EVP_PKEY_get1_RSA.

pub fn dsa(&self) -> Result<Dsa<T>, ErrorStack>[src]

Returns a copy of the internal DSA key.

This corresponds to EVP_PKEY_get1_DSA.

pub fn dh(&self) -> Result<Dh<T>, ErrorStack>[src]

Returns a copy of the internal DH key.

This corresponds to EVP_PKEY_get1_DH.

pub fn ec_key(&self) -> Result<EcKey<T>, ErrorStack>[src]

Returns a copy of the internal elliptic curve key.

This corresponds to EVP_PKEY_get1_EC_KEY.

pub fn id(&self) -> Id[src]

Returns the Id that represents the type of this key.

This corresponds to EVP_PKEY_id.

pub fn size(&self) -> usize[src]

Returns the maximum size of a signature in bytes.

This corresponds to EVP_PKEY_size.

impl<T> PKeyRef<T> where
    T: HasPublic
[src]

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

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_PUBKEY.

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

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

This corresponds to i2d_PUBKEY.

pub fn bits(&self) -> u32[src]

Returns the size of the key.

This corresponds to the bit length of the modulus of an RSA key, and the bit length of the group order for an elliptic curve key, for example.

pub fn public_eq<U>(&self, other: &PKeyRef<U>) -> bool where
    U: HasPublic
[src]

Compares the public component of this key with another.

impl<T> PKeyRef<T> where
    T: HasPrivate
[src]

pub fn private_key_to_pem_pkcs8(&self) -> Result<Vec<u8>, ErrorStack>[src]

Serializes the private key to a PEM-encoded PKCS#8 PrivateKeyInfo structure.

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

This corresponds to PEM_write_bio_PKCS8PrivateKey.

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

Serializes the private key to a PEM-encoded PKCS#8 EncryptedPrivateKeyInfo structure.

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

This corresponds to PEM_write_bio_PKCS8PrivateKey.

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

Serializes the private key to a DER-encoded key type specific format.

This corresponds to i2d_PrivateKey.

Trait Implementations

impl<T> AsRef<PKeyRef<T>> for PKey<T>[src]

impl<T> Borrow<PKeyRef<T>> for PKey<T>[src]

impl<T> ForeignTypeRef for PKeyRef<T>[src]

type CType = EVP_PKEY

The raw C type.

impl<T> Send for PKeyRef<T>[src]

impl<T> Sync for PKeyRef<T>[src]

impl<T> ToOwned for PKeyRef<T>[src]

type Owned = PKey<T>

The resulting type after obtaining ownership.

Auto Trait Implementations

impl<T> !RefUnwindSafe for PKeyRef<T>

impl<T> Unpin for PKeyRef<T> where
    T: Unpin

impl<T> UnwindSafe for PKeyRef<T> where
    T: UnwindSafe

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.