【问题标题】:Certificate issues running app in Windows 7在 Windows 7 中运行应用程序的证书问题
【发布时间】:2014-12-17 02:23:47
【问题描述】:

我的应用出现了一些问题。我正在使用“org.mentalis.security”程序集从“pfx”文件创建证书对象,这是发生异常的代码行:

Certificate cert = Certificate.CreateFromPfxFile(publicKey, certificatePassword);

这在生产中一直有效并且仍然有效,但由于某种原因,它在 Windows 7 中运行时抛出异常(在 2 台机器上尝试过)。

CertificateException : Unable to import the PFX file! [error code = -2146893792]

我无法通过 Google 找到有关此消息的太多信息,但在检查事件查看器时,每次发生此异常时我都会收到“审核失败”:

Event ID = 5061
Source = Microsoft Windows Security
Task Category = system Integrity
Keywords = Audit Failure

Cryptographic operation.

Subject:
 Security ID:  NT AUTHORITY\IUSR
 Account Name:  IUSR
 Account Domain:  NT AUTHORITY
 Logon ID:  0x3e3

Cryptographic Parameters:
 Provider Name: Microsoft Software Key Storage Provider
 **Algorithm Name: Not Available.**
 Key Name: VriendelijkeNaam
 Key Type: User key.
<BR>
Cryptographic Operation:
 Operation: Open Key.
 Return Code: 0x2

我不确定为什么这在 Win 7 上不起作用,我在 Vista 上运行时从未遇到过问题。我以管理员身份运行 VS2008,但我想可能是 ASP.NET 用户没有足够的权限或其他什么。

“算法名称”是“不可用”,这很奇怪。

谁能帮我解决这个问题?

【问题讨论】:

  • 当从 winform 应用程序执行相同的代码时没有这个问题,所以这似乎与 windows 7 中的 asp-net 帐户有关,任何人都知道授予该用户的权限让它工作?
  • 我尝试将用户 ASPNET 添加到“加密操作员”组,但这没有任何区别,即使将 ASPNET 用户添加到“管理员”组也没有成功!!我确实在我以前的(Vista)安装中使用了这个。我已经创建了一个 VPC windows XP SP3 并在其上安装了 vs2008,但在那台机器上问题仍然存在...... :( 有没有人有其他建议?
  • 通过 cassini(不是 IIS)运行 webapp 时,一切正常。我必须检查我的生产环境,看看它为什么在那里工作......:S
  • 我遇到了完全相同的问题。你有没有发现它为什么不起作用?

标签: c# certificate


【解决方案1】:

抱歉更正

你好

我通过访问 c:\windows\system32\inetsrv 或 syswow64\inetsrv 解决了这个问题

并运行以下命令

appcmd set apppool "[you app pool name]" -processModel.loadUserProfile:true

这样就解决了

理查德·艾伦

【讨论】:

    【解决方案2】:

    在 IIS 7 中,您可以在 IIS 管理控制台中执行此操作。

    • 在左侧展开服务器
    • 点击应用程序池
    • 点击您网站的应用程序池名称,然后点击右侧操作窗格中的高级设置
    • Process Model 部分下,将 Load User Profile 更改为 True
    • 点击确定
    • 回收右侧“操作”窗格中的应用程序池
    • 重启网站(展开左侧的站点,点击您的网站,点击操作面板中的重启。)

    【讨论】:

      【解决方案3】:

      我通过访问 c:\windows\system32\inetsrv 或 syswow64\inetsrv 解决了这个问题

      并运行以下命令

      appcmd set apppool "" -processModel.loadUserProfile:true

      这样就解决了

      理查德·艾伦

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2015-07-07
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-02-23
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多