需要在异步WCF通信中使用SSL证书

时间:2013-10-17 09:42:02

标签: wcf ssl-certificate wcf-binding

我在不同位置有两台服务器M1,M2

要求是 M1只是触发M2处的函数(比如GetData)并返回。 在M2执行该功能(GetData)后,它会将响应发送给M1,比如文本文件。

需要在这种情况下实施SSL证书,以便M2知道M1有权调用GetData函数,当M2开始发送数据时,它确保M1是唯一一个请求数据并将文件传递给M1的人不是任何其他人。

我知道WCF,但我从未使用过SSL证书。此外,如果M2完全是不同的来源(例如来自供应商的API),那么我应该如何向M2提供证书。

任何帮助?

1 个答案:

答案 0 :(得分:0)

当面对类似的要求和环境时,我们通常会实施以下两种解决方案之一:

  1. 具有相互证书认证的SSL
    一种选择是使用标准SSL传输层安全性以及添加的相互客户端和服务器证书身份验证。 SSL相互认证解决方案应满足大多数直接通信安全要求。以下链接提供了一个很好的概述:
    http://www.codeproject.com/Articles/326574/An-Introduction-to-Mutual-SSL-Authentication
    注意:如果您的数据路径通过中介“跳”,您可能需要考虑消息级安全解决方案(下面的选项)。

  2. 邮件安全和相互证书身份验证
    使用消息安全性时,使用WS-Security规范将用户凭据和声明封装在每封消息中以保护消息。此选项可确保消息数据从发起者到预期接收者的安全,即使是通过中间人。 以下链接提供了具有相互证书的邮件安全性的良好概述 http://msdn.microsoft.com/en-us/library/ms733102.aspx

  3. 以下链接提供有关使用传输级和/或消息级安全性的决定的良好信息:
    Transport-level vs message-level security
    http://msdn.microsoft.com/en-us/library/ff648863.aspx

    此致