C# 使用soapweb服务;未提供服务证书。在ServiceCredentials中指定服务证书。”;

C# 使用soapweb服务;未提供服务证书。在ServiceCredentials中指定服务证书。”;,c#,web-services,wcf,soap,x509certificate2,C#,Web Services,Wcf,Soap,X509certificate2,我正在努力通过HTTPS使用SOAP1.2Web服务,我必须使用证书进行身份验证。因此,我收到了*.p12(PKCS12)客户端证书(颁发给公司,由DOMAIN.COM颁发),该证书由发行人签署(颁发给DOMAIN.COM,由DOMAIN.COM颁发) 我的app.config文件是: <?xml version="1.0" encoding="utf-8" ?> <configuration> <system.serviceModel>

我正在努力通过HTTPS使用SOAP1.2Web服务,我必须使用证书进行身份验证。因此,我收到了*.p12(PKCS12)客户端证书(颁发给公司,由DOMAIN.COM颁发),该证书由发行人签署(颁发给DOMAIN.COM,由DOMAIN.COM颁发)

我的app.config文件是:

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
    <system.serviceModel>
        <bindings>
            <customBinding>
                <binding name="DistributorServiceBinding">
                  <security authenticationMode="AnonymousForCertificate">
                    <issuedTokenParameters />
                    <localClientSettings />
                    <localServiceSettings />
                    <secureConversationBootstrap />
                  </security>
                  <textMessageEncoding messageVersion="Soap12" />
                  <httpsTransport />
                </binding>
            </customBinding>
        </bindings>
        <client>
            <endpoint address="https://subdomain.domain.com/*/*/*"
                binding="customBinding" bindingConfiguration="DistributorServiceBinding"
                contract="*" name="DistributorServicePort" />
        </client>
    </system.serviceModel>
</configuration>

当我试图通过web服务放置一些数据时,我遇到以下错误:

未提供服务证书。指定服务证书 服务中的凭据

这里我有第一个问题:

  • 我应该在这里设置哪个证书?是我从*.p12文件导入的证书,还是我应该从服务所有者处获得的完全不同的证书

  • 如果数据是单向发送的—我只发送数据,但不获取数据—我可以关闭serviceCertificate验证吗

我试图使用我的*.p12文件中的证书,该文件已颁发给DOMAIN.COM并正在对我的客户端证书进行签名,但是,我收到以下错误:

传出消息的身份检查失败。预期的DNS标识 远程终结点的名称为“SUBDOMAIN.DOMAIN.COM”,但远程终结点的名称为 端点提供了DNS声明“DOMAIN.COM”。如果这是合法的 远程端点,您可以通过显式指定DNS来解决此问题 标识“DOMAIN.COM”作为EndpointAddress的标识属性 正在创建通道代理

这是我的第二个问题:

  • 我是否应该将提到的证书用作服务证书?是否应该将其发布到SUBDOMAIN.DOMAIN.COM或*.DOMAIN.COM而不是DOMAIN.COM,那么这是WS-owner的错误
  • 我是否应该申请一份证书,该证书颁发给*.DOMAIN.COM,由服务方的所有者使用
我将非常感谢任何帮助