OkHttp + ALPN + APNS - результатом является SSL handshake_failure

Попытка использовать OkHttp (v3.4.1) для отправки запросов через HTTP/2 на серверы Apple APNS Production (api.push.apple.com:443).

Я следовал за шагами здесь, чтобы включить ALPN:

http://www.eclipse.org/jetty/documentation/current/alpn-chapter.html

Моя среда это:

Java(TM) SE Runtime Environment (build 1.7.0_51-b13)

И поэтому я использую:

alpn-boot-7.1.0.v20141016.jar

Я считаю, что я подтвердил, что ALPN работает, так как всякий раз, когда я пытаюсь отправить push, я вижу что-то похожее на следующее в журналах (примечание: ALPN.debug = true):

[C] ALPN protocols [h2, spdy/3.1, http/1.1] for 62587aa8[SSL_NULL_WITH_NULL_NULL: Socket[addr=api.push.apple.com/17.172.233.39,port=443,localport=55984]]
[C] ALPN protocols [h2, spdy/3.1, http/1.1] for 74adce4e[SSL_NULL_WITH_NULL_NULL: Socket[addr=api.push.apple.com/17.172.233.39,port=443,localport=55990]]
[C] ALPN protocols [h2, spdy/3.1, http/1.1] for 221ebc09[SSL_NULL_WITH_NULL_NULL: Socket[addr=api.push.apple.com/17.172.234.15,port=443,localport=55993]]
[C] ALPN protocols [h2, spdy/3.1, http/1.1] for fcb045f[SSL_NULL_WITH_NULL_NULL: Socket[addr=api.push.apple.com/17.172.234.15,port=443,localport=55998]]
[C] ALPN protocols [h2, spdy/3.1, http/1.1] for 3fd11dec[SSL_NULL_WITH_NULL_NULL: Socket[addr=api.push.apple.com/17.172.234.22,port=443,localport=56004]]

Я также вижу следующую ошибку после вышеупомянутого (примечание: отладка SSL включена):

javax.net.ssl.SSLHandshakeException: Received fatal alert: handshake_failure

Я подтвердил, что мой универсальный SSL-сертификат для APNS действителен, поскольку наш устаревший код не-HTTP/2-код (основанный на Java-apns) может использовать его и отправлять push-уведомления без проблем.

После сканирования полного журнала отладки SSL создается впечатление, что основная проблема заключается в том, что связь между моим клиентом и серверами APNS никогда не переходит на HTTP/2. Однако мне неясно, какие еще шаги мне нужно предпринять, чтобы обеспечить этот переход.

Я отправил запрос поддержки разработчиков в Apple для получения обратной связи, но я решил, что я также буду публиковать здесь сообщения на случай, если кто-нибудь узнает больше.

Благодарю.

0 ответов

Другие вопросы по тегам