收到致命警报:JSP页面handshake_failure错误
问题描述:
我有一个奇怪的问题与授权的SSL连接。首先,我创建了java类,它使用授权的ssl连接到外部服务器。我已经在命令行运行这个类,它工作正常,从外部服务器获得所需的结果。在JSP页面中使用此类之后。重新启动后,我的tomcat JSP页面也获得了我想要的结果。但10-15请求JSP页面给我这个错误:“javax.net.ssl.SSLHandshakeException:收到致命警报:handshake_failure”。在JSP页面中没有更多期望的结果。收到致命警报:JSP页面handshake_failure错误
这里是方法在Java类的代码:
public String TransHttpsAuth(String server, String param, String method, String jksPath, String jksPass)
{
try
{
System.setProperty("javax.net.ssl.keyStoreType", "jks");
System.setProperty("javax.net.ssl.keyStore", jksPath);
System.setProperty("javax.net.ssl.keyStorePassword", jksPass);
server=server+"/?"+ param;
URL url = new URL(server);
HttpsURLConnection httpurlconnection = (HttpsURLConnection)url.openConnection();
httpurlconnection.setHostnameVerifier(new NullHostnameVerifier());
httpurlconnection.setRequestMethod(method);
httpurlconnection.setDoOutput(true);
httpurlconnection.connect();
InputStreamReader in = new InputStreamReader((InputStream) httpurlconnection.getContent());
BufferedReader buff = new BufferedReader(in);
String line = buff.readLine();
StringBuffer text = new StringBuffer();
while (line != null) {
text.append(line + "\n");
line = buff.readLine();
}
System.out.println(text.toString());
httpurlconnection.disconnect();
return text.toString();
}
catch(Exception exception)
{
return exception+"";
}
}
从JSP页面调用:<% FSB FSB =新FSB(); (fsb.TransHttpsAuth(“https:// ext_server”,“prameters”,“GET”,“jks_path”,“password”)); %>
的Tomcat版本:6.0.32
Java版本:1.6.0_21
答
您将需要添加在你的JRE的服务器证书,并重新启动Tomcat,以便用java连接。在网上寻找InstallCert.java。