2013-02-12 47 views
0

(使用Eclipse)java.lang.SecurityException異常:無法從第三方提供的JAR設置爲證書信任的CA(JBoss AS中7)

我使用的類。第三方JAR有一行:

var = Cipher.getInstance("AES"); 

當此行得到執行,這將引發以下堆棧跟蹤:

13:38:00,120 ERROR [stderr] (EJB default - 1) java.lang.ExceptionInInitializerError 
13:38:00,121 ERROR [stderr] (EJB default - 1) at javax.crypto.Cipher.getInstance([DashoPro-V1.2-120198]) 

... 
BLAH BLAH BLAH 
(Stack trace which leads all the way down to the call I make through the third party jar) 
... 

13:38:00,154 ERROR [stderr] (EJB default - 1) Caused by: java.lang.SecurityException: Cannot set up certs for trusted CAs 
13:38:00,154 ERROR [stderr] (EJB default - 1) at javax.crypto.b.<clinit>([DashoPro-V1.2-120198]) 
13:38:00,155 ERROR [stderr] (EJB default - 1) ... 55 more 

以前,我通過將其粘貼到一個文件夾在我的日食訪問這個JAR項目,然後將JAR添加到我的構建路徑和部署程序集。

但是,因爲我們希望兩個不同的部署使用來自該第三方的jar初始化的對象相同情況下,決定將第三方JAR移動到一個JBoss AS 7「模塊」

我們在構建路徑中保留對項目中JAR的引用,但將其從部署組件中刪除。我還添加了一個「Dependencies:com ... [在模塊中指定的路徑]」

這似乎工作,因爲項目將構建和部署。

但是,每當我嘗試調用一個已被調用數十萬次的方法時,我就會得到這個異常。

在SunJCE_b.class的靜態初始化期間,異常似乎被拋出,但我不確定。

這裏是當時的堆棧第一拋出:SecurityException得到投擲:

b.e() line: not available 
b.clinit() line: not available 
Cipher.getInstance(String) line: not available 
OtherCompanyCryptography.getCipherInstance() line: not available  

我找不到javax.crypto.b.e任何引用()在線。

以前這是如何工作的,但是當我把它變成一個JBoss模塊時,它停止工作了?

另外,我該如何解決這個問題?

+0

你能展示整個堆棧跟蹤嗎? – zacheusz 2013-06-21 17:45:56

回答

0

未來的親愛的人:

我們結束了使用的解決方法是對THRID黨jar包成一個單獨的項目,我們稱之爲ApiCommons。

然後,我們創建了一個名爲ApplicationBundle.ear

ApplicationBundle.ear包含我們想使用同一個對象,通過JNDI兩者之間共享有兩個部署模塊組合應用。

的ApplicationBundle項目包含在ApiCommons罐子在其「展開組件」

我們能夠保持兩個部署模塊作爲單獨的Eclipse項目,但它們部署在一個單一的.EAR文件,這兩個項目捆綁在他們的構建路徑上有ApiCommons,但沒有他們的部署程序集。

2

首先你提供的是兩種不同的JVM信息:

  1. SunJCE_b類是從Oracle(星期日)JVM
  2. javax.crypto.b類是從IBM JVM

特別是他們正在做的一樣。他們負責驗證密碼組件簽名。 在大多數情況下,這種堆棧跟蹤是由類路徑上錯誤的轄區策略文件引起的。然後,即在IBM JVM可以在堆棧跟蹤看到:

Caused by: java.lang.SecurityException: Jurisdiction policy files are not signed by trusted signers! 
at javax.crypto.b.a 

另一個原因可能是密碼提供無效(或舊)簽名。如果你提供更詳細的堆棧跟蹤,那麼我將能夠提供更多的幫助。

相關問題