简体   繁体   English

如何从RSA计算机级别的容器中检索私钥?

[英]How to retrieve private key from RSA machine level container?

How to retrieve private key from RSA machine level container using C#? 如何使用C#从RSA计算机级别的容器中检索私钥? I've created a RSA key with 我创建了一个RSA密钥

aspnet_regiis.exe -pc "MyKeys2" -exp

Now I want to use that key to encrypt my data, here's the code so far: 现在,我想使用该密钥来加密我的数据,这是到目前为止的代码:

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."

But when I try to retrieve the key throws exception "Key not valid for use in specified state." 但是,当我尝试检索密钥时,将引发异常“密钥在指定状态下无效。” What am I doing wrong? 我究竟做错了什么?

要管理此问题,请使用以下命令添加正在运行该应用程序的用户:

aspnet_regiis -pa "ContainerName" "UserName"

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM