问题:
在服务器上,下载https的链接文件,报错javax.net.ssl.SSLKeyException: RSA premaster secret error
在本地运行的时候没报错,但是在服务器上报错
解决方案:
将jre目录下的lib/ext/sunjce_provider.jar加载进来
jre目录:$JAVA_HOME/jre
加载sunjce_provider.jar的两种方法:
1、将sunjce_provider.jar拷贝到web工程目录下
2、修改启动脚本,将jre目录加载到classpath下
vi catalina.sh
修改elif [ "$1" = "start" ] ; then下的启动命令,增加 -Djava.ext.dirs指定额外加载jar的目录,多个目录用:隔开
eval $_NOHUP ""$_RUNJAVA"" ""$LOGGING_CONFIG"" $LOGGING_MANAGER $JAVV
A_OPTS $CATALINA_OPTS
-D$ENDORSED_PROP=""$JAVA_ENDORSED_DIRS""
-classpath ""$CLASSPATH""
-Djava.security.manager
-Djava.security.policy==""$CATALINA_BASE/conf/catalina.policy""
-Dcatalina.base=""$CATALINA_BASE""
-Dcatalina.home=""$CATALINA_HOME""
-Djava.ext.dirs="/opt/web/customscript/customlib:$JAVA_HOME/jre/lib/ext"