當谷歌的這個異常:java.security.InvalidAlgorithmParameterException: the trustAnchors parameter must be non-empty
,多個結果出現。然而,沒有確切的解決方案,只能猜測。java.security.InvalidAlgorithmParameterException:在trustAnchors參數必須是在Linux上非空,或者爲什麼是默認信任的空
問題出現(在我的情況下,至少),當我嘗試使用開放通過SSL連接。它在我的Windows機器上工作正常,但是當我將它部署到Linux機器(安裝sun的jre)時,它會失敗並出現上述異常。
的問題是,JRE的默認信任是空的由於某種原因(僅32個字節的大小,而它是80KB的窗口上)。
當我從Windows到Linux的複製我的jre/lib/security/cacerts
文件,它工作得很好。
問題是 - 爲什麼linux jre有一個空的信任存儲?
注意,這發生在Amazon EC2實例,與AMI Linux操作系統,所以它可能是由於一些政策亞馬遜(我認爲Java是預裝的,但我不知道)
很好確認。也許這是與亞馬遜實例 – Bozho 2011-01-23 15:00:29
是捆綁的JRE,你必須問供應商 – bestsss 2011-01-23 15:03:48
我目前在這裏有同樣的問題。我使用了openjdk 7,默認情況下,它會創建一個到/ etc/ssl/certs/java/cacerts的符號鏈接,這在Amazon EC2上的ubuntu AMI上是空的。目前嘗試與太陽jdk。 – Cookie 2011-12-13 12:48:32