我有一个代码用C#签署一个A1证书成功的字符串。 我需要为此签名添加TimeStamp。这个TimeStamp需要来自像http://www.cryptopro.ru/tsp/tsp.srf这样的TimeStamp服务器 我无法弄清楚如何将TimeStamp放到签名上。 它不是PDF标志,它是一个字符串标志。 有人可以帮我吗?
用于签署的代码:
private byte[] Sign(string text)
{
// Find the certificate we’ll use to sign
X509Certificate2 cert = new X509Certificate2(@"C:\Users\1000084016.pfx", "Password");
RSACryptoServiceProvider csp = null;
// Get its associated CSP and private key
csp = (RSACryptoServiceProvider)cert.PrivateKey;
// Hash the data
SHA1Managed sha1 = new SHA1Managed();
UnicodeEncoding encoding = new UnicodeEncoding();
byte[] data;
data = encoding.GetBytes(text);
byte[] hash = sha1.ComputeHash(data);
// Sign the hash
return csp.SignHash(hash, CryptoConfig.MapNameToOID("SHA1"));
}