Получено фатальное предупреждение: ошибка handshake_failure на странице JSP - PullRequest
0 голосов
/ 17 мая 2011

У меня странная проблема с авторизованным соединением ssl. Сначала я создал класс Java, который подключается к внешнему серверу с авторизованным ssl. Я запустил этот класс в командной строке, он отлично работает, получает желаемые результаты с внешнего сервера. После того, как я использую этот класс на странице JSP. После перезагрузки моя страница JSP tomcat также дает мне желаемые результаты. Но после 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 (); <br> out.println (fsb.TransHttpsAuth ("https://ext_server","prameters","GET"," jks_path "," password ")); %>

Версия Tomcat: 6.0.32

Java-версия: 1.6.0_21

1 Ответ

1 голос
/ 21 июля 2011

Вам нужно будет добавить сертификат сервера в ваш jre и перезапустить tomcat, чтобы подключиться с помощью java. Ищите InstallCert.java в Интернете.

...