使用具有签名算法sha256的x509certificate进行签名

时间:2013-01-22 06:55:04

标签: c#

  

可能重复:
  How can I sign a file using RSA and SHA256 with .NET?

我正在尝试使用x509certificate对PDF文档进行签名,该文档具有签名算法sha256。我为此编写了以下代码。

RSACryptoServiceProvider rsaCSP = new RSACryptoServiceProvider();
rsaCSP.FromXmlString(cert.PrivateKey.ToXmlString(true));
signature = rsaCSP.SignData(dataToBeSigned, CryptoConfig.MapNameToOID("SHA256"));

产生异常,说“密钥对指定状态无效”

然后我进行了如下编辑:

RSACryptoServiceProvider rsaCSP = (RSACryptoServiceProvider)cert.PrivateKey;
signature = rsaCSP.SignData(dataToBeSigned, CryptoConfig.MapNameToOID("SHA256"));

这会产生一个异常,说“指定的算法无效”

我不知道错误,有人可以帮助我摆脱这种僵局吗?

0 个答案:

没有答案