Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/282.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 使用ICertRequest从Microsoft证书服务请求X509证书_C#_X509certificate_X509 - Fatal编程技术网

C# 使用ICertRequest从Microsoft证书服务请求X509证书

C# 使用ICertRequest从Microsoft证书服务请求X509证书,c#,x509certificate,x509,C#,X509certificate,X509,我的应用程序最近更改为使用客户机-服务器模式 现在,我需要能够从远程服务器和本地网络上的服务器请求证书。ICertRequest指定它可以接受: 注册服务器的HTTPS URL或格式为ComputerName/CAName 后者以前使用时没有任何问题,但现在我希望它使用HTTPS,但不确定使用什么作为url。我可以通过以下方式访问的网页: 但若我使用这个字符串作为它的strConfig,它会产生: System.Runtime.InteropServices.COMException: 'CC

我的应用程序最近更改为使用客户机-服务器模式

现在,我需要能够从远程服务器和本地网络上的服务器请求证书。ICertRequest指定它可以接受:

注册服务器的HTTPS URL或格式为ComputerName/CAName

后者以前使用时没有任何问题,但现在我希望它使用HTTPS,但不确定使用什么作为url。我可以通过以下方式访问的网页:

但若我使用这个字符串作为它的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相关。
我也尝试过,但没有任何运气

Microsoft ADC中有两个web功能:

  • 旧注册网页(您正在尝试使用)
  • 使用HTTP/SOAP传输的注册Web服务
  • 注册服务器的HTTPS URL

    该消息引用后一个URI。您可能需要在服务器端(CA驻留的地方)设置注册web服务,并使用公开的端点与CA通信。web服务由两个服务组成:策略和注册

    政策沟通:

    client <---HTTP/SOAP---> XCEP <---RPC/DCOM---> Policy Storage
    
    客户端XCEP策略存储
    
    客户端firs与XCEP通信以加载注册策略和证书注册策略终结点。没有与CA的直接通信,XCEP只存储策略、客户端可用的证书模板以及注册web服务的URI

    client <---HTTP/SOAP---> WSTEP <---RPC/DCOM---> MS ADCS
    
    客户端WSTEP MS ADC
    
    策略(在第一步中获得)包含注册到策略提供程序(XCEP服务器)的注册服务的URI。客户端使用一个或多个端点执行证书注册任务


    Ref:

    Afaic ICERTRRequest将仅通过RPC工作。当然,我可能错了。