【问题标题】:Certificate Installation Access Denied Error证书安装访问被拒绝错误
【发布时间】:2013-09-09 08:12:02
【问题描述】:

我正在尝试在 localMachine Root 中添加证书。下面是我尝试过的代码,但这不允许我添加到本地机器中,而要添加它说访问被拒绝。如何允许在本地机器中安装?

X509Certificate2 cert = new X509Certificate2(@"D:\MyCertificate.pfx", "Temp@1234",
                X509KeyStorageFlags.MachineKeySet | X509KeyStorageFlags.PersistKeySet);
// save certificate and private key
X509Store storeMy = new X509Store(StoreName.Root, StoreLocation.LocalMachine);
storeMy.Open(OpenFlags.ReadWrite);
storeMy.Add(cert);

【问题讨论】:

  • 您是否尝试过以管理员身份运行应用程序?
  • @Scorpion:当我尝试以管理员身份运行应用程序时,这行得通。为什么即使拥有管理员权限的用户也无法正常工作?知道吗?
  • 请在下面查看我的答案。

标签: c# ssl client-certificates


【解决方案1】:

确保您用于应用程序的Application PoolIdentity 属性设置为本地系统。

【讨论】:

  • 这是通过 Windows 应用程序而不是 Web 进行的,所以我可以将 Identity 属性设置为本地系统
【解决方案2】:

尝试以管理员身份运行应用程序。

如果它以管理员身份成功运行,则意味着您的用户无权安装证书。

请仔细阅读this

您可以尝试将证书安装在current user 存储而不是local machine 下。

在代码使用中:

StoreLocation.CurrentUser

而不是

StoreLocation.LocalMachine

【讨论】:

    猜你喜欢
    • 2016-06-20
    • 2018-01-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-09-09
    • 2020-05-28
    • 1970-01-01
    相关资源
    最近更新 更多