如何从 RSA 机器级容器中检索私钥?

Posted

技术标签:

【中文标题】如何从 RSA 机器级容器中检索私钥?【英文标题】:How to retrieve private key from RSA machine level container? 【发布时间】:2015-10-06 18:11:06 【问题描述】:

如何使用 C# 从 RSA 机器级容器中检索私钥? 我用

创建了一个 RSA 密钥
aspnet_regiis.exe -pc "MyKeys2" -exp

现在我想使用该密钥来加密我的数据,这是目前的代码:

CspParameters cspParam = new CspParameters();
cspParam.KeyContainerName = "MyKeys2";
cspParam.Flags |= CspProviderFlags.UseMachineKeyStore;

RSACryptoServiceProvider rsa = new RSACryptoServiceProvider(cspParam);

var keyFromContainer = rsa.ToXmlString(true);//Here throws exception "Key not valid for use in specified state."

但是当我尝试检索密钥时会抛出异常“密钥在指定状态下无效。” 我做错了什么?

【问题讨论】:

【参考方案1】:

要管理此问题,请添加正在运行应用程序的用户:

aspnet_regiis -pa "ContainerName" "UserName"

【讨论】:

以上是关于如何从 RSA 机器级容器中检索私钥?的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 OpenSSL 生成 RSA 私钥?

如何从 .NET 读取 PEM RSA 私钥

如何从字符串获取 PKCS8 RSA 私钥/从 XML 获取 RSA 密钥对

如何导入 SSH 私钥? [关闭]

如何在 Java 中将 OpenSSH 私钥转换为 RSA 私钥?

如何使用openssl生成RSA公钥和私钥对 / 蓝讯