Как развернуть сертификат push-уведомлений Apple на сайте клиента - PullRequest
6 голосов
/ 24 августа 2011

Вопрос: Как можно безопасно включить сертификат SSL, необходимый для push-уведомлений, в установщик моего серверного продукта?

Справочная информация. Для Apple Push-уведомлений требуется наличие сертификата SSL клиента на сервере, который выполняет вызовы в Apple.

Мой продукт имеет традиционную архитектуру клиент / сервер, то есть клиент устанавливает сервер в своей внутренней сети, а затем получает клиент iOS из App Store и подключает клиента к своему экземпляру сервера.

Дело в том, что клиент устанавливает сервер самостоятельно, а не облачную архитектуру, где я сам управлял бы сервером.

Моя проблема в том, что я не знаю, как безопасно упаковать сертификат push-уведомлений в установщик сервера. Я не могу распространять файл .p12 без пароля, потому что это может раскрыть мой закрытый ключ, и я не могу использовать пароль, потому что пароль должен был быть включен где-то еще в установщике, что противоречило бы цели. Нужно ли передавать сообщения от всех моих клиентов через сервер, которым я управляю, с сертификатом клиента SSL? Нужно ли устанавливать сертификат SSL вручную на каждом из сайтов моих клиентов?

Конечно, другие уже сталкивались с этой проблемой? Или все перешли в облако?

Ответы [ 2 ]

4 голосов
/ 06 сентября 2011

Вот важное замечание, которое произошло со мной на выходных в отношении сертификатов Apple Push. Несмотря на то, что существует множество ссылок на настройку сертификатов на стороне сервера Apple Push, здесь я обнаружил ОСНОВНУЮ точку, в которой я не могу найти ссылки ни в одной документации Apple или через Google.

Моя ситуация: у меня есть Push-сертификаты (песочница), отлично работающие на Windows Server. Теперь пришло время для производства. Установка производственных сертификатов успешна, как и много раз раньше. Однако, несмотря на то, что производственная принудительная передача завершается без ошибок, на устройство не генерируются никакие нажатия. Хммм.

Я просто ОБРАЩАЮСЬ, чтобы заметить, что время моего Mac примерно в минуте от Windows Server (вкладка команд между MacOS и VM-Ware). Глядя на настройки Windows и Mac, я вижу, что для Windows в Интернете установлено время "time.windows.com", а для Mac - "time.apple.com". Просто для удовольствия, я изменил время сервера Windows на «time.apple.com». Мгновенно, нажатия теперь отправляются на устройство. Ницца. : -)

Я увернулся от большой пули, это, вероятно, привело бы меня в бешенство, пытаясь выяснить это. Я не претендую на звание SSL-сертифицированного гуру ... Я (как и большинство других) просто хочу, чтобы этот материал работал, потому что у нас есть более крупные рыбы, которые нужно жарить.

Надеюсь, это полезная информация.

0 голосов
/ 27 августа 2011

Мне известны только решения по установке сертификатов для push-уведомлений:

  • .p12, пароль в коде отправки
  • .cer (.p12 + закрытый ключ) пароль запрашивается при импорте сертификата.

В первом случае вы можете развернуть свое решение и загрузить некоторый код, например, xml с паролем.

...