2011-05-11 71 views
2

除了通過WCF中的配置進行消息級加密之外,是否可以同時使用傳輸安全性(HTTPS,使用Client證書進行身份驗證)?這是用wsHttpBinding out-of-the-box完成的嗎?WCF - 具有消息級加密的傳輸安全

我試圖用自定義綁定來完成此操作,但無法確定請求是否在郵件級別進行了加密,因爲它們在跟蹤日誌中顯示爲純文本。

我已經做了相當多的研究,但似乎無法找到任何可靠的答案。任何幫助表示讚賞!

+1

使用Wireshark,以瞭解他們是否加密。 – Andrey 2011-05-11 21:00:11

回答

3

是的,它可能有兩個as described in this MSDN article.文章是相當徹底的&詳細,但啓用此功能的關鍵是此設置:

<!-- snipped --> 
    <wsHttpBinding> 
     <binding name="wsHttp"> 
      <security mode="TransportWithMessageCredential"> 
       <transport clientCredentialType="Certificate"/> 
       <message clientCredentialType="Certificate" 
         negotiateServiceCredential="true" /> 
      </security> 
     </binding> 
    </wsHttpBinding> 
<!-- snipped --> 
+0

感謝您的鏈接。在這種情況下,我仍然對使用「MessageCredential」感到困惑。在這種情況下,除了通過傳輸身份驗證之外,客戶端證書是否會用於加密消息? – RoccoC5 2011-05-11 21:28:47

+0

本文使用自簽名證書來演示如何使用雙向證書身份驗證來配置服務。因此,消息憑證是服務用於身份驗證的客戶端證書。 [這個問題和答案](http://stackoverflow.com/questions/280819/wcf-how-do-i-encrypt-messages)有幫助你理解消息憑證的信息。 BTW:在生產中,您可以使用由您的組織或證書供應商使用此方法生成的「真實」證書。 – 2011-05-12 12:57:36

+0

我將通過提供[此鏈接](http://msdn.microsoft.com/zh-cn/library/aa738565.aspx)添加到此。這是我發現的幫助理解WCF配置元素如何轉換爲WS規範的最佳資源。 – RoccoC5 2011-07-26 22:37:39