ECDiffieHellmanCng Clase
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Proporciona una implementación CNG (Cryptography Next Generation) del algoritmo Diffie-Hellman de curva elíptica (ECDH). Esta clase se utiliza para realizar operaciones criptográficas.
public ref class ECDiffieHellmanCng sealed : System::Security::Cryptography::ECDiffieHellman
public sealed class ECDiffieHellmanCng : System.Security.Cryptography.ECDiffieHellman
type ECDiffieHellmanCng = class
inherit ECDiffieHellman
Public NotInheritable Class ECDiffieHellmanCng
Inherits ECDiffieHellman
- Herencia
- Herencia
Ejemplos
En el ejemplo siguiente se muestra cómo usar la ECDiffieHellmanCng clase para establecer un intercambio de claves y cómo usar esa clave para cifrar un mensaje que se puede enviar a través de un canal público y descifrarlo por el receptor.
using System;
using System.IO;
using System.Security.Cryptography;
using System.Text;
class Alice
{
public static byte[] alicePublicKey;
public static void Main(string[] args)
{
using (ECDiffieHellmanCng alice = new ECDiffieHellmanCng())
{
alice.KeyDerivationFunction = ECDiffieHellmanKeyDerivationFunction.Hash;
alice.HashAlgorithm = CngAlgorithm.Sha256;
alicePublicKey = alice.PublicKey.ToByteArray();
Bob bob = new Bob();
CngKey bobKey = CngKey.Import(bob.bobPublicKey, CngKeyBlobFormat.EccPublicBlob);
byte[] aliceKey = alice.DeriveKeyMaterial(bobKey);
byte[] encryptedMessage = null;
byte[] iv = null;
Send(aliceKey, "Secret message", out encryptedMessage, out iv);
bob.Receive(encryptedMessage, iv);
}
}
private static void Send(byte[] key, string secretMessage, out byte[] encryptedMessage, out byte[] iv)
{
using (Aes aes = new AesCryptoServiceProvider())
{
aes.Key = key;
iv = aes.IV;
// Encrypt the message
using (MemoryStream ciphertext = new MemoryStream())
using (CryptoStream cs = new CryptoStream(ciphertext, aes.CreateEncryptor(), CryptoStreamMode.Write))
{
byte[] plaintextMessage = Encoding.UTF8.GetBytes(secretMessage);
cs.Write(plaintextMessage, 0, plaintextMessage.Length);
cs.Close();
encryptedMessage = ciphertext.ToArray();
}
}
}
}
public class Bob
{
public byte[] bobPublicKey;
private byte[] bobKey;
public Bob()
{
using (ECDiffieHellmanCng bob = new ECDiffieHellmanCng())
{
bob.KeyDerivationFunction = ECDiffieHellmanKeyDerivationFunction.Hash;
bob.HashAlgorithm = CngAlgorithm.Sha256;
bobPublicKey = bob.PublicKey.ToByteArray();
bobKey = bob.DeriveKeyMaterial(CngKey.Import(Alice.alicePublicKey, CngKeyBlobFormat.EccPublicBlob));
}
}
public void Receive(byte[] encryptedMessage, byte[] iv)
{
using (Aes aes = new AesCryptoServiceProvider())
{
aes.Key = bobKey;
aes.IV = iv;
// Decrypt the message
using (MemoryStream plaintext = new MemoryStream())
{
using (CryptoStream cs = new CryptoStream(plaintext, aes.CreateDecryptor(), CryptoStreamMode.Write))
{
cs.Write(encryptedMessage, 0, encryptedMessage.Length);
cs.Close();
string message = Encoding.UTF8.GetString(plaintext.ToArray());
Console.WriteLine(message);
}
}
}
}
}
Imports System.IO
Imports System.Security.Cryptography
Imports System.Text
Class Alice
Public Shared alicePublicKey() As Byte
Public Shared Sub Main(ByVal args() As String)
Using alice As New ECDiffieHellmanCng()
alice.KeyDerivationFunction = ECDiffieHellmanKeyDerivationFunction.Hash
alice.HashAlgorithm = CngAlgorithm.Sha256
alicePublicKey = alice.PublicKey.ToByteArray()
Dim bob As New Bob()
Dim k As CngKey = CngKey.Import(bob.bobPublicKey, CngKeyBlobFormat.EccPublicBlob)
Dim aliceKey As Byte() = alice.DeriveKeyMaterial(CngKey.Import(bob.bobPublicKey, CngKeyBlobFormat.EccPublicBlob))
Dim encryptedMessage As Byte() = Nothing
Dim iv As Byte() = Nothing
Send(aliceKey, "Secret message", encryptedMessage, iv)
bob.Receive(encryptedMessage, iv)
End Using
End Sub
Private Shared Sub Send(ByVal key() As Byte, ByVal secretMessage As String, ByRef encryptedMessage() As Byte, ByRef iv() As Byte)
Using aes As New AesCryptoServiceProvider()
aes.Key = key
iv = aes.IV
' Encrypt the message
Using ciphertext As New MemoryStream()
Using cs As New CryptoStream(ciphertext, aes.CreateEncryptor(), CryptoStreamMode.Write)
Dim plaintextMessage As Byte() = Encoding.UTF8.GetBytes(secretMessage)
cs.Write(plaintextMessage, 0, plaintextMessage.Length)
cs.Close()
encryptedMessage = ciphertext.ToArray()
End Using
End Using
End Using
End Sub
End Class
Public Class Bob
Public bobPublicKey() As Byte
Private bobKey() As Byte
Public Sub New()
Using bob As New ECDiffieHellmanCng()
bob.KeyDerivationFunction = ECDiffieHellmanKeyDerivationFunction.Hash
bob.HashAlgorithm = CngAlgorithm.Sha256
bobPublicKey = bob.PublicKey.ToByteArray()
bobKey = bob.DeriveKeyMaterial(CngKey.Import(Alice.alicePublicKey, CngKeyBlobFormat.EccPublicBlob))
End Using
End Sub
Public Sub Receive(ByVal encryptedMessage() As Byte, ByVal iv() As Byte)
Using aes As New AesCryptoServiceProvider()
aes.Key = bobKey
aes.IV = iv
' Decrypt the message
Using plaintext As New MemoryStream()
Using cs As New CryptoStream(plaintext, aes.CreateDecryptor(), CryptoStreamMode.Write)
cs.Write(encryptedMessage, 0, encryptedMessage.Length)
cs.Close()
Dim message As String = Encoding.UTF8.GetString(plaintext.ToArray())
Console.WriteLine(message)
End Using
End Using
End Using
End Sub
End Class
Comentarios
La ECDiffieHellmanCng clase permite a dos partes intercambiar material de clave privada incluso si se comunican a través de un canal público. Ambas partes pueden calcular el mismo valor secreto, que se conoce como el acuerdo secreto en las clases de Diffie-Hellman administradas. A continuación, el acuerdo secreto se puede usar para diversos propósitos, incluido como clave simétrica. Sin embargo, en lugar de exponer directamente el contrato secreto, la ECDiffieHellmanCng clase realiza algún procesamiento posterior en el contrato antes de proporcionar el valor. Este procesamiento posterior se conoce como función de derivación de claves (KDF); Puede seleccionar qué KDF desea usar y establecer sus parámetros a través de un conjunto de propiedades en la instancia del objeto Diffie-Hellman.
Función de derivación de claves | Propiedades |
---|---|
Hash |
HashAlgorithm - Algoritmo hash que se usa para procesar el contrato secreto. SecretPrepend : matriz de bytes opcional que se antepone al acuerdo secreto antes de aplicar un hash. SecretAppend - Matriz de bytes opcional que se va a anexar al contrato secreto antes de aplicar un hash. |
Hmac |
HashAlgorithm - Algoritmo hash que se usa para procesar el contrato secreto. SecretPrepend: matriz de bytes opcional que se antepone al acuerdo secreto antes de aplicar un hash. SecretAppend - Matriz de bytes opcional que se va a anexar al contrato secreto antes de aplicar un hash. |
Tls |
Label : etiqueta para la derivación de claves. Seed : valor de inicialización para la derivación de claves. |
El resultado de pasar el acuerdo secreto a través de la función de derivación de claves es una matriz de bytes que se puede usar como material clave para la aplicación. El número de bytes de material clave generado depende de la función de derivación de claves; por ejemplo, SHA-256 generará 256 bits de material clave, mientras que SHA-512 generará 512 bits de material clave. El flujo básico de un intercambio de claves ECDH es el siguiente:
Alice y Bob crean un par de claves que se usará para la operación de intercambio de claves de Diffie-Hellman
Alice y Bob configuran la KDF mediante parámetros en los que están de acuerdo.
Alice envía a Bob su clave pública.
Bob envía a Alice su clave pública.
Alice y Bob usan las claves públicas de los demás para generar el acuerdo secreto y aplicar la KDF al acuerdo secreto para generar material clave.
Constructores
ECDiffieHellmanCng() |
Inicializa una nueva instancia de la clase ECDiffieHellmanCng con un par de claves aleatorio. |
ECDiffieHellmanCng(CngKey) |
Inicializa una nueva instancia de la clase ECDiffieHellmanCng mediante el objeto CngKey especificado. |
ECDiffieHellmanCng(ECCurve) |
Crea una nueva instancia de la clase ECDiffieHellmanCng cuyo par de claves pública-privada se genera sobre la curva especificada. |
ECDiffieHellmanCng(Int32) |
Inicializa una nueva instancia de la clase ECDiffieHellmanCng con un par de claves aleatorio usando el tamaño de clave especificado. |
Campos
KeySizeValue |
Representa el tamaño, en bits, del módulo de claves que usa el algoritmo asimétrico. (Heredado de AsymmetricAlgorithm) |
LegalKeySizesValue |
Especifica los tamaños de clave admitidos por el algoritmo asimétrico. (Heredado de AsymmetricAlgorithm) |
Propiedades
HashAlgorithm |
Obtiene o establece el algoritmo hash que se utiliza al generar el material de clave. |
HmacKey |
Obtiene o establece la clave del código de autenticación de mensajes basado en hash (HMAC) que se utiliza para derivar el material de clave. |
Key |
Especifica la CngKey utilizada por el objeto actual para operaciones criptográficas. |
KeyDerivationFunction |
Obtiene o establece la función de derivación de claves para la clase ECDiffieHellmanCng. |
KeyExchangeAlgorithm |
Obtiene el nombre del algoritmo de intercambio de claves. (Heredado de ECDiffieHellman) |
KeySize |
Obtiene o establece el tamaño, en bits, del módulo de claves que usa el algoritmo asimétrico. |
KeySize |
Obtiene o establece el tamaño, en bits, del módulo de claves que usa el algoritmo asimétrico. (Heredado de AsymmetricAlgorithm) |
Label |
Obtiene o establece el valor de la etiqueta que se utiliza para la derivación de claves. |
LegalKeySizes |
Obtiene los tamaños de clave que admite el algoritmo asimétrico. |
LegalKeySizes |
Obtiene los tamaños de clave que admite el algoritmo asimétrico. (Heredado de AsymmetricAlgorithm) |
PublicKey |
Obtiene la clave pública que puede utilizar otro objeto ECDiffieHellmanCng para generar un acuerdo confidencial compartido. |
SecretAppend |
Obtiene o establece un valor que se anexará al acuerdo confidencial al generar el material de clave. |
SecretPrepend |
Obtiene o establece un valor que se agregará al principio del acuerdo confidencial cuando se deriva el material de clave. |
Seed |
Obtiene o establece el valor de inicialización que se utilizará cuando se deriva el material de clave. |
SignatureAlgorithm |
Obtiene el nombre del algoritmo de firma. (Heredado de ECDiffieHellman) |
UseSecretAgreementAsHmacKey |
Obtiene un valor que indica si el acuerdo confidencial se utiliza como clave de código de autenticación de mensajes basado en hash (HMAC) para derivar el material de clave. |
Métodos
Clear() |
Libera todos los recursos que utiliza la clase AsymmetricAlgorithm. (Heredado de AsymmetricAlgorithm) |
DeriveKeyFromHash(ECDiffieHellmanPublicKey, HashAlgorithmName) |
Realiza la derivación de claves mediante un algoritmo hash especificado. (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. |
DeriveKeyFromHash(ECDiffieHellmanPublicKey, HashAlgorithmName, Byte[], Byte[]) |
Cuando se implementa en una clase derivada, realiza la derivación de claves mediante un algoritmo hash especificado con datos antepuestos o anexados opcionales. (Heredado de ECDiffieHellman) |
DeriveKeyFromHmac(ECDiffieHellmanPublicKey, HashAlgorithmName, Byte[]) |
Realiza la derivación de claves mediante un algoritmo HMAC (código de autentificación de mensajes en clave-hash). (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. |
DeriveKeyFromHmac(ECDiffieHellmanPublicKey, HashAlgorithmName, Byte[], Byte[], Byte[]) |
Cuando se implementa en una clase derivada, 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. (Heredado de ECDiffieHellman) |
DeriveKeyMaterial(CngKey) |
Deriva el material de clave que se genera del acuerdo confidencial entre dos partes, según un objeto CngKey que contiene la clave pública de la segunda parte. |
DeriveKeyMaterial(ECDiffieHellmanPublicKey) |
Deriva el material de clave que se genera del acuerdo confidencial entre dos partes, según un objeto ECDiffieHellmanPublicKey que contiene la clave pública de la segunda parte. |
DeriveKeyTls(ECDiffieHellmanPublicKey, Byte[], Byte[]) |
Realiza la derivación de claves mediante TLS (Seguridad de la capa de transporte) 1.1 PRF (Función pseudoaleatoria). |
DeriveKeyTls(ECDiffieHellmanPublicKey, Byte[], Byte[]) |
Cuando se implementa en una clase derivada, realiza la derivación de claves mediante TLS (Seguridad de la capa de transporte) 1.1 PRF (Función pseudoaleatoria). (Heredado de ECDiffieHellman) |
DeriveRawSecretAgreement(ECDiffieHellmanPublicKey) |
Derive material de clave sin procesar. (Heredado de ECDiffieHellman) |
DeriveSecretAgreementHandle(CngKey) |
Obtiene un identificador para el acuerdo confidencial generado entre dos partes, según un objeto CngKey que contiene la clave pública de la segunda parte. |
DeriveSecretAgreementHandle(ECDiffieHellmanPublicKey) |
Obtiene un identificador para el acuerdo confidencial generado entre dos partes, según un objeto ECDiffieHellmanPublicKey que contiene la clave pública de la segunda parte. |
Dispose() |
Libera todos los recursos usados por la instancia actual de la clase AsymmetricAlgorithm. (Heredado de AsymmetricAlgorithm) |
Dispose(Boolean) |
Libera los recursos no administrados utilizados por la clase AsymmetricAlgorithm y, de forma opcional, libera los recursos administrados. (Heredado de AsymmetricAlgorithm) |
Equals(Object) |
Determina si el objeto especificado es igual que el objeto actual. (Heredado de Object) |
ExportECPrivateKey() |
Exporta la clave actual en el formato ECPrivateKey. (Heredado de ECDiffieHellman) |
ExportECPrivateKeyPem() |
Exporta la clave actual en el formato ECPrivateKey, codificado en PEM. (Heredado de ECAlgorithm) |
ExportEncryptedPkcs8PrivateKey(ReadOnlySpan<Byte>, PbeParameters) |
Exporta la clave actual en el formato EncryptedPrivateKeyInfo de PKCS#8 con una contraseña basada en bytes. |
ExportEncryptedPkcs8PrivateKey(ReadOnlySpan<Byte>, PbeParameters) |
Exporta la clave actual en el formato EncryptedPrivateKeyInfo de PKCS#8 con una contraseña basada en bytes. (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. |
ExportEncryptedPkcs8PrivateKey(ReadOnlySpan<Char>, PbeParameters) |
Exporta la clave actual en el formato EncryptedPrivateKeyInfo de PKCS#8 con una contraseña basada en caracteres. (Heredado de AsymmetricAlgorithm) |
ExportEncryptedPkcs8PrivateKeyPem(ReadOnlySpan<Byte>, PbeParameters) |
Exporta la clave actual en el formato EncryptedPrivateKeyInfo de PKCS#8 con una contraseña basada en bytes, codificada en PEM. (Heredado de AsymmetricAlgorithm) |
ExportEncryptedPkcs8PrivateKeyPem(ReadOnlySpan<Char>, PbeParameters) |
Exporta la clave actual en el formato EncryptedPrivateKeyInfo de PKCS#8 con una contraseña basada en caracteres, codificada en PEM. (Heredado de AsymmetricAlgorithm) |
ExportExplicitParameters(Boolean) |
Exporta la clave y parámetros de curva explícitos que usa el objeto ECCurve en un objeto ECParameters. |
ExportExplicitParameters(Boolean) |
Si se reemplaza en una clase derivada, exporta la información de clave pública o la información de clave pública y privada con el formulario de curva explícito desde una clave ECDiffieHellman de trabajo a una estructura ECParameters de modo que pueda pasarse al método ImportParameters(ECParameters). (Heredado de ECDiffieHellman) |
ExportParameters(Boolean) |
Exporta la clave que usa el objeto ECCurve en un objeto ECParameters. |
ExportParameters(Boolean) |
Si se reemplaza en una clase derivada, exporta la información de clave pública o la información de clave pública y privada desde una clave ECDiffieHellman de trabajo a una estructura ECParameters de modo que pueda pasarse al método ImportParameters(ECParameters). (Heredado de ECDiffieHellman) |
ExportPkcs8PrivateKey() |
Exporta la clave actual en el formato PrivateKeyInfo de PKCS#8. (Heredado de AsymmetricAlgorithm) |
ExportPkcs8PrivateKeyPem() |
Exporta la clave actual en el formato PrivateKeyInfo PKCS#8, codificado en PEM. (Heredado de AsymmetricAlgorithm) |
ExportSubjectPublicKeyInfo() |
Exporta la parte de la clave pública de la clave actual en el formato SubjectPublicKeyInfo de X.509. (Heredado de AsymmetricAlgorithm) |
ExportSubjectPublicKeyInfoPem() |
Exporta la parte de clave pública de la clave actual en el formato SubjectPublicKeyInfo X.509, codificado en PEM. (Heredado de AsymmetricAlgorithm) |
FromXmlString(String) |
Este método no se implementa. |
FromXmlString(String) |
Se produce este método en todos los casos. (Heredado de ECDiffieHellman) |
FromXmlString(String, ECKeyXmlFormat) |
Obsoletos.
Deserializa la información de clave de una cadena XML mediante el formato especificado. |
GenerateKey(ECCurve) |
Genera un nuevo par de claves pública-privada efímeras para la curva especificada. |
GenerateKey(ECCurve) |
Si se reemplaza en una clase derivada, genera un nuevo par de claves pública-privada efímeras para la curva especificada. (Heredado de ECDiffieHellman) |
GetHashCode() |
Sirve como la función hash predeterminada. (Heredado de Object) |
GetType() |
Obtiene el Type de la instancia actual. (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. (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. |
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. (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. |
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. (Heredado de ECDiffieHellman) |
ImportFromEncryptedPem(ReadOnlySpan<Char>, ReadOnlySpan<Byte>) |
Importa una clave privada cifrada con codificación PEM RFC 7468, reemplazando las claves de este objeto. (Heredado de ECDiffieHellman) |
ImportFromEncryptedPem(ReadOnlySpan<Char>, ReadOnlySpan<Char>) |
Importa una clave privada cifrada con codificación PEM RFC 7468, reemplazando las claves de este objeto. (Heredado de ECDiffieHellman) |
ImportFromPem(ReadOnlySpan<Char>) |
Importa una clave con codificación PEM RFC 7468, reemplazando las claves de este objeto. (Heredado de ECDiffieHellman) |
ImportParameters(ECParameters) |
Importa los parámetros especificados para un objeto ECCurve como una clave en la instancia actual. |
ImportParameters(ECParameters) |
Si se reemplaza en una clase derivada, importa los parámetros especificados para un objeto ECCurve como clave efímera en el objeto ECDiffieHellman actual. (Heredado de ECDiffieHellman) |
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. |
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. (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. (Heredado de ECDiffieHellman) |
MemberwiseClone() |
Crea una copia superficial del Object actual. (Heredado de Object) |
ToString() |
Devuelve una cadena que representa el objeto actual. (Heredado de Object) |
ToXmlString(Boolean) |
Este método no se implementa. |
ToXmlString(Boolean) |
Se produce este método en todos los casos. (Heredado de ECDiffieHellman) |
ToXmlString(ECKeyXmlFormat) |
Obsoletos.
Serializa la información de clave en una cadena XML mediante el formato especificado. |
TryExportECPrivateKey(Span<Byte>, Int32) |
Intenta exportar la clave actual en el formato |
TryExportECPrivateKeyPem(Span<Char>, Int32) |
Intenta exportar la clave actual en el formato ECPrivateKey codificado en PEM a un búfer proporcionado. (Heredado de ECAlgorithm) |
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. |
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. (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. |
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. (Heredado de ECDiffieHellman) |
TryExportEncryptedPkcs8PrivateKeyPem(ReadOnlySpan<Byte>, PbeParameters, Span<Char>, Int32) |
Intenta exportar la clave actual en el formato EncryptedPrivateKeyInfo de PKCS#8 con una contraseña basada en bytes, codificada en PEM. (Heredado de AsymmetricAlgorithm) |
TryExportEncryptedPkcs8PrivateKeyPem(ReadOnlySpan<Char>, PbeParameters, Span<Char>, Int32) |
Exporta la clave actual en el formato EncryptedPrivateKeyInfo de PKCS#8 con una contraseña basada en caracteres, codificada en PEM. (Heredado de AsymmetricAlgorithm) |
TryExportPkcs8PrivateKey(Span<Byte>, Int32) |
Intenta exportar la clave actual en el formato PrivateKeyInfo de PKCS#8 a un búfer proporcionado. |
TryExportPkcs8PrivateKey(Span<Byte>, Int32) |
Intenta exportar la clave actual en el formato PrivateKeyInfo de PKCS#8 a un búfer proporcionado. (Heredado de ECDiffieHellman) |
TryExportPkcs8PrivateKeyPem(Span<Char>, Int32) |
Intenta exportar la clave actual en el formato PKCS#8 PrivateKeyInfo codificado en PEM en un búfer proporcionado. (Heredado de AsymmetricAlgorithm) |
TryExportSubjectPublicKeyInfo(Span<Byte>, Int32) |
Intenta exportar la clave actual en el formato SubjectPublicKeyInfo de X.509 a un búfer proporcionado. (Heredado de ECDiffieHellman) |
TryExportSubjectPublicKeyInfoPem(Span<Char>, Int32) |
Intenta exportar la clave actual en el formato X.509 SubjectPublicKeyInfo codificado en PEM en un búfer proporcionado. (Heredado de AsymmetricAlgorithm) |
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(). (Heredado de AsymmetricAlgorithm) |