2009-11-05 113 views
24

我WFC服務使用的wsHttpBinding配置有:如果我使用https,設置establishSecurityContext =「False」會產生什麼影響?

<security mode="TransportWithMessageCredential"> 
    <message establishSecurityContext="True" clientCredentialType="UserName"/> 
    <transport clientCredentialType="None" proxyCredentialType="None"/> 
</security> 

我們的一個合作伙伴正在試圖使用java地鐵庫調用我們的服務。他們有this問題。我必須設置establishSecurityContext =「False」才能工作。我們做了一個快速測試,當它被設置爲false時它確實起作用。

不使用安全會話會產生什麼影響(通過設置establishSecurityContext =「False」)。我已經在https上運行了。那麼在安全方面我會好嗎?還有其他影響需要考慮(性能可能)?

感謝

回答

41

的區別在於,在一個非SCT(安全上下文令牌)啓用端點,密鑰交換和驗證必須每次呼叫完成,而不是被做一次和緩存的會話,只有相反,SCT傳遞了消息。 SCT基於對稱密鑰,這使得它們更有效地簽署/加密消息。當客戶需要連續撥打多個電話時,使用SCT是非常好的,因爲它減少了每次都要交換和驗證一次性密鑰的需要。

我建議的是,您只是爲不支持SCT的客戶端公開另一個端點並告訴他們使用該端點。可以使用SCT的客戶端指向默認端點,並保留隨之而來的所有好處。

欲瞭解更多關於這個問題,請查看section three of the WS-SecureConversation documentation

+0

有關使用單獨端點的優秀建議 - 允許每個客戶端類型爲他們使用「最佳」端點! – 2009-11-06 06:48:46

+0

嗨德魯,謝謝你的回答。 – Sylvain 2009-11-09 13:37:51

+1

德魯,我的客戶在每個服務電話上打開和關閉他們的頻道。即使我啓用了安全會話,他們沒有從中獲益。那是對的嗎? – Sylvain 2009-11-09 13:43:32

相關問題