0

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 を取得するまで、ダイジェスト値を復号化できません。

助けてくれてありがとう!
-キャリー

4

0 に答える 0