0

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

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

在这种情况下需要实施 SSL 证书,以便 M2 应该知道 M1 被授权调用 GetData 函数,并且当 M2 开始发送数据时,它确保 M1 是唯一请求数据的人,并且只会将文件传递给 M1 而不是任何主体别的。

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

有什么帮助吗?

4

1 回答 1

0

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

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

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

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

问候,

于 2013-10-17T12:04:13.113 回答