Struct openssl::ec::EcKey[][src]

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

Public and optional Private key on the given curve

OpenSSL documentation at EC_KEY_new

Implementations

Constructs an EcKey corresponding to a known curve.

It will not have an associated public or private key. This kind of key is primarily useful to be provided to the set_tmp_ecdh methods on Ssl and SslContextBuilder.

OpenSSL documentation at EC_KEY_new_by_curve_name

Constructs an EcKey corresponding to a curve.

This corresponds to EC_KEY_set_group.

Constructs an EcKey from the specified group with the associated EcPoint, public_key.

This will only have the associated public_key.

Example
use openssl::bn::BigNumContext;
use openssl::ec::*;
use openssl::nid::Nid;
use openssl::pkey::PKey;

// get bytes from somewhere, i.e. this will not produce a valid key
let public_key: Vec<u8> = vec![];

// create an EcKey from the binary form of a EcPoint
let group = EcGroup::from_curve_name(Nid::SECP256K1).unwrap();
let mut ctx = BigNumContext::new().unwrap();
let point = EcPoint::from_bytes(&group, &public_key, &mut ctx).unwrap();
let key = EcKey::from_public_key(&group, &point);

Constructs a public key from its affine coordinates.

Decodes a PEM-encoded SubjectPublicKeyInfo structure containing a EC key.

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

This corresponds to PEM_read_bio_EC_PUBKEY.

Decodes a DER-encoded SubjectPublicKeyInfo structure containing a EC key.

This corresponds to d2i_EC_PUBKEY.

Generates a new public/private key pair on the specified curve.

Constructs an public/private key pair given a curve, a private key and a public key point.

Deserializes a private key from a PEM-encoded ECPrivateKey structure.

The input should have a header of -----BEGIN EC PRIVATE KEY-----.

This corresponds to PEM_read_bio_ECPrivateKey.

Deserializes a private key from a PEM-encoded encrypted ECPrivateKey structure.

The input should have a header of -----BEGIN EC PRIVATE KEY-----.

This corresponds to PEM_read_bio_ECPrivateKey.

Deserializes a private key from a PEM-encoded encrypted ECPrivateKey structure.

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

The input should have a header of -----BEGIN EC PRIVATE KEY-----.

This corresponds to PEM_read_bio_ECPrivateKey.

Decodes a DER-encoded elliptic curve private key structure.

This corresponds to d2i_ECPrivateKey.

Methods from Deref<Target = EcKeyRef<T>>

Serializes the private key to a PEM-encoded ECPrivateKey structure.

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

This corresponds to PEM_write_bio_ECPrivateKey.

Serializes the private key to a PEM-encoded encrypted ECPrivateKey structure.

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

This corresponds to PEM_write_bio_ECPrivateKey.

Serializes the private key into a DER-encoded ECPrivateKey structure.

This corresponds to i2d_ECPrivateKey.

Return EcPoint associated with the private key

OpenSSL documentation at EC_KEY_get0_private_key

Returns the public key.

OpenSSL documentation at EC_KEY_get0_public_key

Serialies 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_EC_PUBKEY.

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

This corresponds to i2d_EC_PUBKEY.

Return EcGroup of the EcKey

OpenSSL documentation at EC_KEY_get0_group

Checks the key for validity.

OpenSSL documentation at EC_KEY_check_key

Trait Implementations

Performs the conversion.

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

Performs the conversion.

Performs the conversion.

The resulting type after obtaining ownership.

Creates owned data from borrowed data, usually by cloning. Read more

🔬 This is a nightly-only experimental API. (toowned_clone_into)

recently added

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.