我正在使用 .NET 框架从 pfx 文件导入私钥。具体来说,我使用 X509Certificate2Collection.Import Method (String, String, X509KeyStorageFlags) 方法来执行此操作。
我只传递 X509KeyStorageFlags.Exportable 标志,该标志在开发/测试和 Azure 网站的生产中运行良好。即
X509Certificate2Collection collection = new X509Certificate2Collection();
collection.Import(PfxFileLocation, Password, X509KeyStorageFlags.Exportable);
第 3 方正在尝试重用我的程序集。它在开发/测试中对他们来说工作得很好。但是,当他们在 Azure 中运行它时,会收到有关找不到证书文件的错误。他们要求我打开旗帜,这似乎对他们有用。即
X509Certificate2Collection collection = new X509Certificate2Collection();
collection.Import(PfxFileLocation, Password, X509KeyStorageFlags.MachineKeySet | X509KeyStorageFlags.PersistKeySet | X509KeyStorageFlags.Exportable);
我正在尝试了解发生了什么事。打开这些标志是否存在安全风险?根据 MSDN 文档,我不明白为什么需要打开它。 http://msdn.microsoft.com/en-us/library/vstudio/ms148499%28v=vs.100%29.aspx
有人可以帮我解释一下吗?
最佳答案
也许有点晚了,但您需要添加 X509KeyStorageFlags.MachineKeySet | X509KeyStorageFlags.PersistKeySet
否则你会像我一样运行 ssl 1312 错误
关于.net - 仅使用 X509KeyStorageFlags.Exportable 将私钥导入到 X509Certificate2Collection,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20213575/