【问题标题】:Unable to Add certificate to X509Store无法将证书添加到 X509Store
【发布时间】: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


【解决方案1】:

试试

store.Add(cer);

而不是

store.Certificates.Add(cer);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-02-11
    • 2019-02-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-01-16
    相关资源
    最近更新 更多