我理解的.net Framework 2.0 RSA加密

这里我必须总结一下,因为RSACryptoServiceProvider 引发的异常快使我疯掉了!

代码:

WindowsIdentity wi = Logon(UserName, Password);if (null != wi) {                                    WindowsImpersonationContext wic = wi.Impersonate();                                    CspParameters cp = new CspParameters();                                    cp.ProviderType = 1;                                    cp.Flags = CspProviderFlags.UseMachineKeyStore;                                    cp.KeyNumber = (int)KeyNumber.Exchange;                                    cp.KeyContainerName = "KEY_1";                                   RSACryptoServiceProvider csp = new RSACryptoServiceProvider( cp);                                    this.txtPublicKey.Text = this.PublicKey = csp.ToXmlString(false);                                    csp.Clear();                                    wic.Undo();

我最先遇到:

System.Security.Cryptography.CryptographicException,发生位置是aspnet_wp.exe(1128)----------->windows XP

System.Security.Cryptography.CryptographicException,发生位置是w3wp.exe------------------>windows Server 2003

症状:是我用了加密算法后,把应用挂在IIS上,就时不时报如上错。

解决:

while impersonated and dont clean up the keys of the RSACryptoProvider using the clear method while impersonated.

解决步骤:

Impersonateuser

Create a new RSACryptoServiceProvider (pair)

Encrypt or Decrypt your data

Call clear to release the keys (pair.Clear())

Undo impersonation

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索加密
, csp
, security
, cp
, 加密 csp
, The
疯掉了
rsa加密算法、rsa加密、rsa在线加密解密、java rsa加密、c rsa加密,以便于您获取更多的相关知识。

时间: 2024-09-17 11:06:57

我理解的.net Framework 2.0 RSA加密的相关文章

用.NET Framework 2.0创建Form设计器

创建|设计 Microsoft .NET Framework 1.0提供了一个非常通用的设计时框架,但是没有提供任何实现代码来完成一个设计器,Visual Studio? .NET实现了所有的复杂逻辑,要第三方去重新实现这个复杂的逻辑..NET Framework 2.0引入了一组类能够用于设计器的实现. 理解.NET Framework如何工作,非常重要的是要了解设计器是如何使用的.设计器是负责管理设计界面上的组件的设计时期行为和表现的对象.框架关联设计时对象和运行时对象,为设计时组件提供了一

.NET安全: 使用.NET Framework 2.0在您的应用程序中支持证书

本文讨论: Windows 证书存储区 .NET 中的证书类 验证.SSL.Web 服务和代码 签名 对数据进行签名和加密 本文使用了以下技术: .NET Framework 2.0 证 书在 Microsoft .NET Framework 中应用十分广泛,从安全通信到代码签名再到安全策略..NET Framework 2.0 改进了对证书的支持,为使用证书进行符合标准的加密操作添加了一个全新的命名空间. 在本文中,我将讨论证书和 Windows 证书存储区的背景知识.同时我还会为您介绍证书

Framework 4.0 新关键字dynamic 之我见(一)

大家好,好久没有写博客了,最近一段时间工作也比较忙,不过我还是会在空余时间去学习一些东西. 微软在这个星期一,开放了VS2010和Framework4.0的Beta1版本的下载,所以我也花了1天的时间进行了下载和安装,因为系统现在是windows7,而且这次版本也是beta版本,所以把它安装在了虚拟机上,虽然只设置了1G的内存,不过跑起来还非常让人满意,没有像其他兄弟说的,很吃内存,很废cpu. 其实先前已经使用过CTP版本了,也一直对新特性在做研究,在第一时间下载了beta版本后,发现其实和C

.Net Framework 4.0 功能介绍

.Net Framework 4.0 功能介绍 微软发布了 Visual Studio 2010 和 .NET Framework 4.0 的Beta 2测试版,微软往Framework 4.0里又塞了很多新东西,有的确实不错,不过有的还是感觉有点粗糙,还在实验阶段,实用性不强. 简单回顾下历史,.Net Framework 1.1其实是个试验品,.Net Framework真正走向成熟其实从2.0开始的,之后的Framework 3,Framework 3.5其实都是基于Framework 2

.Net Framework 2.0范型的反射使用

在.Net Framework 2.0中引入了范型(Generic)的概念,这可以说是一个重大的改进它的好处我在这里也不用多说,到网上可以找到非常多的说明. 我在这里要和大家说的是怎么通过反射使用范型的技术. 一:首先看看范型的FullName List<string> list = new List<string>(); System.Console.WriteLine(list.GetType().FullName);System.Console.WriteLine(); 这个

Zend Framework 1.0正式版即将发布

星期一,Zend技术公司将为PHP的Web应用开发提供其开发架构的1.0版本,这个版本已经以预发布的形式吸引了超过100万的下载. Zend Framework 1.0将不是周围唯一的PHP开发框架,因为它将和像Cake和Prado这样的框架分享.但是Zend公司表示,Zend开发框架是第一个获得了像IBM和Google这样的大企业和大公司相关支持和贡献的框架. Zend公司的CTO和共同创始人Andi Gutmans说:"它是一个用PHP建立高效的Web应用和Web服务的应用框架."

.NET Framework 4.0 Beta1里的Expression Tree一例

既然装上了Visual Studio 2010 Beta 1,正好可以试试.NET Framework 4.0里的一些新东西.我比较关注的是Expression Tree的部分,到底哪些功能进到了.NET 4,哪些还得到CodePlex的DLR站上去找呢?试用一下找找感觉. 我暂时没试这个beta里的C#对dynamic的支持,是因为暂时还没想到啥有趣的场景能写点简单的代码来玩的.对.NET类型故意使用dynamic的玩法在之前CTP的时候就玩过了,不过瘾了.回头针对.NET 4来编译一个Iro

.NET Framework 4.0和“Dublin”中的WCF和WF服务

本文基于 .NET Framework 4.0 和 "Dublin" 的预发布版本.所有信息均有可能发生变更. WF 活动程序库和设计器 .NET Framework 4.0 中的 WCF 改进 "Dublin" 扩展指南 使用 "Dublin" 构建和部署服务 本文使用了以下技术: .NET Framework 4.0."Dublin" 在 2008 年 10 月份召开的专业开发人员大会 (PDC) 上,Microsoft

vs2010未安装项目的目标框架 .net framework 4.0

问题描述 vs2010未安装项目的目标框架 .net framework 4.0 每次打开一个现有工程就会出现一下对话框但是我的框架已经装了好几次了这个该怎么办,要报警了!!!可以新建,但是关掉再打开.sln就不行了 解决方案 很奇怪,vs2010本身就是基于.net 4.0的,按理说不会这么提示,建议你问问代码的作者.或者看看他有没有留下什么文档.比如用的是英文版的vs,或者vs2010 sp1. 解决方案二: 安装一个 .net framework 4.0