我正在使用传输模式的WCF服务。我需要使用证书使这项服务安全。 我按照下面链接中给出的步骤,让它在我的本地工作 http://www.codeproject.com/Articles/36683/simple-steps-to-enable-X-certificates-on-WCF
我现在面临的问题是: -
我尝试创建一个证书以充当根证书颁发机构并将其安装在两个服务器中。在这种方法中,我仍然坚持如何在此根权限下创建我的客户端和服务器证书。 请让我知道如何才能使这项工作。
提前致谢。
答案 0 :(得分:0)
终于搞定了。我必须在我的本地使用makecert创建证书,然后必须在我的QA环境中导入它们(将使用来自可信第三方的证书用于我的生产环境)。我的要求是保证我的服务安全,不允许未经授权的客户使用它。
我的服务web-config。
绑定的变化
<bindings>
<basicHttpBinding>
<binding name="basicHttpEndpointBinding">
<security mode="TransportWithMessageCredential">
<transport clientCredentialType="None" />
<message clientCredentialType="Certificate" />
</security>
</binding>
</basicHttpBinding>
</bindings
行为改变。
<serviceCredentials>
<clientCertificate>
<authentication certificateValidationMode="ChainTrust" revocationMode="NoCheck" />
</clientCertificate>
</serviceCredentials>
我的客户端web-config。
绑定的变化
<binding name="">
<security mode="TransportWithMessageCredential">
<transport clientCredentialType="None" />
<message clientCredentialType="Certificate" />
</security>
</binding>
添加行为
<behaviors>
<endpointBehaviors>
<behavior name="CustomBehavior">
<clientCredentials>
<clientCertificate findValue="RootCATest"
x509FindType="FindByIssuerName"
storeLocation="LocalMachine"
storeName="My"/>
</clientCredentials>
</behavior>
</endpointBehaviors>
</behaviors>
将此行为附加到端点
behaviorConfiguration =“CustomBehavior”