AsymmetricAlgorithm.ImportEncryptedPkcs8PrivateKey Método

Definición

Sobrecargas

ImportEncryptedPkcs8PrivateKey(ReadOnlySpan<Byte>, ReadOnlySpan<Byte>, Int32)

Cuando se reemplaza en una clase derivada, 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<Char>, ReadOnlySpan<Byte>, Int32)

Cuando se reemplaza en una clase derivada, 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<Byte>, ReadOnlySpan<Byte>, Int32)

Cuando se reemplaza en una clase derivada, 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.

public:
 virtual void ImportEncryptedPkcs8PrivateKey(ReadOnlySpan<System::Byte> passwordBytes, ReadOnlySpan<System::Byte> source, [Runtime::InteropServices::Out] int % bytesRead);
public virtual void ImportEncryptedPkcs8PrivateKey (ReadOnlySpan<byte> passwordBytes, ReadOnlySpan<byte> source, out int bytesRead);
abstract member ImportEncryptedPkcs8PrivateKey : ReadOnlySpan<byte> * ReadOnlySpan<byte> * int -> unit
override this.ImportEncryptedPkcs8PrivateKey : ReadOnlySpan<byte> * ReadOnlySpan<byte> * int -> unit
Public Overridable Sub ImportEncryptedPkcs8PrivateKey (passwordBytes As ReadOnlySpan(Of Byte), source As ReadOnlySpan(Of Byte), ByRef bytesRead As Integer)

Parámetros

passwordBytes
ReadOnlySpan<Byte>

Bytes que se van a usar como contraseña al descifrar el material de clave.

source
ReadOnlySpan<Byte>

Bytes de una estructura EncryptedPrivateKeyInfo de PKCS#8 en la codificación ASN.1-BER.

bytesRead
Int32

El resultado que devuelve este método contiene un valor que indica el número de bytes leídos de source. Este parámetro se trata como sin inicializar.

Excepciones

La contraseña es incorrecta.

O bien

El contenido de source indica que la función de derivación de claves (KDF) que se va a aplicar es la heredada de PKCS#12, que requiere contraseñas basadas en Char.

O bien

El contenido de source no representa una estructura EncryptedPrivateKeyInfo de PKCS#8 codificada con ASN.1-BER.

O bien

El contenido de source indica que la clave es para un algoritmo distinto del algoritmo que representa esta instancia.

O bien

El contenido de source representa la clave en un formato que no se admite.

O bien

No se ha podido importar la clave específica del algoritmo.

Un tipo derivado no ha reemplazado este miembro.

Comentarios

Los bytes de contraseña se pasan directamente a la función de derivación de claves (KDF) usada por el algoritmo indicado por pbeParameters. Esto permite la compatibilidad con otros sistemas que usan una codificación de texto distinta de UTF-8 al procesar contraseñas con PBKDF2 (función de derivación de claves basada en contraseña 2).

Este método solo admite la codificación binaria (BER/CER/DER) de EncryptedPrivateKeyInfo. Si el valor está codificado en Base64 o en el formato de texto PEM, el autor de la llamada debe descodificar el contenido antes de llamar a este método.

Dado que se requiere compatibilidad específica del algoritmo para interpretar el contenido de este formato de datos, ImportEncryptedPkcs8PrivateKey produce un valor NotImplementedException de forma predeterminada.

Se aplica a

ImportEncryptedPkcs8PrivateKey(ReadOnlySpan<Char>, ReadOnlySpan<Byte>, Int32)

Cuando se reemplaza en una clase derivada, 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.

public:
 virtual void ImportEncryptedPkcs8PrivateKey(ReadOnlySpan<char> password, ReadOnlySpan<System::Byte> source, [Runtime::InteropServices::Out] int % bytesRead);
public virtual void ImportEncryptedPkcs8PrivateKey (ReadOnlySpan<char> password, ReadOnlySpan<byte> source, out int bytesRead);
abstract member ImportEncryptedPkcs8PrivateKey : ReadOnlySpan<char> * ReadOnlySpan<byte> * int -> unit
override this.ImportEncryptedPkcs8PrivateKey : ReadOnlySpan<char> * ReadOnlySpan<byte> * int -> unit
Public Overridable Sub ImportEncryptedPkcs8PrivateKey (password As ReadOnlySpan(Of Char), source As ReadOnlySpan(Of Byte), ByRef bytesRead As Integer)

Parámetros

password
ReadOnlySpan<Char>

Contraseña que se va a usar para descifrar el material de clave.

source
ReadOnlySpan<Byte>

Bytes de una estructura EncryptedPrivateKeyInfo de PKCS#8 en la codificación ASN.1-BER.

bytesRead
Int32

El resultado que devuelve este método contiene un valor que indica el número de bytes leídos de source. Este parámetro se trata como sin inicializar.

Excepciones

La contraseña es incorrecta.

O bien

El contenido de source no representa una estructura EncryptedPrivateKeyInfo de PKCS#8 codificada con ASN.1-BER.

O bien

El contenido de source indica que la clave es para un algoritmo distinto del algoritmo que representa esta instancia.

O bien

El contenido de source representa la clave en un formato que no se admite.

O bien

No se ha podido importar la clave específica del algoritmo.

Un tipo derivado no ha reemplazado este miembro.

Comentarios

Cuando el contenido de source indica un algoritmo que usa PBKDF1 (función de derivación de claves basada en contraseña 1) o PBKDF2 (función de derivación de claves basada en contraseña 2), la contraseña se convierte en bytes a través de la codificación UTF-8.

Este método solo admite la codificación binaria (BER/CER/DER) de EncryptedPrivateKeyInfo. Si el valor está codificado en Base64 o en el formato de texto PEM, el autor de la llamada debe descodificar el contenido antes de llamar a este método.

Dado que se requiere compatibilidad específica del algoritmo para interpretar el contenido de este formato de datos, ImportEncryptedPkcs8PrivateKey produce un valor NotImplementedException de forma predeterminada.

Se aplica a