【问题标题】:WCF Message body encryption with SSL使用 SSL 的 WCF 消息正文加密
【发布时间】:2013-06-20 13:41:25
【问题描述】:

我是 WCF 的新手。我正在研究通过 HTTPS 进行消息正文加密的正确方法(目前混合传输和消息级别的安全性)

我有 HttpsGetEnabled。

使用 WsHttpBinding,我仍然看到未加密的消息正文

  <wsHttpBinding>
    <binding name="myCustomWsHttpBinding">
      <security mode="TransportWithMessageCredential">
        <transport clientCredentialType="None"/>
        <message clientCredentialType="Certificate" />
      </security>
    </binding>
  </wsHttpBinding>

我也尝试过使用自定义绑定,但结果相同

<binding name="myCustomBinding">
  <security authenticationMode="CertificateOverTransport"
            messageProtectionOrder="EncryptBeforeSign"
            includeTimestamp="true"
            protectTokens="true"
            >
  </security>
  <textMessageEncoding messageVersion="Soap11WSAddressing10" />
  <httpsTransport/>
</binding>

使用 Https 时如何加密消息正文?如果我理解正确,消息级别的安全性独立于传输,那么在这种情况下可以使用 https 吗?

【问题讨论】:

    标签: wcf security soap encryption wcf-security


    【解决方案1】:

    在自定义绑定中,将 authenticationMode 设置为“mutualCertificate”

    【讨论】:

    • 谢谢,我会尝试设置相互证书
    • 它仅在传输级别加密,因此如果您查看消息 xml,它似乎不会像使用常规 ws-security 那样加密。这是一个有效的选项,一切都取决于您尝试实现的目标
    • 如果您需要记录加密的正文,那么首先必须对正文进行加密(而不是使用消息凭据传输的情况),其次您可以实现自定义消息编码器
    • 可以,但不需要实现进行加密的编码器。让 wcf 进行加密(如果您使用自定义绑定 ssl 和消息加密可以结合使用)。您只需要构建一个包装编码器来记录消息并调用内部编码器。
    • 当安全会话是安全模式时,它的意思是“使用另一个安全模式来获取一些会话密钥,然后使用这个密钥来保护这个会话中的消息”。另一种安全模式在secureConversationBootstrap 元素的 authenticationMode 属性中指定
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-09-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多