#jsp #ssl-certificate #handshake
#jsp #ssl-сертификат #рукопожатие
Вопрос:
У меня странная проблема с авторизованным SSL-соединением. Сначала я создал класс java, который подключается к внешнему серверу с авторизованным ssl. Я запустил этот класс в командной строке, он работает нормально, получает желаемые результаты с внешнего сервера. После того, как я использую этот класс на странице JSP. После перезагрузки моя страница tomcat JSP также дает мне желаемые результаты. Но после 10-15 запросов страница JSP выдает мне эту ошибку: «javax.net.ssl.SSLHandshakeException: Получено фатальное предупреждение: handshake_failure «. На странице JSP больше нет желаемых результатов.
Вот метод в коде класса 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 = new fsb();
out.println(fsb.TransHttpsAuth(«https://ext_server «, «prameters», «GET», «jks_path», «password»));
%>
Версия Tomcat: 6.0.32
Версия Java: 1.6.0_21
Ответ №1:
Вам нужно будет добавить сертификат сервера в вашу jre и перезапустить tomcat, чтобы подключиться с использованием java. Ищите InstallCert.java в Интернете.