繁体   English   中英

我们如何在 windows 存储 + C# 中存储和检索包含私钥的证书

[英]How can we store and retrieve a certificate containing private key in a windows store + C#

在我的 Windows 应用程序中,我将获得一个包含私钥的证书。 公钥在我身边。 我想将此证书安全地存储在 Windows 安全文件夹中,并且可以在需要时访问它。 请帮助我做到这一点。 任何示例程序。

我得到了一个关于如何使用私钥存储证书的解决方案。

byte[] byteKey = DecodePrivateKey(Convert.FromBase64String(cryptoCertificateKey));
RSAParameters rsaParam = DecodeRSAPrivateKeyToRSAParam(byteKey);
                    var cspParams = new CspParameters
                    {
                        ProviderType = 1,
                        Flags = CspProviderFlags.UseUserProtectedKey | CspProviderFlags.NoPrompt};
 using (X509Store store = new X509Store(StoreName.Root, StoreLocation.LocalMachine))
{
store.Open(OpenFlags.ReadWrite); 
using (RSACryptoServiceProvider rsaProvider = new RSACryptoServiceProvider(cspParams))
                    {
                        rsaProvider.ImportParameters(rsaParam);
                        rsaProvider.PersistKeyInCsp = true;
X509Certificate2 x509Certificate = new X509Certificate2(cryptoCertificate, "123",
                            X509KeyStorageFlags.MachineKeySet | X509KeyStorageFlags.Exportable |
                            X509KeyStorageFlags.PersistKeySet);
store.Add(x509Certificate);
}}

但我没有得到如何用密码保护私钥的解决方案

暂无
暂无

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

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