ECDiffieHellmanOpenSsl Clase

Definición

Proporciona una implementación del algoritmo Diffie-Hellman de curva elíptica (ECDH) respaldada por OpenSSL.Provides an implementation of the Elliptic Curve Diffie-Hellman (ECDH) algorithm backed by OpenSSL.

public ref class ECDiffieHellmanOpenSsl sealed : System::Security::Cryptography::ECDiffieHellman
public sealed class ECDiffieHellmanOpenSsl : System.Security.Cryptography.ECDiffieHellman
type ECDiffieHellmanOpenSsl = class
    inherit ECDiffieHellman
Public NotInheritable Class ECDiffieHellmanOpenSsl
Inherits ECDiffieHellman
Herencia
ECDiffieHellmanOpenSsl

Comentarios

Esta clase solo se debe usar directamente cuando se realiza la interoperabilidad de plataforma con la biblioteca System OpenSSL.This class should only be used directly when doing platform interop with the system OpenSSL library. Cuando no se necesita la interoperabilidad de plataforma, se deben usar los ECDiffieHellman.Create métodos de generador en lugar de una implementación derivada concreta.When platform interop is not needed, you should use the ECDiffieHellman.Create factory methods instead of a specific derived implementation.

Constructores

ECDiffieHellmanOpenSsl()

Inicializa una nueva instancia de la clase ECDiffieHellmanOpenSsl con una curva predeterminada de NIST P-521/secp521r1.Initializes a new instance of the ECDiffieHellmanOpenSsl class with a default curve of NIST P-521/secp521r1.

ECDiffieHellmanOpenSsl(ECCurve)

Inicializa una nueva instancia de la clase ECDiffieHellmanOpenSsl y genera una clave nueva en la curva especificada.Initializes a new instance of the ECDiffieHellmanOpenSsl class and generates a new key on the specified curve.

ECDiffieHellmanOpenSsl(Int32)

Inicializa una nueva instancia de la clase ECDiffieHellmanOpenSsl establecida de forma predeterminada en la curva principal NIST del tamaño especificado.Initializes a new instance of the ECDiffieHellmanOpenSsl class defaulting to the NIST prime curve of the specified size.

ECDiffieHellmanOpenSsl(IntPtr)

Inicializa una nueva instancia de la clase ECDiffieHellmanOpenSsl a partir de una clave OpenSSL existente representada como EC_KEY*.Initializes a new instance of the ECDiffieHellmanOpenSsl class from an existing OpenSSL key represented as an EC_KEY*.

ECDiffieHellmanOpenSsl(SafeEvpPKeyHandle)

Inicializa una nueva instancia de la clase ECDiffieHellmanOpenSsl a partir de una clave OpenSSL existente representada como EVP_PKEY*.Initializes a new instance of the ECDiffieHellmanOpenSsl class from an existing OpenSSL key represented as an EVP_PKEY*.

Campos

KeySizeValue

Representa el tamaño, en bits, del módulo de claves que usa el algoritmo asimétrico.Represents the size, in bits, of the key modulus used by the asymmetric algorithm.

(Heredado de AsymmetricAlgorithm)
LegalKeySizesValue

Especifica los tamaños de clave admitidos por el algoritmo asimétrico.Specifies the key sizes that are supported by the asymmetric algorithm.

(Heredado de AsymmetricAlgorithm)

Propiedades

KeyExchangeAlgorithm

Obtiene el nombre del algoritmo de intercambio de claves.Gets the name of the key exchange algorithm.

(Heredado de ECDiffieHellman)
KeySize

Obtiene o establece el tamaño, en bits, del módulo de claves que usa el algoritmo asimétrico.Gets or sets the size, in bits, of the key modulus used by the asymmetric algorithm.

(Heredado de AsymmetricAlgorithm)
LegalKeySizes

Obtiene los tamaños de clave que admite el algoritmo asimétrico.Gets the key sizes that are supported by the asymmetric algorithm.

(Heredado de AsymmetricAlgorithm)
PublicKey

Obtiene la clave pública que puede utilizar otro objeto ECDiffieHellman para generar un acuerdo confidencial compartido.Gets the public key that can be used by another ECDiffieHellman object to generate a shared secret agreement.

SignatureAlgorithm

Obtiene el nombre del algoritmo de firma.Gets the name of the signature algorithm.

(Heredado de ECDiffieHellman)

Métodos

Clear()

Libera todos los recursos que utiliza la clase AsymmetricAlgorithm.Releases all resources used by the AsymmetricAlgorithm class.

(Heredado de AsymmetricAlgorithm)
DeriveKeyFromHash(ECDiffieHellmanPublicKey, HashAlgorithmName)

Realiza la derivación de claves mediante un algoritmo hash especificado.Performs key derivation using a specified hash algorithm.

(Heredado de ECDiffieHellman)
DeriveKeyFromHash(ECDiffieHellmanPublicKey, HashAlgorithmName, Byte[], Byte[])

Realiza la derivación de claves mediante un algoritmo hash especificado con datos antepuestos o anexados opcionales.Performs key derivation using a specified hash algorithm with optional prepended or appended data.

DeriveKeyFromHmac(ECDiffieHellmanPublicKey, HashAlgorithmName, Byte[])

Realiza la derivación de claves mediante un algoritmo HMAC (código de autentificación de mensajes en clave-hash).Performs key derivation using a specified HMAC (Hash-based Message Authentication Code) algorithm.

(Heredado de ECDiffieHellman)
DeriveKeyFromHmac(ECDiffieHellmanPublicKey, HashAlgorithmName, Byte[], Byte[], Byte[])

Realiza la derivación de claves mediante un algoritmo HMAC (código de autentificación de mensajes en clave-hash) con datos antepuestos o anexados opcionales.Performs key derivation using a specified HMAC (Hash-based Message Authentication Code) algorithm with optional prepended or appended data.

DeriveKeyMaterial(ECDiffieHellmanPublicKey)

Realiza una derivación de claves en el secreto compartido.Performs a key derivation on the shared secret.

DeriveKeyTls(ECDiffieHellmanPublicKey, Byte[], Byte[])

Realiza la derivación de claves mediante TLS (Seguridad de la capa de transporte) 1.1 PRF (Función pseudoaleatoria).Performs key derivation using the TLS (Transport Layer Security) 1.1 PRF (Pseudo-Random Function).

Dispose()

Libera todos los recursos usados por la instancia actual de la clase AsymmetricAlgorithm.Releases all resources used by the current instance of the AsymmetricAlgorithm class.

(Heredado de AsymmetricAlgorithm)
Dispose(Boolean)

Libera los recursos no administrados utilizados por la clase AsymmetricAlgorithm y, de forma opcional, libera los recursos administrados.Releases the unmanaged resources used by the AsymmetricAlgorithm class and optionally releases the managed resources.

(Heredado de AsymmetricAlgorithm)
DuplicateKeyHandle()

Obtiene una representación SafeEvpPKeyHandle de la clave criptográfica.Gets a SafeEvpPKeyHandle representation of the cryptographic key.

Equals(Object)

Determina si el objeto especificado es igual que el objeto actual.Determines whether the specified object is equal to the current object.

(Heredado de Object)
ExportECPrivateKey()

Exporta la clave actual en el formato ECPrivateKey.Exports the current key in the ECPrivateKey format.

(Heredado de ECDiffieHellman)
ExportEncryptedPkcs8PrivateKey(ReadOnlySpan<Byte>, PbeParameters)

Exporta la clave actual en el formato EncryptedPrivateKeyInfo de PKCS#8 con una contraseña basada en bytes.Exports the current key in the PKCS#8 EncryptedPrivateKeyInfo format with a byte-based password.

(Heredado de AsymmetricAlgorithm)
ExportEncryptedPkcs8PrivateKey(ReadOnlySpan<Char>, PbeParameters)

Exporta la clave actual en el formato EncryptedPrivateKeyInfo de PKCS#8 con una contraseña basada en caracteres.Exports the current key in the PKCS#8 EncryptedPrivateKeyInfo format with a char-based password.

(Heredado de AsymmetricAlgorithm)
ExportExplicitParameters(Boolean)

Exporta la información de clave pública o la de clave pública y privada con el formulario de curva explícito desde la clave actual a una estructura ECParameters de modo que se pueda pasar al método ImportParameters(ECParameters).Exports either the public or the public and private key information using the explicit curve form from the current key to an ECParameters structure so that it can be passed to the ImportParameters(ECParameters) method.

ExportParameters(Boolean)

Exporta la clave que usa el objeto ECCurve en un objeto ECParameters.Exports the key used by the ECCurve object into an ECParameters object.

ExportPkcs8PrivateKey()

Exporta la clave actual en el formato PrivateKeyInfo de PKCS#8.Exports the current key in the PKCS#8 PrivateKeyInfo format.

(Heredado de AsymmetricAlgorithm)
ExportSubjectPublicKeyInfo()

Exporta la parte de la clave pública de la clave actual en el formato SubjectPublicKeyInfo de X.509.Exports the public-key portion of the current key in the X.509 SubjectPublicKeyInfo format.

(Heredado de AsymmetricAlgorithm)
FromXmlString(String)

Se produce este método en todos los casos.This method throws in all cases.

(Heredado de ECDiffieHellman)
GenerateKey(ECCurve)

Genera un nuevo par de claves pública-privada efímeras para la curva especificada.Generates a new ephemeral public/private key pair for the specified curve.

GetHashCode()

Sirve como la función hash predeterminada.Serves as the default hash function.

(Heredado de Object)
GetType()

Obtiene el Type de la instancia actual.Gets the Type of the current instance.

(Heredado de Object)
ImportECPrivateKey(ReadOnlySpan<Byte>, Int32)

Importa el par de claves pública/privada desde una estructura ECPrivateKey, reemplazando las claves de este objeto.Imports the public/private keypair from an ECPrivateKey structure, replacing the keys for this object.

(Heredado de ECDiffieHellman)
ImportEncryptedPkcs8PrivateKey(ReadOnlySpan<Byte>, ReadOnlySpan<Byte>, Int32)

Importa el par de claves pública/privada desde una estructura EncryptedPrivateKeyInfo de PKCS#8 después de descifrar con una contraseña basada en bytes, reemplazando las claves de este objeto.Imports the public/private keypair from a PKCS#8 EncryptedPrivateKeyInfo structure after decrypting with a byte-based password, replacing the keys for this object.

(Heredado de ECDiffieHellman)
ImportEncryptedPkcs8PrivateKey(ReadOnlySpan<Char>, ReadOnlySpan<Byte>, Int32)

Importa el par de claves pública/privada desde una estructura EncryptedPrivateKeyInfo de PKCS#8 después de descifrar con una contraseña basada en caracteres, reemplazando las claves de este objeto.Imports the public/private keypair from a PKCS#8 EncryptedPrivateKeyInfo structure after decrypting with a char-based password, replacing the keys for this object.

(Heredado de ECDiffieHellman)
ImportFromEncryptedPem(ReadOnlySpan<Char>, ReadOnlySpan<Byte>)

Importa una clave privada con codificación PEM de RFC 7468 cifrada, reemplazando las claves para este objeto.Imports an encrypted RFC 7468 PEM-encoded private key, replacing the keys for this object.

(Heredado de ECDiffieHellman)
ImportFromEncryptedPem(ReadOnlySpan<Char>, ReadOnlySpan<Char>)

Importa una clave privada con codificación PEM de RFC 7468 cifrada, reemplazando las claves para este objeto.Imports an encrypted RFC 7468 PEM-encoded private key, replacing the keys for this object.

(Heredado de ECDiffieHellman)
ImportFromPem(ReadOnlySpan<Char>)

Importa una clave con codificación PEM de RFC 7468 y reemplaza las claves para este objeto.Imports an RFC 7468 PEM-encoded key, replacing the keys for this object.

(Heredado de ECDiffieHellman)
ImportParameters(ECParameters)

Importa los parámetros especificados para un objeto ECCurve como una clave en la instancia actual.Imports the specified parameters for an ECCurve object as a key into the current instance.

ImportPkcs8PrivateKey(ReadOnlySpan<Byte>, Int32)

Importa el par de claves pública/privada desde una estructura PrivateKeyInfo de PKCS#8 después del descifrado, reemplazando las claves de este objeto.Imports the public/private keypair from a PKCS#8 PrivateKeyInfo structure after decryption, replacing the keys for this object.

(Heredado de ECDiffieHellman)
ImportSubjectPublicKeyInfo(ReadOnlySpan<Byte>, Int32)

Importa la clave pública desde una estructura SubjectPublicKeyInfo de X.509 después del descifrado, reemplazando las claves de este objeto.Imports the public key from an X.509 SubjectPublicKeyInfo structure after decryption, replacing the keys for this object.

(Heredado de ECDiffieHellman)
MemberwiseClone()

Crea una copia superficial del Object actual.Creates a shallow copy of the current Object.

(Heredado de Object)
ToString()

Devuelve una cadena que representa el objeto actual.Returns a string that represents the current object.

(Heredado de Object)
ToXmlString(Boolean)

Se produce este método en todos los casos.This method throws in all cases.

(Heredado de ECDiffieHellman)
TryExportECPrivateKey(Span<Byte>, Int32)

Intenta exportar la clave actual en el formato ECPrivateKey en un búfer proporcionado.Attempts to export the current key in the ECPrivateKey format into a provided buffer.

(Heredado de ECDiffieHellman)
TryExportEncryptedPkcs8PrivateKey(ReadOnlySpan<Byte>, PbeParameters, Span<Byte>, Int32)

Intenta exportar la clave actual en el formato EncryptedPrivateKeyInfo de PKCS#8 a un búfer proporcionado, utilizando una contraseña basada en bytes.Attempts to export the current key in the PKCS#8 EncryptedPrivateKeyInfo format into a provided buffer, using a byte-based password.

(Heredado de ECDiffieHellman)
TryExportEncryptedPkcs8PrivateKey(ReadOnlySpan<Char>, PbeParameters, Span<Byte>, Int32)

Intenta exportar la clave actual en el formato EncryptedPrivateKeyInfo de PKCS#8 a un búfer proporcionado, utilizando una contraseña basada en caracteres.Attempts to export the current key in the PKCS#8 EncryptedPrivateKeyInfo format into a provided buffer, using a char-based password.

(Heredado de ECDiffieHellman)
TryExportPkcs8PrivateKey(Span<Byte>, Int32)

Intenta exportar la clave actual en el formato PrivateKeyInfo de PKCS#8 a un búfer proporcionado.Attempts to export the current key in the PKCS#8 PrivateKeyInfo format into a provided buffer.

(Heredado de ECDiffieHellman)
TryExportSubjectPublicKeyInfo(Span<Byte>, Int32)

Intenta exportar la clave actual en el formato SubjectPublicKeyInfo de X.509 a un búfer proporcionado.Attempts to export the current key in the X.509 SubjectPublicKeyInfo format into a provided buffer.

(Heredado de ECDiffieHellman)

Implementaciones de interfaz explícitas

IDisposable.Dispose()

Esta API admite la infraestructura de producto y no está pensada para usarse directamente en el código.

Para obtener una descripción de este miembro, vea Dispose().For a description of this member, see Dispose().

(Heredado de AsymmetricAlgorithm)

Se aplica a