1

我正在尝试使用 node-apn 设置 Apple 推送通知服务。我已经编写了项目的其他部分(RESTful API、后端、消息队列),但我遇到了 node.js 部分的阻塞问题。

我必须传递 node-apn 一个密钥和一个证书,这通常是通过传递一对文件名作为选项来完成的。但是这种设置并不理想,我需要将它们作为变量传递。我已经更改了 node-aps 的源代码,如果不是因为我在研究解决方案时没有考虑到的问题,它会很乐意寻找这些变量。

Javascript 不接受多行变量,因此我无法以这种格式传递证书或密钥:

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

我尝试使用 \ 转义换行符,但最终得到一个单行证书/密钥,因此出现“PEM_read_bio:no start line”错误。

有没有像样的解决方法?

4

1 回答 1

0

您可以像这样在字符串中添加换行符:

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

但我认为将证书文件分开放置是一个更好的主意。在我看来,上面的代码看起来并不理想。

于 2011-11-17T07:46:19.163 回答