2011-05-05 58 views
2

我正在使用Microsoft .NET服務器執行對HTTPS/SSL數據的更改的項目。例如,使用瀏覽器的客戶機通過HTTPS/SSL調用服務器B,HTTPS/SSL又將請求轉發給服務器C,即HTTPS/SSL。響應將通過服務器B從服務器C發送回客戶端機器,但服務器B將一些數據包裝到響應中,然後再發回。中間人服務器HTTPS/SSL

我假設由於響應被加密,服務器B將不得不解密響應,更改數據,加密數據併發送響應。

這聽起來可能在.NET中間服務器上嗎?鑰匙有問題嗎?

+0

這就是所謂的中間人攻擊。這聽起來可能與.NET服務器。應該沒有關鍵問題,特別是如果客戶知道(並接受)服務器B在它和服務器C之間。 – 2011-05-05 23:56:55

+0

歡迎來到SO。您可以通過編輯來更新自己的問題。你可以投票回答問題(upvote或downvote),如果你得到的答案滿足你的需求並回答你的問題,你可以將它標記爲答案 – 2011-05-06 05:28:58

回答

2

答案取決於您是否可以讓客戶端信任您在中間服務器中使用的證書。如果可以(例如,您可以控制客戶端),那麼沒有任何問題 - 創建一個新的自簽名證書,該證書具有目標服務器的主機名和該目標主機的有效SSL證書的其他屬性,並將其置於受信任的根存儲上客戶端並讓中間服務器攔截流量或通過中間服務器引導客戶端的流量。

在其他情況下,這種改變是不可能的。即關鍵是使證書可信。

+0

只需要注意,這正是[Fiddler](http:// www .fiddler2.com/Fiddler/help/httpsdecryption.asp)攔截並解密線路上的HTTPS流量。 – 2011-05-10 15:28:03