簡體   English   中英

如何導入私鑰並用它在C#中簽名文檔?

[英]How can I import private key and use it to sign document in C#?

我已經生成了一個自簽名證書(X509證書),並希望使用私鑰對某些文檔進行簽名以進行數字簽名,而我正在C#中進行此操作。

如何導入.pvk文件? 我需要從密鑰庫導入嗎?

我可以使用此代碼簽名並創建數字簽名嗎?

RSACryptoServiceProvider RSA = new RSACryptoServiceProvider();
RSAPKCS1SignatureFormatter RSAFormatter = new RSAPKCS1SignatureFormatter(RSA);
RSAFormatter.SetHashAlgorithm("SHA1");
RSAFormatter.SetKey(cert.PrivateKey);
byte[] SignedHash = RSAFormatter.CreateSignature(data);

嘗試通過以下方式初始化您的RSA:

RSACryptoServiceProvider RSA = (RSACryptoServiceProvider)cert.PrivateKey;

要生成簽名,請使用rsa.SignData(data, "sha1");

首先,您需要確定應以哪種格式進行簽名。 如果處理證書,則很可能會創建PKCS#7或CMS簽名。 .NET中有一個用於CMS簽名的類。

下一步取決於您是否需要基於證書的PKCS#7簽名或RSA(PKCS#1)簽名。

旁注-將多個問題合而為一,很難正確回答。 此外,如果您進行搜索,大多數問題都會有很多答案。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM