2011-08-29 213 views
1

我正在開發一個使用內置Web瀏覽器控件的應用程序。此應用將使用對稱密鑰來加密和解密http內容。因此,在Web瀏覽器控件中顯示網頁之前,將使用對稱密鑰對其進行解密。例如:Web瀏覽器控件 - 頁面加密

我想導航到www.abc.com,本網站使用對稱密鑰固定的內容,我的代碼是:

webBrowser.navigate("http://www.abc.com"); -- to navigate to the website 

,不過爲什麼我會得到該網站的內容,解密並顯示給網絡瀏覽器?

+2

爲什麼推倒重來 - 你有沒有考慮SSL和認證;甚至可能是客戶證書? –

+0

您使用哪種網頁瀏覽器控制?沒有「C#Web瀏覽器控件」。 –

+0

這是一個研究項目,因此,SSL等現有機制無法使用。在Visual Studio .net中有一個C#Web瀏覽器控件。 – iLoeng

回答

0

在C#.NET中使用標準的WebBrowser控件我不知道一個簡單的方法,你可以在控制/執行前使用你自己的方法來「顯示」加密的HTML/images/stylesheets/etc和解密流,用戶查看它。

基於您的評論是一個研究項目,而不是真正的世界中使用(我與肖恩同意去與SSL /客戶端證書),這裏有一對夫婦的想法:

  1. 實施在您的C#中執行解密的本地代理服務。然後將Internet Explorer代理設置指向(例如http://127.0.0.1:8080),因爲C#.NET WebBrowser控件使用IE設置。

  2. 如果您只是在您的頁面上加密小塊內容(例如某些文本?),那麼您可以讓您的網頁將加密代碼包裝在某些訪問您本地C#.NET解密代碼的JavaScript中。這可以通過映射JavaScript的document.external通過設置webBrowser1.ObjectForScripting =新yourDecryptClass()來完成一類你選擇的