如何将PEM证书/密钥作为变量传递给node.js项目

时间:2011-11-17 07:11:56

标签: javascript variables node.js pem

我正在尝试使用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”错误。

有没有合适的解决方法?

1 个答案:

答案 0 :(得分:0)

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

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

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