Partilhar via


AsymmetricKeyExchangeDeformatter.DecryptKeyExchange(Byte[]) Método

Definição

Quando substituído em uma classe derivada, extrai as informações de segredo dos dados de troca de chaves criptografados.

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[]

Os dados de troca de chaves dentro dos quais as informações secretas estão ocultas.

Retornos

Byte[]

As informações secretas derivadas dos dados de troca de chaves.

Exemplos

O exemplo de código a seguir demonstra como substituir o DecryptKeyExchange método para criar uma troca de chaves criptografada para os dados de entrada especificados. Este exemplo de código faz parte de um exemplo maior fornecido para a AsymmetricKeyExchangeDeformatter classe .

// 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

Comentários

Você deve especificar uma chave antes de chamar uma implementação desse método.

Aplica-se a

Confira também