2014-03-19 79 views
0

我有一個使用BouncyCastle的庫中的Java小程序。 當我在Eclipse上運行應用程序,一切工作正常,但是當我使用小程序上與標籤瀏覽器,當我添加了安全bouncycastleprovider它拋出的異常。BouncyCastle的供應商JCE認證安全例外

我的堆棧跟蹤是:

java.io.IOException: error constructing MAC: java.lang.SecurityException: JCE cannot authenticate the provider BC at org.bouncycastle.jce.provider.JDKPKCS12KeyStore.engineLoad(Unknown Source) at java.security.KeyStore.load(Unknown Source) 

我使用bcpkix-jdk15on-1.48.jar和BouncyCastle的的bcprov-jdk15on-1.48.jar版本。 爲什麼瀏覽器上的applet無法添加安全提供程序?

謝謝, 關心, 威廉。

回答

0

你可能沒有權利這樣做。

  1. 您正在使用哪個java版本?
  2. sign小應用程序與正式的證書?
  3. 您是否在清單/ jnlp文件中設置了正確的flags/attributes

您可能會嘗試將系統屬性中的java安全滑塊減少到中等以便能夠運行它。

  • 哪個確切的版本是您使用:如果您使用簽名的證書自你可能

    更新它添加到Java信任存儲? (請寫出像1.7.0_51的完整版本)

  • 正如已經指出的那樣:如果你在eclipse中運行你的applet,它將工作,但它會而不是如果你在webbrowser中運行它(由於安全限制瀏覽器插件)。如果你想運行在一個網頁瀏覽器的小程序,你必須執行下列操作之一:
    • 簽署有正式證書或
    • 下在java系統設置中
    • 安全滑塊添加你自己的標誌證書的Java信任庫
  • 還有一兩件事:你需要確保你的applet和所有你的外部庫與相同證書籤名。我知道如果你下載它們,你已經簽署了bouncycasle libs - 所以你必須在你的證書籤名之前刪除這個簽名信息
+0

我使用的是JRE7版本,就像我說的,精細。不是帶有官方證書,而是帶有自簽名的。其他罐子可以正常工作,但不能使用這種摺疊式罐子。如何設置manifest/jnlp中的標誌/屬性?那些文件是哪些? – William