【问题标题】:Configure encryption and signing of WCF SOAP requests/responses using different X509 certificates使用不同的 X509 证书配置 WCF SOAP 请求/响应的加密和签名
【发布时间】:2015-12-05 10:27:15
【问题描述】:

这是我们想要的:

  1. 客户端使用证书 A 的私钥签署 SOAP 请求
  2. 客户端使用证书 B 的公钥加密 SOAP 请求
  3. 服务器使用 A 的公钥验证签名
  4. 服务器使用证书 B 的私钥解密请求
  5. 服务器正常工作
  6. 服务器使用证书 C 的私钥签署 SOAP 响应
  7. 服务器使用证书 D 的公钥加密 SOAP 响应
  8. 客户端使用证书 C 的公钥验证响应签名
  9. 客户端使用证书 D 的私钥解密响应

除了上述的消息安全之外,客户端在与服务器通信时还会使用 SSL 客户端证书。

我们已经做了一些googling 来尝试弄清楚如何为上述场景配置 WCF,但我们仍然有一些问题。

一些问题/疑问:

安全绑定元素必须在双工模式下运行以允许 为请求提供不同的安全令牌提供者,并且 回应。一种方法是使用支持双工的传输或 使用 CompositeDuplexBindingElement 如下所示 代码

  • 现在,如果我理解正确,WCF 双工绑定意味着我们的客户端必须公开服务器可以调用的端点?这是正确的吗?
  • 如果是这样,WCF怎么会这样?为什么有必要为了以特定方式加密和签名消息而弄乱传输通道?
  • 有没有什么方法可以在不使用 WCF 双工模式通信的情况下完成上述任务?

(如果您想知道,此集成方案用于传输敏感医疗信息)

【问题讨论】:

    标签: .net wcf ssl encryption soap


    【解决方案1】:

    我们遇到了同样的问题,通过使用双工绑定,客户端打开了一个临时端口,服务器必须在该端口发送响应。它工作得很好,但是客户端拒绝使用另一个端口来响应,所以我们还没有想出一个可行的解决方案。

    【讨论】:

    • 我们目前正在使用 ws-security 进行测试,看起来很有希望。
    猜你喜欢
    • 2016-01-14
    • 2014-10-18
    • 2012-05-01
    • 2016-10-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多