问题描述
我们的项目要求我们的服务 (WCF REST) 将由不同的设备使用。每个设备都有唯一的客户端证书,该证书是使用管理应用程序从所有设备的公共根证书生成的。 TLS 协商后,服务器需要发送客户端证书请求和可分辨 CA 列表。客户端需要根据与 ServerHello(TLS Handshake message) 一起接收的 distinguished CA list 获取客户端证书。 我能够进行客户端证书请求。我需要在 WCF 上做什么才能包含可分辨的 CA 列表?我正在使用的 WCF 配置如下。
<system.serviceModel>
<services>
<service name="WCFClientCertificateValidation.TestContract" behaviorConfiguration="clientcert">
<endpoint binding="webHttpBinding" contract="WCFClientCertificateValidation.ITestContract" behaviorConfiguration="webHttp"></endpoint>
</service>
</services>
<behaviors>
<endpointBehaviors>
<behavior name="webHttp">
<webHttp></webHttp>
</behavior>
</endpointBehaviors>
<serviceBehaviors>
<behavior name="clientcert">
<serviceCredentials>
<clientCertificate>
<authentication customCertificateValidatorType="WCFClientCertificateValidation.DeviceCertificateValidator,WCFClientCertificateValidation" certificateValidationMode="Custom" />
</clientCertificate>
</serviceCredentials>
</behavior>
</serviceBehaviors>
</behaviors>
<bindings>
<webHttpBinding>
<binding maxReceivedMessageSize="1000000000" >
<security mode="Transport">
<transport clientCredentialType="Certificate"/>
</security>
</binding>
</webHttpBinding>
</bindings>
</system.serviceModel>
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)