AsymmetricKeyExchangeDeformatter.DecryptKeyExchange(Byte[]) Método

Definición

Si se reemplaza en una clase derivada, extrae información secreta de los datos cifrados de intercambio de claves.

public:
 abstract cli::array <System::Byte> ^ DecryptKeyExchange(cli::array <System::Byte> ^ rgb);
public abstract byte[] DecryptKeyExchange (byte[] rgb);
abstract member DecryptKeyExchange : byte[] -> byte[]
Public MustOverride Function DecryptKeyExchange (rgb As Byte()) As Byte()

Parámetros

rgb
Byte[]

Datos de intercambio de claves en los que la información secreta está oculta.

Devoluciones

Byte[]

Información secreta derivada de los datos de intercambio de claves.

Ejemplos

En el ejemplo de código siguiente se muestra cómo invalidar el DecryptKeyExchange método para crear un intercambio de claves cifrado para los datos de entrada especificados. Este ejemplo de código es parte de un ejemplo más grande proporcionado para la clase AsymmetricKeyExchangeDeformatter.

// Create the encrypted key exchange data from the specified input
// data. This method uses the RSA class only. To
// support additional providers or provide custom decryption logic,
// add logic to this member.
public override byte[] DecryptKeyExchange(byte[] rgbData)
{
    byte[] decryptedBytes = null;

    if (_rsaKey != null)
    {
        if (_rsaKey is RSA rsa)
        {
            decryptedBytes = rsa.Decrypt(rgbData, RSAEncryptionPadding.OaepSHA1);
        }
        // Add custom decryption logic here.
    }
    else
    {
        throw new CryptographicUnexpectedOperationException(
            "Cryptography_MissingKey");
    }

    return decryptedBytes;
}
' Create the encrypted key exchange data from the specified input
' data. This method uses the RSA class only. To
' support additional providers or provide custom decryption logic,
' add logic to this member.
Public Overrides Function DecryptKeyExchange(
    ByVal rgbData() As Byte) As Byte()

    Dim decryptedBytes() As Byte

    If (Not rsaKey Is Nothing) Then
        If (TypeOf (rsaKey) Is RSA) Then
            Dim rsa As RSA
            rsa = CType(rsaKey, RSA)

            decryptedBytes = rsa.Decrypt(rgbData, RSAEncryptionPadding.OaepSHA1)
        End If

        ' Add custom decryption logic here.

    Else
        Throw New CryptographicUnexpectedOperationException(
            "Cryptography_MissingKey")
    End If

    Return decryptedBytes
End Function

Comentarios

Debe especificar una clave antes de llamar a una implementación de este método.

Se aplica a

Consulte también