是否有用于执行 Triple DES Key Wrap 的现有 .NET API?
文档在这里。
我生成了 192 位对称密钥 + 64 位初始化向量 (IV),总共 256 位。
目前,我的代码只加密对称密钥,如下所示:
byte[] rawData = ReadFile("C:\\ReceiverTest.crt");
X509Certificate2 x509 = new X509Certificate2();
x509.Import(rawData);
var receiverPublicKey = x509.PublicKey.Key.ToXmlString(false);
RSACryptoServiceProvider receiverCipher = new RSACryptoServiceProvider();
receiverCipher.FromXmlString(receiverPublicKey);
// Encrypt the secret with the receiver's public key (so only they can decrypt)
byte[] keyEncryptedBytes = receiverCipher.Encrypt(_cryptoHelper.SymmetricKey, false);
// Releases all resources
receiverCipher.Clear();
return keyEncryptedBytes;
我使用http://www.w3.org/2001/04/xmlenc#tripledes-cbc作为加密算法。
用于签署 SAML 响应的算法 - http://www.w3.org/2000/09/xmldsig#rsa-sha1
加密密钥传输 - http://www.w3.org/2001/04/xmlenc#rsa-1_5
服务提供商无法解密我的摘要值,直到他们使用对称密钥包装 IV。
预先感谢您的任何帮助!
-嘉莉