我的应用程序最近已更改为使用客户端-服务器模型。
现在,我需要能够从远程服务器而不是本地网络上请求证书。 ICertRequest指定它可以接受:
注册服务器的HTTPS URL或格式为ComputerName / CAName
后者以前曾被使用过,没有任何问题,但是现在我希望它使用HTTPS,但不确定将其用作URL。能够通过访问以下网页:
但是,如果我使用此字符串作为ICertRequest的strConfig,它将出现:
System.Runtime.InteropServices.COMException: 'CCertRequest::Submit: The input data was not in the expected format or did not have the expected value. 0x803d0000 (-2143485952)'
该请求没有任何其他变化,因此我希望它与URL有关。 我也尝试了https://example.com/certsrv/certrqus.asp,但没有运气
答案 0 :(得分:0)
Microsoft ADCS中有两个Web功能:
注册服务器的HTTPS URL
消息引用后面的URI。您可能需要在服务器端(CA所在的位置)上设置注册Web服务,并使用公开的端点与CA进行通信。 Web服务由两项服务组成:策略和注册。
政策交流:
client <---HTTP/SOAP---> XCEP <---RPC/DCOM---> Policy Storage
client firs与XCEP通信以加载注册策略和证书注册策略端点。与CA没有直接通信,XCEP仅存储策略,客户端可用的证书模板以及用于注册Web服务的URI。
client <---HTTP/SOAP---> WSTEP <---RPC/DCOM---> MS ADCS
策略(第一步获得)包含到策略提供者(XCEP服务器)注册的注册服务的URI。客户端使用一个或多个端点执行证书注册任务。
参考:Certificate Enrollment Web Services in Active Directory Certificate Services