我的目标是自动化证书安装,而无需任何用户交互。
要求:
代码:
using System.Security.Cryptography.X509Certificates;
X509Certificate2 cert = new X509Certificate2(
"file.p12", "password",
X509KeyStorageFlags.UserProtected
| X509KeyStorageFlags.UserKeySet
| X509KeyStorageFlags.Exportable);
X509Store store = new X509Store(StoreName.My);
store.Open(OpenFlags.ReadWrite);
store.Add(cert);
上面的代码将当前用户的证书安装在个人商店下,并且能够管理第一个gui: Screenshot - Certificate Import Wizard
,但是它无法设置安全级别,而是打开gui: Screenshot2
编辑:
实际上,可以通过UWP使用另一种方法,称为“ UserCertificateEnrollmentManager.ImportPfxDataAsync方法” Link。 “ KeyProtectionLevel枚举”为您提供了“ ConsentWithPassword”选项,但是UWP对我而言是全新的,我更喜欢使用控制台.net