Share via


AsymmetricKeyExchangeDeformatter.DecryptKeyExchange(Byte[]) Metodo

Definizione

In caso di override in una classe derivata, estrae le informazioni segrete dai dati crittografati di scambio delle chiavi.

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

Parametri

rgb
Byte[]

Dati di scambio delle chiavi in cui sono occultate le informazioni segrete.

Restituisce

Byte[]

Informazioni segrete derivate dai dati di scambio delle chiavi.

Esempio

Nell'esempio di codice seguente viene illustrato come eseguire l'override del DecryptKeyExchange metodo per creare uno scambio di chiavi crittografato per i dati di input specificati. Questo esempio di codice fa parte di un esempio più grande fornito per la 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

Commenti

È necessario specificare una chiave prima di chiamare un'implementazione di questo metodo.

Si applica a

Vedi anche