WCF - 使用数字签名验证客户端

时间:2016-06-30 15:27:23

标签: c# asp.net wcf x509certificate wcf-security

我是WCF服务的新手,我的客户希望我们创建一个服务,他们可以回复我们的请求。但他们实际上想要在Https上进行服务并从数字签名中对它们进行身份验证。他们要求" cer"来自我们的文件。

我真的不知道如何制作这个。他们为配置文件提供了system.serviceModel它应该如何显示。下面是他们提供的system.serviceModel。

<system.serviceModel>
<services>
  <service behaviorConfiguration="ServiceBehavior" name="WcfServer.Service1">
    <endpoint address="" binding="customBinding"
      bindingConfiguration="abcBinding" contract="WcfServer.IService1" />        
  </service>
</services>
<behaviors>
  <serviceBehaviors>
    <behavior name="ServiceBehavior">
      <serviceCredentials>
        <clientCertificate>
          <certificate findValue="xyz.abcdef.com" storeName="TrustedPublisher"
            x509FindType="FindBySubjectName" />
          <authentication certificateValidationMode="PeerOrChainTrust" />
        </clientCertificate>
        <serviceCertificate findValue="localhost" x509FindType="FindBySubjectName" />
      </serviceCredentials>
      <serviceMetadata httpsGetEnabled="true" />
      <serviceDebug includeExceptionDetailInFaults="true" />
    </behavior>
  </serviceBehaviors>
</behaviors>
<bindings>
  <customBinding>
    <binding name="abcBinding" sendTimeout="00:02:00">
      <textMessageEncoding maxReadPoolSize="64" maxWritePoolSize="16"
        messageVersion="Soap11" writeEncoding="utf-8">
        <readerQuotas maxDepth="32" maxStringContentLength="8192" maxArrayLength="163840"
          maxBytesPerRead="4096" maxNameTableCharCount="163840" />
      </textMessageEncoding>
      <security allowSerializedSigningTokenOnReply="true" enableUnsecuredResponse="true"
        authenticationMode="MutualCertificateDuplex" requireDerivedKeys="false"
        securityHeaderLayout="Lax" messageProtectionOrder="SignBeforeEncrypt"
        requireSignatureConfirmation="false">
        <secureConversationBootstrap />
      </security>
      <httpsTransport maxReceivedMessageSize="2147483647" />
    </binding>
  </customBinding>
</bindings>
<serviceHostingEnvironment multipleSiteBindingsEnabled="false" />

请帮忙

0 个答案:

没有答案