Udostępnij za pośrednictwem


AsymmetricKeyExchangeDeformatter.DecryptKeyExchange(Byte[]) Metoda

Definicja

Po zastąpieniu w klasie pochodnej wyodrębnia informacje tajne z zaszyfrowanych danych wymiany kluczy.

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()

Parametry

rgb
Byte[]

Dane wymiany kluczy, w których ukryte są informacje tajne.

Zwraca

Byte[]

Informacje tajne pochodzące z danych wymiany kluczy.

Przykłady

W poniższym przykładzie kodu pokazano, jak zastąpić DecryptKeyExchange metodę w celu utworzenia zaszyfrowanej wymiany kluczy dla określonych danych wejściowych. Ten przykład kodu jest częścią większego przykładu podanego AsymmetricKeyExchangeDeformatter dla klasy.

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

Uwagi

Przed wywołaniem implementacji tej metody należy określić klucz.

Dotyczy

Zobacz też