0
我使用下面的代碼對數據進行簽名:安裝證書到我的本地機器後計算機重新啓動,「System.Security.Cryptography.CryptographicException」後:鍵集不存在
RSACryptoServiceProvider csp;
X509Store my = new X509Store(StoreName.My, StoreLocation.LocalMachine);
my.Open(OpenFlags.ReadOnly);
foreach (X509Certificate2 cert in my.Certificates)
{
if (cert.Subject.Contains(certSubject))
{
csp = (RSACryptoServiceProvider)cert.PrivateKey;
}
}
csp.SignHash(hash, CryptoConfig.MapNameToOID("SHA256"));
第一次工作正常但是當我嘗試在計算機重新啓動後進行簽名時,會引發異常。可能的原因是什麼,請幫忙。
在你的代碼中的任何地方設置了類似'csp.PersistKeyInCsp = false'的東西嗎?如果是這樣,那麼這個對象就會被處理掉。 – bartonjs
不,計算機沒有重新啓動工作正常,但在重新啓動問題發生後,是否在系統重新啓動時處理? – Aasish
在當前用戶而不是本地機器上安裝證書,但在本地機器上安裝會發生同樣的錯誤。 – Aasish