web服务,下载https链接的文件,提示javax.net.ssl.SSLKeyException: RSA premaster secret error

问题:

在服务器上,下载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" 
 
原文地址:https://www.cnblogs.com/meitian/p/9871277.html