7

System.Security.Cryptography (ターゲット フレームワーク .NET 4.5) を使用して xml デジタル署名を作成しようとしていますが、これまでのところ、次のスキームを使用して署名を作成および検証できました: RSA PKCS#1 v1.5 および SHA-256: http://www.w3.org/2001/04/xmldsig-more#rsa-sha256

ただし、次のスキームを使用することはできません。 MGF1

表示されているエラーは、「指定された署名アルゴリズムに対して SignatureDescription を作成できませんでした」という明確なものです。

「RSA PKCS#1 v1.5 および SHA-256」の場合、署名として次のパブリック クラスを追加しました。

   public class RSAPKCS1SHA256SignatureDescription : SignatureDescription
   {
        public RSAPKCS1SHA256SignatureDescription()
        {
            base.KeyAlgorithm = "System.Security.Cryptography.RSACryptoServiceProvider";
            base.DigestAlgorithm = "System.Security.Cryptography.SHA256Managed";
            base.FormatterAlgorithm = "System.Security.Cryptography.RSAPKCS1SignatureFormatter";
            base.DeformatterAlgorithm = "System.Security.Cryptography.RSAPKCS1SignatureDeformatter";
        }

        public override AsymmetricSignatureDeformatter CreateDeformatter(AsymmetricAlgorithm key)
        {
            AsymmetricSignatureDeformatter asymmetricSignatureDeformatter = (AsymmetricSignatureDeformatter)
            CryptoConfig.CreateFromName(base.DeformatterAlgorithm);
            asymmetricSignatureDeformatter.SetKey(key);
            asymmetricSignatureDeformatter.SetHashAlgorithm("SHA256");
            return asymmetricSignatureDeformatter;
        }
    }

ただし、「SHA-256 を使用したパラメーターなしの RSASSA-PSS」が .Net 4.5 でサポートされているかどうか、サポートされている場合はその署名定義を設定する方法がわかりません。

どなたか同じような経験をお持ちの方で、少しでもお力になれれば幸いです。

4

1 に答える 1