WinRT存储RSA私钥的位置

本文关键字:位置 私钥 RSA 存储 WinRT | 更新日期: 2023-09-27 17:58:02

在我的WinRT应用程序中,我必须存储私钥以便以后解密。在另一个应用程序中,我使用了RSACryptoServiceProvider:

 CspParameters cspParams = new CspParameters();
 cspParams.KeyContainerName = ContainerName;
 RSACryptoServiceProvider RSAalg = new RSACryptoServiceProvider(cspParams);
 RSAalg.PersistKeyInCsp = true;

但是在WinRT中是另一个命名空间中的另一个类。我正在寻找如何将私钥存储在容器(或另一个安全的地方)中的替代方法。

我花了很多时间寻找最安全的解决方案,但我只找到了几个可以使用的网站,例如:

http://www.rahulsingla.com/blog/2011/04/serializing-deserializing-rsa-public-private-keys-generated-using-bouncy-castle-library

其中建议保留解密的私钥(可能在文件中)。它安全吗?

我在Windows.Security.Cryptography.Certificates中也找到了CertificateEnrollmentManager类。但我不明白如何使用这个类在KSP中保存证书并通过证书加密/解密数据。

WinRT存储RSA私钥的位置

Windows将私钥存储在''Documents and Settings''''Application Data''Microsoft''Crypto''RSA中,并要求使用密码进行保护。

最重要的是,你希望你的私钥是安全的。在某些情况下,这意味着它们可以存储在您的硬盘上。在其他情况下,这意味着它们应该存放在两人出入控制的保险箱中,前面有武装警卫。这只是取决于任何可能的暴露情况。