2011-04-21 22 views
0

我正在處理一個非常特殊的問題。我正在開發一個需要訪問Firefox證書存儲的小程序(不幸的是,他們需要一個小程序,Java Web Start不適用)。在與Firefox不同的地址空間中運行小程序

Mozilla提供了JSS(Network Security Services for Java),在給定Firefox(或Thunderbird)概要文件目錄的情況下,程序員可以訪問所有證書和多個加密設施。

現在,問題所在。我簽名的applet可以執行Java程序允許執行的任何操作。所以我可以加載運行JSS所需的本地庫。問題是我在使用它時遇到訪問違規,我知道爲什麼。崩潰發生在一個名爲mozcrt19.dll的模塊中,這似乎是Mozilla的「自定義」C運行時庫,而jss4.dll和朋友很可能在MS標準C運行時進行測試。如果沒有加載mozcrt19.dll,則不會發生崩潰。該小程序在瀏覽器地址空間的之外運行,例如使用Java Web Start。

簡而言之,這個問題是:因爲我可以擺脫這個模塊的唯一方法是打破Firefox的地址空間,我怎麼能在沒有Java Web Start的情況下運行我的java applet地址空間?

或者,您是否可以建議我使用任何解決方法,技巧,破解或任何其他方法來實現相同的效果?我願意接受任何建議。

在此先感謝。

回答

1

您不必在單獨的地址空間中運行小程序本身。您可以讓它啓動一個單獨的進程來訪問證書,並與在瀏覽器進程中運行的小程序進行通信。

+0

這是一個非常非常好的主意。一個工作進程(...爲什麼不是另一個Java應用程序?)。 – gd1 2011-04-22 10:44:24

1

請確保此:

的Windows

  • Mozilla的 安裝目錄下創建JSS目錄。
  • 將JSS JAR文件複製到jss 目錄中。
  • 複製JSS本機庫DLL到 Mozilla安裝的目錄。

Linux/Solaris上

  • Mozilla的 安裝目錄下創建JSS目錄。

  • 將JSS JAR文件複製到jss 目錄中。

  • 複製JSS本機庫.so到 Mozilla的安裝目錄。

  • 將Mozilla的啓動腳本設置爲Mozilla的安裝目錄的環境變量MOZILLA_HOME 。

  • 更改環境變量 LD_LIBRARY_PATH包括Mozilla的 在Mozilla的 啓動腳本安裝目錄。

+0

我知道。問題是我無法在客戶端的機器上預安裝東西。 – gd1 2011-04-22 10:45:40

相關問題