WCF的WS-Security实现是否完全支持该规范?

时间:2011-06-24 21:36:19

标签: .net wcf web-services soap ws-security

阅读这个问题WCF - Implementing client which requires encryption of one soap:body element, how?给了我一个问题。

根据WS-Security规范“消息创建者不得加密S:Envelope,S:Header或S:Body元素,但可以加密S:Header和S:Body元素的子元素。”

我读到这一点,因为消息创建者可以加密S:Body的任意数量的子元素。也许我误读了规范和肥皂体的加密真的是全部或者没有...如果WCF只支持身体的加密但不支持身体的子元素,它是否仍然完全支持WS-Security,或者这是与WCF的互操作性问题?

1 个答案:

答案 0 :(得分:2)

WCF不会加密Body元素本身。它加密了正文内容,但正如相关问题所述,它没有提供精细的粒度来选择性地加密body元素中深层嵌套的元素。

问题是 MAY是否加密S:Header和S的子元素:Body元素表示直接子元素或任何嵌套元素。无论如何,WCF并没有违反标准,但它不必实现标准的每一个细节 - 因为许多其他WS- *协议栈也不如此。