Получено фатальное предупреждение: handshake_failure - PullRequest
3 голосов
/ 29 февраля 2012

Я пытаюсь отправить push-уведомления на свое устройство с помощью библиотеки javapns в liferay .Вот код:

private void pushNotification(ActionRequest actionRequest,
            ActionResponse actionResponse) {

        try {
            System.out.println("Push");

            Push.alert("Hello World!", "ck.p12", "PASSPHRASE", false, "TOKEN");

        } catch (CommunicationException e) {
            System.out.println("CommunicationException");
            e.printStackTrace();
        } catch (KeystoreException e) {
            System.out.println("KeystoreException");
            e.printStackTrace();
        }

    }

Я получаю эту ошибку, когда вызывается pushNotification:

ERROR [PushNotificationManager:450] Delivery error: javax.net.ssl.SSLHandshakeException: Received fatal alert: handshake_failure

Я нашел его в Google, но не смог найти никакого решения.

Кто-нибудь знает, как решить эту проблему?

Ответы [ 3 ]

9 голосов
/ 29 февраля 2012

Исключение javax.net.ssl.SSLHandshakeException обычно выдается, когда сервер, к которому вы пытаетесь подключиться, не имеет действительного сертификата от авторизованного ЦС.

Проще говоря, сервер, к которому вы пытаетесь подключитьсяскорее всего, использует самозаверяющий сертификат, и вы должны учесть это в своем Java-коде.Это включает в себя создание пользовательского KeyStore и т. Д. См. этот ответ переполнения стека для получения полной информации о реализации.

0 голосов
/ 26 февраля 2014

Это также происходит, когда, например, сервер принимает только TLS и ваш клиент пытается создать соединение SSL ... проверьте также конфигурацию на стороне сервера / клиента

0 голосов
/ 20 сентября 2013

Установите следующие свойства на сервере

javax.net.ssl.keyStore=../keystore/keystoreFile.jks
javax.net.ssl.keyStorePassword=yourPassword
javax.net.ssl.trustStore=../keystore/keystoreFile.jks
javax.net.ssl.trustStorePassword=yourPassword
javax.net.debug=true

вы можете создать хранилище ключей, используя

keytool -genkey -alias myKeyStore -keyalg RSA -keystore /home/aniket/keystore/keystoreFile.jks
...