错误:系统找不到指定的文件。
堆栈: 在 System.Security.Cryptography.Utils.CreateProvHandle(CspParameters parameters, Boolean randomKeyContainer)
在 System.Security.Cryptography.Utils.ImportCspBlobHelper(CspAlgorithmType keyType, Byte[] keyBlob, Boolean publicOnly, CspParameters& parameters, Boolean randomKeyContainer, SafeProvHandle& safeProvHandle, SafeKeyHandle& safeKeyHandle)
在 System.Security.Cryptography.RSACryptoServiceProvider.ImportCspBlob(Byte[] keyBlob)
IIS版本:IIS 6.0
.net版本:3.5
参考文档:http://social.msdn.microsoft.com/forums/en-US/clr/thread/7ea48fd0-8d6b-43ed-b272-1a0249ae490f/
问题重点:我使用的是万网的虚拟主机,本地测试通过,主机上不通过。
强调:这个问题对我很重要,如果能解决我200分全部送上。我在web上是新手,希望答案简单明了些,谢谢。
你在本地加密没问题,是你有特殊权限。
如果你是使用虚拟主机等不能访问物理的服务器,你仍然能够通过编程方式加密的连接字符串:
1 Configuration config = Configuration.GetWebConfiguration(Request.ApplicationPath);
2 ConfigurationSection section = config.Sections["connectionStrings"];
3 section.SectionInformation.ProtectSection("RsaProtectedConfigurationProvider");;
4 config.Update ();
参考:
http://www.cnblogs.com/shanyou/archive/2006/02/08/327196.html
感觉以上的回答,答非所问;
也在万网的主机上使用RSA加密出现了类似的问题,期待高手来帮忙解决
我也遇到类似的问题:
后来我在用到之前加:RSACryptoServiceProvider.UseMachineKeyStore = True
就解决问题了
不知道是否和你一样^-^