Как передать сертификат / ключ PEM как переменную в проект node.js - PullRequest
1 голос
/ 17 ноября 2011

Я пытаюсь настроить службу push-уведомлений Apple с помощью node-apn. Я написал другие части проекта (RESTful API, серверная часть, очередь сообщений), но столкнулся с проблемой блокировки части node.js.

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

Javascript не принимает многострочные переменные, поэтому я не могу передать сертификат или ключ в этом формате:

var cert = '-----BEGIN CERTIFICATE-----
[cut]
-----END CERTIFICATE-----';

Я пытался экранировать символы новой строки с помощью \, но затем я получаю однострочный сертификат / ключ и получаю сообщение об ошибке «PEM_read_bio: no start line».

Есть ли достойный обходной путь?

1 Ответ

0 голосов
/ 17 ноября 2011

В вашей строке могут быть новые строки, например:

var cert = '-----BEGIN CERTIFICATE-----\n\
[cut]\n\
-----END CERTIFICATE-----';

Но я думаю, что лучше размещать файлы сертификатов отдельно.Выше код не выглядит идеальным, на мой взгляд.

...