【发布时间】:2012-03-02 15:32:01
【问题描述】:
我正在开发一个将由 Java 应用程序(通过 DataPower)使用的 WCF 服务,并且我正在使用以下绑定。
<customBinding>
<binding name="InteropCertificateBindingG">
<transactionFlow />
<security
authenticationMode="MutualCertificate"
defaultAlgorithmSuite="TripleDesRsa15"
messageSecurityVersion="WSSecurity10WSTrust13WSSecureConversation13WSSecurityPolicy12BasicSecurityProfile10"
includeTimestamp ="true"
messageProtectionOrder="SignBeforeEncrypt"
securityHeaderLayout="Strict"/>
<textMessageEncoding />
<httpsTransport />
</binding>
</customBinding>
如果我们只签名,并且只接收签名,则消息一切正常。
但是当我们定义合约进行加密和签名时,客户端发送加密和签名的消息 I,wcf 服务接受消息但是客户端在尝试读取响应时出错
错误是这样的:
第 2 步中的事务中止。哈希值不匹配
我如何知道哪些标签正在被加密/签名?
我应该使用 MutualCertificate 还是 MutualCertificateDuplex authenticationMode,因为我使用的是 AsymmetricSecurityBindingElement(由 wssecurity10 消息版本定义)?
知道如何解决这个问题吗?
【问题讨论】:
标签: wcf wcf-binding wcf-security