【发布时间】:2018-12-25 15:22:27
【问题描述】:
我正在尝试以编程方式将证书添加到证书存储区 我正在使用以下代码从目录中获取 pfx 文件并将证书添加到 My store 下的 CurrentUser。 代码运行没有任何异常,但我无法看到商店中添加的证书。 我尝试将 CurrentUser 更改为 LocalMachine 并尝试在 TrustedPeople 下添加但没有成功。
X509Certificate2 cer = new X509Certificate2(Server.MapPath("<filepath>"), "<pswd>", X509KeyStorageFlags.MachineKeySet );
StorePermission sp =
new StorePermission(PermissionState.Unrestricted);
sp.Flags = StorePermissionFlags.AllFlags;
sp.Assert();
X509Store store = new X509Store(StoreName.My, StoreLocation.CurrentUser);
store.Open(OpenFlags.MaxAllowed);
store.Certificates.Add(cer);
store.Close();
【问题讨论】:
-
怎么知道代码成功了?您是否将其包装在
try/catch中并在 catch 块中设置断点? -
是的,我已经把它放在了 try catch 中,但也不例外。此外,如果我在 Add 语句之后调试并检查 store.Certificates 集合,则不会在其中添加新证书。
标签: c# x509certificate