【发布时间】:2010-11-05 09:36:10
【问题描述】:
我有一个使用 X.509 证书作为客户端凭据的 WCF 服务。这些凭据中的大多数不需要密码即可使用,只需安装即可。
但是现在,我们的一个客户有一个证书,每次使用它时都需要输入密码(即每次服务运行时)。此服务每天调用另一个服务 n 次,但如果无法验证证书,则会失败。
到目前为止,我们每次遇到此问题时都要求客户订购(并支付)新证书,但我和我们的客户都厌倦了每次都经历这个问题。我自己没有做过这项服务,也没有太多关于 WCF 和服务的任何经验。
我想知道的是:是否可以将此密码连同有关证书的所有其他信息一起输入到我们的配置文件中?
这是服务的 XML 配置的一部分:
<configuration>
<system.serviceModel>
<client>
<endpoint
address="***"
binding="basicHttpBinding"
bindingConfiguration="***"
behaviorConfiguration="HTTPSEndpoint"
contract="***"
name="***" />
</client>
<bindings>
<basicHttpBinding>
<binding
name="***"
sendTimeout="00:05:00"
maxBufferSize="2147483647"
maxReceivedMessageSize="2147483647" >
<readerQuotas maxStringContentLength="2147483647" />
<security mode="Transport">
<transport clientCredentialType="Certificate" />
</security>
</binding>
</basicHttpBinding>
</bindings>
<behaviors>
<endpointBehaviors>
<behavior name ="HTTPSEndpoint">
<clientCredentials>
<clientCertificate
findValue="***"
storeLocation="LocalMachine"
storeName="My"
x509FindType="FindBySubjectName"/>
</clientCredentials>
</behavior>
</endpointBehaviors>
</behaviors>
</system.serviceModel>
</configuration>
【问题讨论】:
标签: .net wcf x509certificate