Struct openssl::pkey::PKey
[−]
[src]
pub struct PKey<T>(_, _);
A public or private key.
Methods
impl<T> PKey<T>
[src]
fn from_rsa(rsa: Rsa<T>) -> Result<PKey<T>, ErrorStack>
[src]
Creates a new PKey
containing an RSA key.
This corresponds to EVP_PKEY_assign_RSA
.
fn from_dsa(dsa: Dsa<T>) -> Result<PKey<T>, ErrorStack>
[src]
Creates a new PKey
containing a DSA key.
This corresponds to EVP_PKEY_assign_DSA
.
fn from_dh(dh: Dh<T>) -> Result<PKey<T>, ErrorStack>
[src]
Creates a new PKey
containing a Diffie-Hellman key.
This corresponds to EVP_PKEY_assign_DH
.
fn from_ec_key(ec_key: EcKey<T>) -> Result<PKey<T>, ErrorStack>
[src]
Creates a new PKey
containing an elliptic curve key.
This corresponds to EVP_PKEY_assign_EC_KEY
.
impl PKey<Private>
[src]
fn hmac(key: &[u8]) -> Result<PKey<Private>, ErrorStack>
[src]
fn private_key_from_pem(pem: &[u8]) -> Result<PKey<Private>, ErrorStack>
[src]
Deserializes a private key from a PEM-encoded key type specific format.
This corresponds to PEM_read_bio_PrivateKey
.
fn private_key_from_pem_passphrase(
pem: &[u8],
passphrase: &[u8]
) -> Result<PKey<Private>, ErrorStack>
[src]
pem: &[u8],
passphrase: &[u8]
) -> Result<PKey<Private>, ErrorStack>
Deserializes a private key from a PEM-encoded encrypted key type specific format.
This corresponds to PEM_read_bio_PrivateKey
.
fn private_key_from_pem_callback<F>(
pem: &[u8],
callback: F
) -> Result<PKey<Private>, ErrorStack> where
F: FnOnce(&mut [u8]) -> Result<usize, ErrorStack>,
[src]
pem: &[u8],
callback: F
) -> Result<PKey<Private>, ErrorStack> where
F: FnOnce(&mut [u8]) -> Result<usize, ErrorStack>,
Deserializes a private key from a PEM-encoded encrypted key type specific format.
The callback should fill the password into the provided buffer and return its length.
This corresponds to PEM_read_bio_PrivateKey
.
fn private_key_from_der(der: &[u8]) -> Result<PKey<Public>, ErrorStack>
[src]
Decodes a DER-encoded private key.
This function will automatically attempt to detect the underlying key format, and supports the unencrypted PKCS#8 PrivateKeyInfo structures as well as key type specific formats.
This corresponds to d2i_AutoPrivateKey
.
fn private_key_from_pkcs8_callback<F>(
der: &[u8],
callback: F
) -> Result<PKey<Private>, ErrorStack> where
F: FnOnce(&mut [u8]) -> Result<usize, ErrorStack>,
[src]
der: &[u8],
callback: F
) -> Result<PKey<Private>, ErrorStack> where
F: FnOnce(&mut [u8]) -> Result<usize, ErrorStack>,
Deserializes a DER-formatted PKCS#8 private key, using a callback to retrieve the password if the key is encrpyted.
The callback should copy the password into the provided buffer and return the number of bytes written.
fn private_key_from_pkcs8_passphrase(
der: &[u8],
passphrase: &[u8]
) -> Result<PKey<Private>, ErrorStack>
[src]
der: &[u8],
passphrase: &[u8]
) -> Result<PKey<Private>, ErrorStack>
Deserializes a DER-formatted PKCS#8 private key, using the supplied password if the key is encrypted.
Panics
Panics if passphrase
contains an embedded null.
impl PKey<Public>
[src]
fn public_key_from_pem(pem: &[u8]) -> Result<PKey<Public>, ErrorStack>
[src]
Decodes a PEM-encoded SubjectPublicKeyInfo structure.
The input should have a header of -----BEGIN PUBLIC KEY-----
.
This corresponds to PEM_read_bio_PUBKEY
.
fn public_key_from_der(der: &[u8]) -> Result<PKey<Public>, ErrorStack>
[src]
Decodes a DER-encoded SubjectPublicKeyInfo structure.
This corresponds to d2i_PUBKEY
.
Methods from Deref<Target = PKeyRef<T>>
fn rsa(&self) -> Result<Rsa<T>, ErrorStack>
[src]
Returns a copy of the internal RSA key.
This corresponds to EVP_PKEY_get1_RSA
.
fn dsa(&self) -> Result<Dsa<T>, ErrorStack>
[src]
Returns a copy of the internal DSA key.
This corresponds to EVP_PKEY_get1_DSA
.
fn dh(&self) -> Result<Dh<T>, ErrorStack>
[src]
Returns a copy of the internal DH key.
This corresponds to EVP_PKEY_get1_DH
.
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
.
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
.
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
.
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.
fn public_eq<U>(&self, other: &PKeyRef<U>) -> bool where
U: HasPublic,
[src]
U: HasPublic,
Compares the public component of this key with another.
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
.
fn private_key_to_pem_pkcs8_passphrase(
&self,
cipher: Cipher,
passphrase: &[u8]
) -> Result<Vec<u8>, ErrorStack>
[src]
&self,
cipher: Cipher,
passphrase: &[u8]
) -> Result<Vec<u8>, ErrorStack>
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
.
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> ForeignType for PKey<T>
[src]
type CType = EVP_PKEY
The raw C type.
type Ref = PKeyRef<T>
The type representing a reference to this type.
unsafe fn from_ptr(ptr: *mut EVP_PKEY) -> PKey<T>
[src]
Constructs an instance of this type from its raw type.
fn as_ptr(&self) -> *mut EVP_PKEY
[src]
Returns a raw pointer to the wrapped value.
impl<T> Drop for PKey<T>
[src]
impl<T> Deref for PKey<T>
[src]
type Target = PKeyRef<T>
The resulting type after dereferencing.
fn deref(&self) -> &PKeyRef<T>
[src]
Dereferences the value.