【发布时间】:2014-01-06 16:44:35
【问题描述】:
我正在使用以下代码在 asp.net 网络服务中使用数字证书签署消息。 签名工作正常,预计 signedMessage.ComputeSignature 行最多需要 30 到 40 秒,因为我面临超时异常。当我在 Windows 窗体应用程序下运行时,相同的代码会在几分之一秒内产生结果。任何线索或帮助。
public static string Encrypt(string fullMessage, string certificateName, bool deAttch)
{
X509Certificate2 signer = GetCertificate(certificateName);
byte[] contentBytes = Encoding.ASCII.GetBytes(fullMessage);
Oid contentOid = new Oid("1.2.840.113549.1.7.1", "PKCS 7 Data");
SignedCms signedMessage = new SignedCms(new ContentInfo(contentOid, contentBytes), deAttch);
signedMessage.ComputeSignature(new CmsSigner(signer));
byte[] signedBytes = signedMessage.Encode();
return Convert.ToBase64String(signedBytes).Trim();
}
【问题讨论】: