我的应用程序对敏感数据有加密和解密机制。我们迁移到新服务器,即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