问题标签 [certenroll]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
3869 浏览

c# - 在 Windows 10 中编译的问题

我发现了一个与构建使用 C:\Windows\System32\CertEnroll.dll 作为参考的应用程序相关的问题。

以下代码在 Windows 7 上使用 VS 2015 编译然后在 Windows 7 机器上运行时运行良好。

当您尝试在 Windows 10 中编译它,然后尝试在 Windows 7 机器上运行它时,它会引发以下错误。

“无法将“System.__ComObject”类型的 COM 对象转换为接口类型“CERTENROLLLib.CX509PrivateKey”。此操作失败,因为对具有 IID 的接口的 COM 组件调用 QueryInterface '{728AB362-217D-11DA-B2A4-000E7BBB2B09} ' 由于以下错误而失败:不支持此类接口(HRESULT 异常:0x80004002 (E_NOINTERFACE))。

我有几个人在这里复制它,我想在联系 Microsoft 了解这里发生的事情之前获得更多输入。

我想我的问题是:其他人能否证实这一点,或者如果证实他们破坏了向后兼容性?

0 投票
0 回答
4955 浏览

javascript - Windows 10 中的证书注册 API 问题

我正在尝试在网站中使用 CertEnroll 来创建 CSR。它在最新版本的 Internet Explorer 上运行良好,直到 IE11,除非它在 ​​Windows 10 上运行。

我的页面上有 CertEnroll 对象,如下所示:

当我尝试获取 CSP 时,我的问题就出现了。我在javascript中得到这样的对象:

此代码在 Windows 10 之前的 IE11 中运行良好,但此操作系统objectClassFactory为空,我收到以下错误:

我无法找到有关此特定配置此问题的任何信息。我能找到的所有帖子都指的是 Windows 7 或 8 上的 IE11,但在这些版本的 Windows 中,这个问题并没有体现出来。我能找到的唯一一个有同样问题的帖子是这个,但唯一的答案指向 2009 年的帖子,这显然不能解决我的问题。

0 投票
2 回答
1281 浏览

ios - iOS MDM 注册在 iOS 9 设备中失败

这以前适用于 iOS 7 和 8 设备,但现在新的 iOS 9 设备注册失败。这是我在设备日志中看到的。

0 投票
1 回答
133 浏览

x509certificate - SCEP CertRep SUCCESS:响应中有多少证书?

我正在研究 SCEP 实施(请求者和授权者)。该项目使用 JScep 作为库。

在 PKCSReq 通信期间,客户端收到 CertRep SUCCESS。草案说如下:

+----------------+--------------------------------------------------+ | Request-type | Reply-contents | +----------------+--------------------------------------------------+ | PKCSReq | the reply MUST contain at least the issued | | | certificate in the certificates field of the | | | Signed-Data. The reply MAY contain additional | | | certificates, but the issued certificate MUST be | | | the first in the list. The reply MUST NOT | | | contain a CRL. All returned certificates MUST | | | conform to [RFC5280]. |

我对解释有点困惑MAY contain additional certificates

这是否意味着整个证书链将在响应中显示为Collection(JScep)?

0 投票
1 回答
1133 浏览

c# - ASP.Net Fw 4.0 CertEnroll API 系统找不到指定的文件

在 Asp.net fw 4 网站上使用 CertEnroll dll 实现证书:

它抛出以下错误消息(在最后一行)

调试时它通过指令 Create() 没有错误......但在我的测试环境中:Windows Server 2012 它失败了

资源: //blogs.msdn.com/b/alejacma/archive/2008/09/05/how-to-create-a-certificate-request-with-certenroll-and-net-c.aspx

0 投票
0 回答
156 浏览

c# - 模拟未登录用户时无法生成 CX509PrivateKey

我正在使用基于经典advapi32的 ImpersonateValidUser 代码。

我使用用户的凭据通过 CertEnrollLib 向 CA 提交请求。我通过构建一个CX509PrivateKey.

如果用户有配置文件(C:\users 下的用户文件夹),则此代码可以正常工作;如果用户没有个人资料,则代码将失败并显示

我查看了加载用户配置文件,但它似乎对我来说失败了“无效句柄”错误。

有什么建议么?

0 投票
2 回答
7717 浏览

fiddler - 提琴手不工作

提琴手几乎不适合我。似乎只有https的问题。例如要打开 https google.com 我需要等待大约 40 秒

截图:

请求后立即

约 40 秒后

提琴手日志:

我在 chrome 中多次看到:等待代理隧道...并且站点显示此网页不可用(ERR_TIMED_OUT)

在 EDGE 中,我什至无法为所有子请求打开 http 站点我看到蓝色向上箭头,这意味着提琴手试图加载它(大约 40 秒后,我加载了所有请求)

我试图重置 Internet 属性-> 高级选项卡-> 恢复高级设置-它对我没有帮助。我也尝试重新启动我的系统,在我做出任何更改后我也重新启动了提琴手。

Fiddler 设置:由 CertEnroll 引擎生成的证书。我试图将其更改为 MakeCert。几次我重置所有证书,也手动删除证书。浏览器:Chrome/Firefox

fiddler 中的网关信息:未配置上游网关代理。

最近我明确安装了Windows 10。我没有任何防病毒软件。

Windows 10 Pro x64 Fiddler v4.6.2.0

我的工作需要提琴手。请帮我

更新:

这可能是协议的问题。目前在提琴手我有下一个协议:

0 投票
1 回答
788 浏览

c# - 无法验证带有 CERTENROLL.dll 的 C# 非自签名客户端证书

这是C# Generate a non self-signed client CX509Certificate Request without a CA using the certenroll.dll 的后续

我正在尝试创建一个由我的自签名 CA 签名的客户端证书,如上述问题所示。makecert.exe我可以使用(它们显示为受信任)毫无问题地创建所需的证书。我试图在C#. 证书被创建并放置在机器的My存储中。自签名 CA 也安装在机器的Trusted商店中。当我打开它们时,它们会说:

Windows 没有足够的信息来验证此证书。

帮助?

代码:

0 投票
1 回答
396 浏览

powershell - IX509Extension XCN 编码?

我通过阅读MSDN 了解到 X509 v3 扩展必须是手工制作的。这涉及 CRL、AIA、名称和策略约束、策略映射、私钥使用期限和主题目录属性。

我试图创建一个 CRL 分发点,但结果是垃圾:

是否有关于如何对以下各项的值进行编码的任何参考?我已经搜遍了,但没有运气。

  • 权威信息访问
  • Crl分布点
  • 最新鲜的CRL
  • 名称约束
  • 政策约束
  • 策略映射
  • PrivateKeyUsagePeriod
  • 主题目录属性

请注意,这是关于 Windows 中的 certenroll com 接口。openssl 在这里不适用。

0 投票
1 回答
2878 浏览

c# - 尝试创建非自签名证书时的例外情况

我想从每个设备的自签名证书切换到一对证书,其中一个是先前生成的,放置在受信任的根证书颁发机构存储中,对于所有设备都是相同的,并且作为第二个证书的根 CA,这是每个生成的设备,并放置在个人商店中。

我不想使用 makecert,因为创建签名证书会显示 UI,我想避免这种情况。此外,由于某些与许可证相关的东西,OpenSSL 无法使用(尽管我有可用的解决方案)。所以,现在我正在使用基于 CertEnroll lib 的小型 C# 工具。

这就是我为第一个根 CA 证书创建 pfx 的方式。

要从 C# 代码创建证书,我参考了如何以编程方式为 WCF 服务创建自签名证书的问题?C# 使用 certenroll.dll 在没有 CA 的情况下生成非自签名客户端 CX509Certificate 请求

到目前为止,我有以下代码。证书生成方法:

查找现有证书并基于它创建新证书的简单应用程序:

问题是,如果我尝试引用的证书不是在受信任的根证书颁发机构中,而是在个人中(即使我在证书上有密码),它的效果很好。但是,如果我尝试根据受信任的根证书颁发机构的 CA 证书创建证书,我会收到异常signerCertificate.Initialize,说

那么,我错过了什么?