首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >RSACryptoServiceProvider存在的问题

RSACryptoServiceProvider存在的问题
EN

Stack Overflow用户
提问于 2011-02-13 10:47:42
回答 2查看 2.4K关注 0票数 1

我的机器上的RSACryptoServiceProvider有一些问题。如果创建一个新实例:

代码语言:javascript
复制
RSACryptoServiceProvider rsa = new RSACryptoServiceProvider();

在CspKeyContainerInfo属性下,我已经得到了一个异常:

'System.Security.Cryptography.CryptographicException‘bool {System.Security.Cryptography.CryptographicException}

  • base {"Key不存在“类型的异常。\r\n”“} System.SystemException {System.Security.Cryptography.CryptographicException}

如果我在另一台PC上尝试相同的代码,一切正常。我的PC上是否有一些设置,我可以检查它们是否都配置正确,以及配置是否延迟?知道问题出在哪里了吗?

谢谢

编辑:它似乎只发生在框架4.0上。有线索吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-02-13 17:58:06

我设法让它运转起来了。

代码语言:javascript
复制
            CspParameters parms = new CspParameters();
            parms.Flags = CspProviderFlags.NoFlags;
            parms.KeyContainerName = Guid.NewGuid().ToString().ToUpperInvariant();
            parms.ProviderType = ((Environment.OSVersion.Version.Major > 5) || ((Environment.OSVersion.Version.Major == 5) && (Environment.OSVersion.Version.Minor >= 1))) ? 0x18 : 1;

            RSACryptoServiceProvider rsa = new RSACryptoServiceProvider(parms);

我不知道为什么,但就是这样。如果有人知道这种行为的原因,那么欢迎发表更多的评论。

谢谢

票数 2
EN

Stack Overflow用户

发布于 2011-08-03 14:59:47

您可以在windows注册表中获取提供程序类型:\local_machine\software\Microsoft\Cryptography\Defaults\Provider\

查找您想要的提供者并检查Type值.

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4983698

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档