【问题标题】:Encrypt/Decrypt Soap Body In WCF Client在 WCF 客户端中加密/解密肥皂体
【发布时间】:2013-09-22 18:25:47
【问题描述】:

我有一个托管在 IIS 中的 WCF 服务。该服务必须是basicHttpBinding。 WCF 服务前面有 IBM DataPower,将其暴露给外部世界。

我正在编写一个 WCF 客户端应用程序(从 ClientBase 继承),它必须使用预共享的公钥加密消息正文,DataPower 将对其进行解密并将消息转发到托管服务器。至于响应,DataPower 将对其进行加密,并且客户端应该能够解密收到的响应。实现这一点的一种方法(我能想到的)是使用 IClientMessageInspector 并使用 BeforeSendRequest() 加密 AfterReceiveReply() 进行解密。在走这条路之前,我想知道还有哪些其他选择可以实现这一目标?

【问题讨论】:

  • 加密是否需要使用预定义的共享公钥?如果没有,basicHttpBinding 支持消息加密。
  • 是的,它必须使用预共享密钥。另外,basicHttpBinding 是否支持 SOAP 1.1 中的消息加密?

标签: wcf soap encryption wcf-binding wcf-security


【解决方案1】:

通常该模式是使用在 DataPower 和 WCF 客户端中易于使用的 SSL。我不确定在 DataPower 中配置消息级加密是否容易。如果您坚持消息级加密,请首先检查 DP 是否支持标准 WS-Security 方法,在这种情况下配置 WCF 客户端很容易(具有消息安全模式和客户端凭证类型证书或用户名的基本 http 绑定,但当然取决于如果要配置客户端身份验证)。

【讨论】:

  • 我忘记提及的另一个要求是 SOAP 1.1。 WS-Security 需要 SOAP 1.2,对吧?
【解决方案2】:

是的,datapower 支持 WS-Security 标准,您可以围绕任何部分或全部消息进行加密/解密。您在这里唯一需要权衡的是在使用消息级安全性时是使用 PKI 还是对称加密/解密技术。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-01-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多