当我想在密钥容器中保存 RSA 密钥时,系统找不到指定的文件异常
system cannot find the file specified exception, when i want to save RSA Key in 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);
我在本地主机中没有,但当我想保存密钥时,我在虚拟主机中遇到以下错误:
Exception Details: System.Security.Cryptography.CryptographicException: The system cannot find the file specified.
然后我在存储密钥时使用了csp.Flags = CspProviderFlags.UseMachineKeyStore;
,我的问题就解决了,但是当我想看看密钥是否存在时,如下所示,它似乎不存在。(以及加密和解密的问题)
我应该如何使用标志来解决我的问题?
当我想 存储密钥时,我使用 CspParameters
和下面的标志:
Flags = CspProviderFlags.UseMachineKeyStore;
当我想要加密、解密和检查现有密钥时的以下标志:
Flags = CspProviderFlags.UseExistingKey|CspProviderFlags.UseMachineKeyStore;
我想上传一个包含我的私钥的文本文件,以保存在虚拟主机上的密钥容器中。
我用下面的方法保存密钥:
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);
我在本地主机中没有,但当我想保存密钥时,我在虚拟主机中遇到以下错误:
Exception Details: System.Security.Cryptography.CryptographicException: The system cannot find the file specified.
然后我在存储密钥时使用了csp.Flags = CspProviderFlags.UseMachineKeyStore;
,我的问题就解决了,但是当我想看看密钥是否存在时,如下所示,它似乎不存在。(以及加密和解密的问题)
我应该如何使用标志来解决我的问题?
当我想 存储密钥时,我使用 CspParameters
和下面的标志:
Flags = CspProviderFlags.UseMachineKeyStore;
当我想要加密、解密和检查现有密钥时的以下标志:
Flags = CspProviderFlags.UseExistingKey|CspProviderFlags.UseMachineKeyStore;