簡體   English   中英

WCF服務 - 使用UserName身份驗證的證書和郵件安全性

[英]WCF Service - certificates and message security with UserName authentication

我正准備創建一個WCF服務,客戶可以使用它來更新我們系統中的數據。 所以它必須通過互聯網提供。 我有一本關於WCF的書,我知道在通過Internet提供WCF服務時, Message Security是可行的方法。 這是因為您不應該使用傳輸安全性,因為它只應在您可以保證服務和客戶端之間存在點對點連接的環境中使用。 我做對了嗎? 所以我想將Message Security與自定義UserName身份驗證結合使用。 我知道我必須獲得證書才能完成。 我們公司已擁有用於我們網站的SSL證書。

  • 我可以使用相同的證書來獲得WCF服務的消息安全性嗎?

  • Message Security方式是否可以與期望ASMX Web服務的客戶端互操作?

出於測試目的,我使用Makecert創建了自己的證書。 它工作正常但我總是必須將證書添加到客戶端計算機上的Trusted Persons

  • 是否可以使用上述證書啟用Message Security ,而無需強制客戶端手動將證書添加到Trusted Persons

現在,讓我們假設以下場景:

公司基礎設施

ISA-Server /防火牆后面有兩個Web服務器。 此ISA-Server擁有www.company.com地址的證書。 因此所有SSL內容都由它處理。 它還相應地將傳入的請求轉發給Web服務器。 新創建的WCF服務應該在第二個Web服務器上運行。

  • 我是否必須將證書復制到Web服務器才能使用Message Security

如果是,我聽說復制證書不是好的做法,因為它會降低安全級別。 將證書移動到Web服務器不是一種選擇,因為Web-Server1上的網站也需要它。

  • 在這種情況下我有什么選擇?

和:

  • 無論給定的要求如何,這種情況的最佳做法是什么?

謝謝...

精心准備的問題。 首先,我可能會讀同一本書,我想澄清一下這句話:

這是因為您不應該使用傳輸安全性,因為它只應在您可以保證服務和客戶端之間存在點對點連接的環境中使用。

是。 HTTPS(傳輸安全性)僅提供點對點安全性,但IMO人員無法正確理解此方案。 你是否認為如果你通過HTTP連接到你的網上銀行,它會隨機地從互聯網交換通信中的某個地方從HTTPS到HTTP? 沒有! 點對點連接意味着在客戶端和訪問的網關之間提供所請求的URL的安全傳輸通道。 在您的方案中,它意味着客戶端和ISA Server之間的安全傳輸通道。 ISA和Web服務器2之間的通信將不受保護。如果您希望端到端能夠在客戶端和Web服務器2之間提供安全通道(ISA將無法攔截消息),則需要消息安全性。

現在問你的其他問題:

我可以使用相同的證書來獲得WCF服務的消息安全性嗎?

是的,您可以,但您必須將私鑰復制到Web服務器2。

Message Security方式是否可以與期望ASMX Web服務的客戶端互操作?

不會。除非您編寫大量自定義SOAP標頭和擴展或安裝WSE 3.0,否則純ASMX客戶端無法使用郵件安全性。

是否可以使用上述證書啟用Message Security,而無需強制客戶端手動將證書添加到受信任的人員?

是,但必須在客戶端計算機上信任發布證書的證書頒發機構。 它與HTTPS相同。 使用消息安全性保護的服務還可以在WSDL中公開證書的指紋。 客戶端可以使用此指紋驗證服務標識。 我認為在這種情況下您也不需要在客戶端上安裝證書,但是當證書過期時,所有客戶端都必須更新。

我是否必須將證書復制到Web服務器才能使用Message Security?

是的,你必須。 但這可能是一個問題,因為出於安全原因,證書可以標記為不可導出。 最佳解決方案是僅為此目的申請新證書。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM