【发布时间】: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