【发布时间】:2012-03-13 08:32:14
【问题描述】:
这是一个非常简单明了的问题。 所以请给我一个简单的答案(教程会很好).. 而不是一个非常困难的专家答案(我一直在谷歌上找到..)
所以问题是: 1. 如何创建一个简单的 web 服务,它将由 iis 7.5 托管并具有 SSL
如何创建由控制台托管并具有 SSL 的简单 Web 服务
如果您创建一个使用 SSL wcf 主机的客户端,那么您首先需要选择是或否,计算机如何自动选择是?
【问题讨论】:
这是一个非常简单明了的问题。 所以请给我一个简单的答案(教程会很好).. 而不是一个非常困难的专家答案(我一直在谷歌上找到..)
所以问题是: 1. 如何创建一个简单的 web 服务,它将由 iis 7.5 托管并具有 SSL
如何创建由控制台托管并具有 SSL 的简单 Web 服务
如果您创建一个使用 SSL wcf 主机的客户端,那么您首先需要选择是或否,计算机如何自动选择是?
【问题讨论】:
要使用 SSL 配置 IIS 托管的 WCF 服务,您需要:
1. 安装证书
2. 在inetmgr的应用程序设置中需要设置SSL。
3. 在 WCF 服务设置中配置安全性。以下是 WCF 服务的安全设置示例
...
<service behaviorConfiguration="YourServiceBehavior" name="...">
...
<behaviors>
<serviceBehaviors>
<behavior name="YourServiceBehavior">
...
<serviceCredentials>
<serviceCertificate findValue="CerttificateName" storeLocation="CertificateStoreLocation"
storeName="CertificateStoreName" x509FindType="FindBySubjectName" />
</serviceCredentials>
...
</behavior>
</serviceBehaviors>
</behaviors>
...
<bindings>
<basicHttpBinding>
<binding name="YourBindingName" ...>
...
<security mode="TransportWithMessageCredential">
<transport clientCredentialType="Basic" proxyCredentialType="None"/>
<message clientCredentialType="UserName"/>
</security>
</binding>
</basicHttpBinding>
</bindings>
...
我没有关于控制台托管 WCF 服务和 SSL 的答案。
另外,当询问计算机如何自动选择是时,我不确定您是什么意思。您似乎在谈论接受使用被认为无效的证书。下面的代码行应该有助于做到这一点。
ServicePointManager.ServerCertificateValidationCallback = delegate(object s, X509Certificate certificate, X509Chain chain, SslPolicyErrors sslPolicyErrors) { return true; };
【讨论】: