为我的WCF服务启用SSL

Bla*_*man 37 ssl wcf

我有一个在开发中使用basicHttpbinding的WCF服务.

现在在产品中我们想要使用SSL,我必须做出哪些更改才能强制使用SSL连接?

Ste*_*r B 44

MSDN上的此页面解释了WCF绑定安全性.

http://msdn.microsoft.com/en-us/library/ms729700.aspx

BasicHttpBinding类主要用于与现有Web服务进行互操作,其中许多服务由Internet信息服务(IIS)托管.因此,此绑定的传输安全性旨在与IIS站点无缝互操作.这可以通过将安全模式设置为Transport然后设置客户端凭据类型来完成.凭据类型值对应于IIS目录安全性机制.以下代码显示正在设置的模式和设置为Windows的凭据类型.当客户端和服务器位于同一Windows域时,您可以使用此配置.

C#

BasicHttpBinding b = new BasicHttpBinding();
b.Security.Mode = BasicHttpSecurityMode.Transport ;
b.Security.Transport.ClientCredentialType = HttpClientCredentialType.Windows;
Run Code Online (Sandbox Code Playgroud)

或者,在配置中:

<bindings>   
   <basicHttpBinding>
            <binding name="SecurityByTransport">
               <security mode="Transport">
                 <transport clientCredentialType="Windows" />
                </security>
            </binding>   
   </basicHttpBinding> 
</bindings>
Run Code Online (Sandbox Code Playgroud)

要在没有登录的情况下启用ssl,请将clientCredentialType设置为"None".

安全模式的选项是:

无,传输,消息,TransportWithMessageCredential和TransportCredentialOnly

您可以在以下网址找到更多详细信息:http://msdn.microsoft.com/en-us/library/system.servicemodel.basichttpsecuritymode.aspx

  • 所以"运输"的安全模式表示SSL? (5认同)