如何在 .NET 或 JavaScript 中使用 MS-XCEP 和 MS-WSTEP 从 AD CS 获取证书?

Posted

技术标签:

【中文标题】如何在 .NET 或 JavaScript 中使用 MS-XCEP 和 MS-WSTEP 从 AD CS 获取证书?【英文标题】:How do I use MS-XCEP and MS-WSTEP in .NET or JavaScript to get a certificate from AD CS? 【发布时间】:2015-05-01 10:06:18 【问题描述】:

Active Directory 证书服务提供了一个web service,它实现了MS-XCEP 和MS-WSTEP,供未连接域的计算机提交证书请求。

此证书可用于数字签名、加密等。

是否有可以用来与这些 Web 服务交互的 WSDL?我应该如何在 C# 或 javascript 中与它们交互?

【问题讨论】:

您引用的每个协议规范([MS-XCEP] 和 [MS-WSTEP])都有带有完整 WSDL 的附件:msdn.microsoft.com/en-us/library/dd304853.aspx 和 msdn.microsoft.com/en-us/library/dd357987.aspx。这还不够吗? 虽然 WSDL 由 @Crypt32 提供,但从逻辑上讲,您需要: 1. 创建 PKCS10 CSR 2. 将其打包为 PKCS7,将其加密为 RA 证书的地址 3. 使用 web 服务提交包 4. 检索并验证结果 【参考方案1】:

WCF 为各种 Web 服务连接提供配置选项。根据过去的经验,我需要来自我正在连接的客户端的 WSDL——这会生成函数调用存根。然后我不得不通过 web.config “描述”通信机制。在运行时,WCF 会自动为您生成信封。

使用 WCF 的消息跟踪,您将能够看到信封 - 这将允许您验证消息结构是否接近 MS 文档中提供的示例。您可能必须“注入”到信封构造过程中以提供自定义属性,但如果这是标准 AD 实现,则不需要这些修改。

如果之后您仍然无法从连接中收到有意义的输出,请联系 AD 管理员团队,因为他们可能知道已成功连接的客户和/或您收到的模糊错误消息的含义。

不了解 Javascript,我认为手动构造信封并处理返回的输出需要大量工作 - MS 已经为所需的复杂数据结构提供了丰富的支持。

【讨论】:

【参考方案2】:

Active Directory 证书服务为未连接域的计算机提供实施 MS-XCEP 和 MS-WSTEP 以提交证书请求的 Web 服务。

此证书可用于数字签名、加密等。

【讨论】:

以上是关于如何在 .NET 或 JavaScript 中使用 MS-XCEP 和 MS-WSTEP 从 AD CS 获取证书?的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 javascript 将图像保存在文件夹中? ASP.NET

asp.net c#.net jquery / javascript 如何使用复选框启用或禁用 requiredfieldvalidator

Asp.net Core-在使用 javascript 或 C# 上传之前选择和验证 excel 文件?

即时或在构建时连接和缩小 JavaScript - ASP.NET MVC

asp.net调用javascript返回值

当您使用 javascript 或 jquery 将鼠标悬停时,如何使图像或按钮发光?