gpt4 book ai didi

java - WCF Metro 互操作消息未加密

转载 作者:行者123 更新时间:2023-11-30 04:49:04 24 4
gpt4 key购买 nike

我一直在尝试使用传输和消息安全性以及相互证书身份验证为 WCF 服务创建基于 Metro 的客户端。

我让每种模式单独工作,而不是一起工作 - 即仅消息安全有效,正文加密并通过 HTTP 发送,或者仅 SSL 有效,消息未加密。激活这两个选项会使客户端通过 SSL 发送未加密的消息。

这是我当前的绑定(bind):

  <customBinding>
<binding name="customBind">
<transactionFlow />
<security authenticationMode="MutualCertificate" allowSerializedSigningTokenOnReply="true" defaultAlgorithmSuite="Basic128" includeTimestamp="true" securityHeaderLayout="Lax">
</security>
<textMessageEncoding messageVersion="Soap11" />
<httpsTransport requireClientCertificate="false"/>
<!--<httpTransport />-->
</binding>
</customBinding>

使用 httpTransport 时,消息会被加密,而使用 httpsTransport 时,则不会。服务器响应“验证消息安全性时发生错误。”,因为消息未加密。 Metro 客户端失败,并显示“com.sun.xml.wss.XWSSecurityException:未满足安全要求 - 消息中没有安全 header ”。

有人遇到过这种情况吗?关于为什么会发生这种情况的任何线索,或者我可以探索的可能的事情?其他信息:使用 Netbeans 7.1.1 和 Metro 2.2。

最佳答案

我设法通过从 wsdl 中删除 TransportBinding 元素并让 Java 而不是 Metro 来处理传输安全性来解决这个问题。

关于java - WCF Metro 互操作消息未加密,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10251282/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com