部署tomcat以前,须要部署jdk环境,那么jdk和tomcat之间也是有必定得兼容性的,抛开版本问题不谈(jdk和tomcat版本,不能相差太大,jdk向下兼容),jdk与tomcat中仍是有不少的兼容性 问题的,具体偶也不大清楚,下边为一例:html
服务器部署完成后,经过手机app访问项目访问报错,查看tomcat的日志localhost_access.txt没有异常,查看tomcat的logs/catalina.out日志出现下边错误:java
java.security.InvalidKeyException: Illegalkey size算法
其错误是因为base 64解密的问题,Java几乎各类经常使用加密算法都能找到对应的实现。由于美国的出口限制,Sun经过权限文件(local_policy.jar、US_export_policy.jar)作了相应限制。所以存在一些问题:tomcat
●密钥长度上不能知足需求(如:java.security.InvalidKeyException: Illegal key size or defaultparameters);服务器
●部分算法未能支持,如MD4、SHA-224等算法;oracle
●API使用起来还不是很方便;一些经常使用的进制转换辅助工具未能提供,如Base64编码转换、十六进制编码转换等工具。app
Oracle在其官方网站上提供了无政策限制权限文件(Unlimited Strength Jurisdiction Policy Files),咱们只须要将其部署在JRE环境中,就能够解决限制问题。ide
下载地址:工具
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.jar和US_export_policy.jar以及readme.txt
若是安装了JRE,将两个jar文件放到%JRE_HOME%\lib\security目录下覆盖原来的文件
若是安装了JDK,还要将两个jar文件也放到%JDK_HOME%\jre\lib\security目录下覆盖原来文件
重启主机,再次进行访问,大功告成。
这个问题第一次遇到,搞了一天半,大牛勿喷!
但愿尽本身的微薄之力可以帮助更多的朋友们!