这里我要问几个关于wcf ssl& amp;证书
我是wcf的新手并且非常诚实地说我有基本的问题来理解SSL&证书。
1)我想知道当我们启用SSL时,每当我们需要使用证书时,或者当我们使用wcf附加证书时,相同的方式则会隐式使用SSL。
2)SSL&证书在概念上是相同还是不同?
3)当我们自己托管wcf服务时,我们可以启用SSL或证书......哪一个适用?
4)证书的tcp绑定与http无关。因此,当我们使用tcp绑定时,我们可以为tcp绑定启用SSL。
5)SSL与&之间的区别是什么?证书?
6)当我们在服务端使用证书时,然后客户端使用&调用他们总是需要安装证书的服务。如果不是那么当客户需要安装证书&什么时候不需要。一个人告诉我,只有在需要相互认证但我不知道相互认证的时候,客户才需要安装证书?
我知道我问过非常基本的问题。如果可能的话,请详细解释我的所有要点以澄清我的疑虑。感谢1)我想知道当我们启用SSL时,每次我们需要使用证书或 当我们使用wcf附加证书时,将会隐式使用SSL。
你说如下: - 启用传输安全性时,端点地址必须包含HTTPS协议, 否则,当你开始服务时会抛出异常。要使HTTPS在该端点上运行, 那么你需要一个绑定到指定端口的X.509证书。
为什么这么说: - 启用传输安全性时,端点地址必须包含HTTPS协议
当我们在IIS中托管我们的wcf服务时,https开始发挥作用。假设我们在自托管主机上托管wcf服务 和tcp用作绑定,那么为什么我们需要在端点中包含https,因为你说启用了传输 安全性和端点地址必须包含HTTPS协议....它是否正确?可能是我无法理解 你要说的是什么能不能详细解释一下你要说的第1点
6)当我们在服务端使用证书然后客户端使用&他们总是打电话给他们 需要安装证书。如果不是那么当客户需要安装证书&什么时候不需要。 一个人告诉我,只有在需要相互认证时,客户才需要安装证书 但我不知道相互认证是什么?
这里我只想知道当wcf服务托管并附带证书时,它是强制性的 消费者需要在客户端使用证书的客户?
我想这不是强制性的。当考虑相互认证时,只有两个最终使用证书。 我是对的吗?
在相互认证服务器&客户端需要安装或使用相同的证书或客户端可以使用从abc.com购买的不同证书和xyz.com的服务器端购买证书。
请详细讨论我的上述两点。谢谢你的时间和答案。
答案 0 :(得分:1)
好的,我们走了:
1)我想知道当我们每次需要时启用SSL 当我们用wcf附上证书时,使用证书或相同的方式 然后将隐式使用SSL。
启用Transport
安全性时,端点地址必须包含 HTTPS 协议,否则在启动服务时将引发异常。要使HTTPS在该端点上运行,您还需要绑定到指定端口的X.509证书。
2)SSL&证书在概念上是相同还是不同?
SSL证书是一种X.509证书*。在TLS(SSL是其前身)中,几乎所有证书都是X.509证书。
3)当我们自己托管wcf服务时,我们可以启用SSL或 证书......哪一个适用?
使用Transport
级安全性时,自托管服务将使用绑定到其正在侦听的端点端口的X.509证书。在这种情况下,设置服务证书不会产生任何影响。
4)证书的tcp绑定与http无关。所以当我们 使用tcp绑定然后我们可以为tcp绑定启用SSL。
是的, TCP 提供的Transport
级别安全性默认为Windows安全性,即TCP over SSL。在TCP上使用SSL时,必须使用自托管服务上的SetCertificate方法显式指定证书。
5)SSL与&之间的区别是什么?证书?
如上所述,基本上SSL是X.509证书的一个子集 - 从技术上讲,这种关系并不是那么简单,但通常你会使用X.509证书进行SSL \ TLS。
6)当我们在服务端使用证书然后客户端结束 消费与调用他们总是需要安装证书的服务。如果 不是那时客户需要安装证书&什么时候不需要。 一个人告诉我,客户端只需要安装证书 相互认证是必需的,但我不知道什么是相互的 认证?
相互SSL身份验证是指客户端和服务器均提供数字证书,以便各方可以验证另一方的身份。如果您有兴趣,这里有一篇关于Mutual SSL Authentication的精彩文章。
虽然这不是必需的,但在使用Transport
安全性时只有众多选项之一 - 请在此处查看更多选项:HttpClientCredentialType
。
您还可以使用Transport
在Message
级别传递凭据时在TransportWithMessageCredential
级别执行安全性 - 然后您可以使用set Client Credentials来使用BasicHttpMessageCredentialType
并改为使用UserName
。
*:其他类型的证书可以用于SSL \ TLS,例如OpenPGP - 但它很常见。