密钥无法在特定状态下使用:加密加密和解密异常

时间:2016-06-07 06:33:30

标签: c# encryption rsa windows-server-2008-r2

我的应用程序对敏感数据有加密和解密机制。我们迁移到新服务器,即Windows Server 2008 R2和64位操作系统,但旧服务器是32位操作系统Windows Server 2003。 我们正面临加密问题 代码中容易出错的区域。

我想知道需要什么样的用户权限,需要知道64位操作系统所需的任何更改

System.Security.Cryptography.CryptographicException was unhandled by user code
  Message="Key not valid for use in specified state.\r\n"
  Source="mscorlib[ERROR CODE:934e01d0-e812-4927-8c32-dd812373a22f]"
  StackTrace:
       at AIG_OQS.PolicySections.IDMain.Page_Load(Object sender, EventArgs e) in D:\AOL\ChartisOnLine\ChartisOnLine\AIG On Line\ChartisOnLine\ChartisOnLine\ChartisOnLine\APP_COL_FrontEnd\PolicyGeneral\IDMain.aspx.cs:line 197
       at System.Web.Util.CalliHelper.EventArgFunctionCaller(IntPtr fp, Object o, Object t, EventArgs e)
       at System.Web.Util.CalliEventHandlerDelegateProxy.Callback(Object sender, EventArgs e)
       at System.Web.UI.Control.OnLoad(EventArgs e)
       at System.Web.UI.Control.LoadRecursive()
       at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
  InnerException:

代码段如下:

RSACryptoServiceProvider.UseMachineKeyStore = true;

_encryptRSA = new RSACryptoServiceProvider(cp);
_encryptRSA.ImportParameters(_encryptRSA.ExportParameters(false));

_decryptRSA = new RSACryptoServiceProvider(cp);
_decryptRSA.ImportParameters(_decryptRSA.ExportParameters(true)); // <- Exception

0 个答案:

没有答案