问题:
在服务器上,下载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" \