带服务证书的WCF Restful Service

时间:2013-11-20 00:24:27

标签: wcf security rest service certificate

我使用ssl和 SERVICE证书 开发了一个带有wsHttpBinding的证券化WCF服务(不是客户端证书,而是服务证书!)。只有在证书存储中存储自签名证书的客户才可以使用该服务。

我使用了类似的配置:

<security mode="Transport">
  <transport clientCredentialType="None" />
   <message clientCredentialType="None" negotiateServiceCredential="true" />
</security>

<behaviors>
    <serviceBehaviors>
    <behavior name="CertificateServiceBehavior">
            <serviceCredentials>
...
                <serviceCertificate storeLocation="LocalMachine" storeName="My" x509FindType="FindBySubjectName" findValue="server" />
            </serviceCredentials>
...
        </behavior>
    </serviceBehaviors>
</behaviors>

我对WCF Securisation很陌生。我已经搜索了很多回合证券,但我需要你帮助我解决我的问题。

今天我被要求安排WCF Restful服务 通过互联网查看我发现我们可以:

  • 使用ssl
  • 使用凭据验证客户端(使用=&gt;证书= 客户证书)

我的问题是:

a)从我开头的第一个例子开始,我假设当我们设置服务证书时,这是为了在消息级别安装wcf服务 (与运输相比,ssl负责运输)。 如果我错了,请纠正我?

b)对于WCF Restful Service,我们使用的绑定是WebHttpBinding。 根据{{​​3}} 下面没有元素:

 <security mode="None/Transport/TransportCredentialOnly">
    // here there is only <transport> available with clientCredential="certificate" available.
 </security>

那么,我们可以为宁静的服务设置服务证书吗?

感谢您的帮助!

1 个答案:

答案 0 :(得分:1)

不可否认,我在理解您的问题的详细信息时遇到了一些困难,但我们正在寻找(希望是正确的)您正在寻找使用证书来保护您的WCF服务的建议。在面对类似的考虑时,我们的团队发现以下MSDN文章提供了一个全面且易于理解的Message Security with Mutual Certificates。

http://msdn.microsoft.com/en-us/library/ms733102(v=vs.110).aspx

文章清楚地指出了必要的要求,并提供了代码和配置示例。

此致