【问题标题】:system cannot find the file specified exception, when i want to save RSA Key in Key Container当我想将 RSA 密钥保存在密钥容器中时,系统找不到指定的文件异常
【发布时间】:2017-07-12 12:02:38
【问题描述】:

我想上传一个包含我的私钥的文本文件,以保存在 Web 主机上的 Key Container 中。

我使用下面来保存密钥:

var pk = Encoding.UTF8.GetString(fuPrivateKey.FileBytes);
CspParameters csp = new CspParameters();
csp.KeyContainerName = "Name";
RSACryptoServiceProvider rsa = new RSACryptoServiceProvider(2048, csp);
rsa.FromXmlString(pk);
Message = "Key Saved";

这个用于加密和解密:

CspParameters csp = new CspParameters()
{
       KeyContainerName = "Name",
       Flags = CspProviderFlags.UseExistingKey
};
      RSACryptoServiceProvider rsa = new RSACryptoServiceProvider(2048, csp);

我在 localhost 中没有,但是当我想保存密钥时,在 web 主机中出现以下错误:

异常详细信息:System.Security.Cryptography.CryptographicException:系统找不到指定的文件。

然后我在存储密钥时使用了csp.Flags = CspProviderFlags.UseMachineKeyStore;,我的问题得到了解决,但是当我想查看密钥是否存在时,如下所示似乎不存在。(以及加密和解密的问题)

我应该如何使用标志来解决我的问题?

【问题讨论】:

    标签: c# asp.net security encryption-asymmetric


    【解决方案1】:

    当我想存储密钥时,我使用CspParameters 和以下标志:

    Flags = CspProviderFlags.UseMachineKeyStore;
    

    当我想加密、解密和检查是否存在密钥时,下面的标志:

    Flags = CspProviderFlags.UseExistingKey|CspProviderFlags.UseMachineKeyStore;
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-11-26
      • 2022-06-26
      • 2011-01-17
      相关资源
      最近更新 更多