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 でサポートされているかどうか、サポートされている場合はその署名定義を設定する方法がわかりません。
どなたか同じような経験をお持ちの方で、少しでもお力になれれば幸いです。