部署java項目出現base 64解析問題

  部署tomcat之前,需要部署jdk環境,那麼jdktomcat之間也是有一定得兼容性的,拋開版本問題不談(jdktomcat版本,不能相差太大,jdk向下兼容),jdktomcat中還是有很多的兼容性 問題的,具體偶也不大清楚,下邊爲一例:

  服務器部署完成後,通過手機app訪問項目訪問報錯,查看tomcat的日誌localhost_access.txt沒有異常,查看tomcatlogs/catalina.out日誌出現下邊錯誤:

  java.security.InvalidKeyException: Illegalkey size

                            wKiom1hl-ZPCK_hzAAHkv28FV1s288.png-wh_50

其錯誤是由於base 64解密的問題,Java幾乎各種常用加密算法都能找到對應的實現。因爲美國的出口限制,Sun通過權限文件(local_policy.jarUS_export_policy.jar)做了相應限制。因此存在一些問題:

●密鑰長度上不能滿足需求(如:java.security.InvalidKeyException: Illegal key size or defaultparameters);

●部分算法未能支持,如MD4SHA-224等算法;

API使用起來還不是很方便;一些常用的進制轉換輔助工具未能提供,如Base64編碼轉換、十六進制編碼轉換等工具。

  Oracle在其官方網站上提供了無政策限制權限文件(Unlimited Strength Jurisdiction Policy Files),我們只需要將其部署在JRE環境中,就可以解決限制問題。

 

下載地址:

Java 5.0 無政策限制文件:http://www.oracle.com/technetwork/java/javasebusiness/downloads/java-archive-downloads-java-plat-419418.html#jce_policy-1.5.0-oth-JPR

Java 6.0 無政策限制文件:

http://www.oracle.com/technetwork/java/javase/downloads/jce-6-download-429243.html

Java 7.0 無政策限制文件:

http://www.oracle.com/technetwork/java/javase/downloads/jce-7-download-432124.html

 

下載後解壓,可以看到local_policy.jarUS_export_policy.jar以及readme.txt

如果安裝了JRE,將兩個jar文件放到%JRE_HOME%\lib\security目錄下覆蓋原來的文件

如果安裝了JDK,還要將兩個jar文件也放到%JDK_HOME%\jre\lib\security目錄下覆蓋原來文件

重啓主機,再次進行訪問,大功告成。


這個問題第一次遇到,搞了一天半,大牛勿噴!

希望儘自己的微薄之力能夠幫助更多的朋友們!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章