繁体   English   中英

WCF服务 - 使用UserName身份验证的证书和邮件安全性

[英]WCF Service - certificates and message security with UserName authentication

我正准备创建一个WCF服务,客户可以使用它来更新我们系统中的数据。 所以它必须通过互联网提供。 我有一本关于WCF的书,我知道在通过Internet提供WCF服务时, Message Security是可行的方法。 这是因为您不应该使用传输安全性,因为它只应在您可以保证服务和客户端之间存在点对点连接的环境中使用。 我做对了吗? 所以我想将Message Security与自定义UserName身份验证结合使用。 我知道我必须获得证书才能完成。 我们公司已拥有用于我们网站的SSL证书。

  • 我可以使用相同的证书来获得WCF服务的消息安全性吗?

  • Message Security方式是否可以与期望ASMX Web服务的客户端互操作?

出于测试目的,我使用Makecert创建了自己的证书。 它工作正常但我总是必须将证书添加到客户端计算机上的Trusted Persons

  • 是否可以使用上述证书启用Message Security ,而无需强制客户端手动将证书添加到Trusted Persons

现在,让我们假设以下场景:

公司基础设施

ISA-Server /防火墙后面有两个Web服务器。 此ISA-Server拥有www.company.com地址的证书。 因此所有SSL内容都由它处理。 它还相应地将传入的请求转发给Web服务器。 新创建的WCF服务应该在第二个Web服务器上运行。

  • 我是否必须将证书复制到Web服务器才能使用Message Security

如果是,我听说复制证书不是好的做法,因为它会降低安全级别。 将证书移动到Web服务器不是一种选择,因为Web-Server1上的网站也需要它。

  • 在这种情况下我有什么选择?

和:

  • 无论给定的要求如何,这种情况的最佳做法是什么?

谢谢...

精心准备的问题。 首先,我可能会读同一本书,我想澄清一下这句话:

这是因为您不应该使用传输安全性,因为它只应在您可以保证服务和客户端之间存在点对点连接的环境中使用。

是。 HTTPS(传输安全性)仅提供点对点安全性,但IMO人员无法正确理解此方案。 你是否认为如果你通过HTTP连接到你的网上银行,它会随机地从互联网交换通信中的某个地方从HTTPS到HTTP? 没有! 点对点连接意味着在客户端和访问的网关之间提供所请求的URL的安全传输通道。 在您的方案中,它意味着客户端和ISA Server之间的安全传输通道。 ISA和Web服务器2之间的通信将不受保护。如果您希望端到端能够在客户端和Web服务器2之间提供安全通道(ISA将无法拦截消息),则需要消息安全性。

现在问你的其他问题:

我可以使用相同的证书来获得WCF服务的消息安全性吗?

是的,您可以,但您必须将私钥复制到Web服务器2。

Message Security方式是否可以与期望ASMX Web服务的客户端互操作?

不会。除非您编写大量自定义SOAP标头和扩展或安装WSE 3.0,否则纯ASMX客户端无法使用邮件安全性。

是否可以使用上述证书启用Message Security,而无需强制客户端手动将证书添加到受信任的人员?

是,但必须在客户端计算机上信任发布证书的证书颁发机构。 它与HTTPS相同。 使用消息安全性保护的服务还可以在WSDL中公开证书的指纹。 客户端可以使用此指纹验证服务标识。 我认为在这种情况下您也不需要在客户端上安装证书,但是当证书过期时,所有客户端都必须更新。

我是否必须将证书复制到Web服务器才能使用Message Security?

是的,你必须。 但这可能是一个问题,因为出于安全原因,证书可以标记为不可导出。 最佳解决方案是仅为此目的申请新证书。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM