2011-11-18 81 views
0

我正在使用SWT Browser Widget通過HTTPS加載網絡攝像頭服務器的圖像。可惜的是,攝像頭服務器證書不可信。我試圖2種變體加載圖像:SWT瀏覽器:如果證書不可信,如何使用HTTPS加載資源?

  1. Browser.setHTML(String)
    負載使用HTML + JavaScript的每一秒的圖像。這是避免閃爍的首選方式。這對HTTP很好,如果我有一個HTTPS連接,除了我的替代文本,我會看到注意。
  2. Browser.setUrl(String)
    通過每秒設置URL加載圖像。這會導致massiv閃爍,因爲重新加載,這是不可接受的。我嘗試了所有可用的SWT瀏覽器的這個變體。如果我使用SWT.WEBKITSWT.MOZILLA(XulRunner),我完全沒有機會獲得圖像。彈出一個對話框,告訴我證書是不可信的,沒有選項可以接受它。如果我使用的是SWT.NONE,則使用IE(我在WinXP上)並彈出對話框詢問我是否要信任證書,按OK後我可以看到圖像。

這裏在Stackoverflow我發現:how-to-import-a-ssl-certificate-file-with-swt-browser。 但我無法在我的XULRunner中找到cert_override.txt,我無法找到Personal Security Manager的下載鏈接(與其他許多人一樣)!

我該如何允許不受信任的證書,使用variant 1和XULRunner又名MOZILLA?是否有可能以編程方式執行?

回答

1

cert_override.txt位於用戶的配置文件中。在Windows上,XULRunner的用戶配置文件的目錄是%APPDATA%\<vendor>\<product>\Profiles\<something>.default,位於OS /Library/Application Support/<product>/Profiles/<something>.default,Linux ~/.<vendor>/<product>/Profiles/<something>.default上。在運行時您可以通過use nsIDirectoryService來查找目錄(ProfD是此目錄的關鍵)。

您可以從您的應用程序寫入到用戶的配置文件直接或cert_override.txt副本添加到您的XULRunner的應用程序複製到創建(它會在XULRunner的應用程序目錄defaults/profile/cert_override.txt下被投入)的所有用戶配置文件。請注意,後者只會影響正在創建的新配置文件,而不會影響已存在的配置文件。

順便說一句,創建cert_override.txt文件的最簡單方法是在Firefox中接受不受信任的證書,然後將條目從Firefox配置文件複製到XULRunner配置文件。

+0

謝謝,它的工作原理! – Chriss

+0

SWT瀏覽器(Windows)的應用程序目錄是:'.. \ Documents \ \ applicationdata \ Mozilla \ eclipse'。 – Chriss

相關問題