Rails ошибка openssl с яблочными push-уведомлениями - PullRequest
0 голосов
/ 05 мая 2019

В контексте серверной части, поддерживающей приложение для iPhone, я пытаюсь управлять push-уведомлениями Apple в рельсах.Для этого я использую красивый гем под названием grocer, интерфейс которого кажется очень простым и интуитивно понятным.Я думаю, что это самый простой тестовый пример, который воспроизводит проблему, с которой я имею дело:

pusher = Grocer.pusher certificate: "/path/to/cert.pem"
notification = Grocer::Notification.new device_token: 'the device token', alert: 'My test', badge: 1
pusher.push(notification)

Однако я получаю следующую ошибку:

OpenSSL::SSL::SSLError (SSL_connect returned=1 errno=0 state=SSLv3/TLS write finished: tlsv1 alert internal error)

Это сообщение об ошибке не говорит слишком много о природе проблемы: что ее вызывает, почему и т. Д.

Файл pem был сгенерирован внешним разработчиком из p12 и, кажется, это правильно (срок действия истек, часть сертификата и закрытый ключ).Он заверяет, что сертификат в порядке и что он может отправлять уведомления.Токен устройства, кажется, тоже в порядке и состоит из шестнадцатеричной строки из 64 символов (отрывков).

Итак, немного поискав, просмотрел pem и поговорил с разработчиком внешнего интерфейса, ярешил поделиться этой проблемой с надеждой, что кто-то уже сталкивался с подобной ситуацией и мог бы дать мне совет

...