2011-06-24 64 views
2

閱讀此問題WCF - Implementing client which requires encryption of one soap:body element, how?給了我一個我自己的問題。根據WS-Security規範,「消息創建者不能加密S:Envelope,S:Header或S:Body元素,但可以加密S:Header和S:Body元素的子元素。WCF的WS-Security實現是否完全支持該規範?

我讀到,因爲消息創建者可以加密任意數量的S:Body的子元素。也許我誤讀了規範,並且soap身體的加密確實是全部或者沒有加密......如果WCF只支持身體的加密而不是身體的子元素,它是否仍然完全支持WS-Security,或者這是與WCF的互操作性問題?

回答

2

WCF不加密Body元素本身。它加密了主體內容,但正如在相關問題中提到的,它不提供精細的粒度來選擇性地加密主體元素中的深度嵌套元素。

問題是如果可能加密S:Header和S:Body元素的子元素意味着直接子元素或任何嵌套元素。無論如何,WCF並沒有違反標準,但它並不需要實現標準的每一個細節 - 因爲許多其他的WS- *協議棧都不如此。