RSAPKCS1KeyExchangeDeformatter.DecryptKeyExchange(Byte[]) メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
暗号化されたキー交換データから機密情報を抽出します。
public:
override cli::array <System::Byte> ^ DecryptKeyExchange(cli::array <System::Byte> ^ rgbIn);
public override byte[] DecryptKeyExchange (byte[] rgbIn);
override this.DecryptKeyExchange : byte[] -> byte[]
Public Overrides Function DecryptKeyExchange (rgbIn As Byte()) As Byte()
パラメーター
- rgbIn
- Byte[]
機密情報が非表示にされるキー交換データ。
戻り値
Byte[]
キー交換データから派生する機密情報。
例外
例
次の例は、 メソッドを使用 DecryptKeyExchange してメッセージ送信者から交換キーを再作成する方法を示しています。 このコード例は、RSAPKCS1KeyExchangeDeformatter クラスのために提供されている大規模な例の一部です。
public void Receive(byte[] iv, byte[] encryptedSessionKey, byte[] encryptedMessage)
{
using (Aes aes = new AesCryptoServiceProvider())
{
aes.IV = iv;
// Decrypt the session key
RSAPKCS1KeyExchangeDeformatter keyDeformatter = new RSAPKCS1KeyExchangeDeformatter(rsaKey);
aes.Key = keyDeformatter.DecryptKeyExchange(encryptedSessionKey);
// Decrypt the message
using (MemoryStream plaintext = new MemoryStream())
using (CryptoStream cs = new CryptoStream(plaintext, aes.CreateDecryptor(), CryptoStreamMode.Write))
{
cs.Write(encryptedMessage, 0, encryptedMessage.Length);
cs.Close();
string message = Encoding.UTF8.GetString(plaintext.ToArray());
Console.WriteLine(message);
}
}
}
Public Sub Receive(ByVal iv() As Byte, ByVal encryptedSessionKey() As Byte, ByVal encryptedMessage() As Byte)
Dim aes = New AesCryptoServiceProvider()
Try
aes.IV = iv
' Decrypt the session key
Dim keyDeformatter As New RSAPKCS1KeyExchangeDeformatter(rsaKey)
aes.Key = keyDeformatter.DecryptKeyExchange(encryptedSessionKey)
' Decrypt the message
Dim plaintext As New MemoryStream()
Try
Dim cs As New CryptoStream(plaintext, aes.CreateDecryptor(), CryptoStreamMode.Write)
Try
cs.Write(encryptedMessage, 0, encryptedMessage.Length)
cs.Close()
Dim message As String = Encoding.UTF8.GetString(plaintext.ToArray())
Console.WriteLine(message)
Finally
cs.Dispose()
End Try
Finally
plaintext.Dispose()
End Try
Finally
aes.Dispose()
End Try
End Sub
注釈
このメソッドを呼び出す前に、キーを指定する必要があります。
適用対象
こちらもご覧ください
GitHub で Microsoft と共同作業する
このコンテンツのソースは GitHub にあります。そこで、issue や pull request を作成および確認することもできます。 詳細については、共同作成者ガイドを参照してください。
.NET