在变量中处理RSA密钥Node.JS

时间:2019-06-24 10:46:49

标签: node.js variables openssl rsa

我正在创建一个服务器,该服务器具有通过发布请求传输公共密钥的功能,因此客户端可以使用此密钥对数据进行加密,并使用加密后的数据进行回发。

我在这里的总体问题是如何在保持换行符的同时在变量内传输RSA公钥

我已经考虑过手动添加\ n(换行符)字符,但是,在用openssl生成密钥后,我无法找到以编程方式执行此操作的方法。

具体地说,这是我遇到的一些问题。

var newkey = " -----BEGIN PUBLIC KEY-----
MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDHikastc8+I81zCg/qWW8dMr8m
qvXQ3qbPAmu0RjxoZVI47tvskYlFAXOf0sPrhO2nUuooJngnHV0639iTTEYG1vck
NaW2R6U5QTdQ5Rq5u+uV3pMk7w7Vs4n3urQ6jnqt2rTXbC1DNa/PFeAZatbf7ffB
By0IGO0zc128IshYcwIDAQAB
-----END PUBLIC KEY----- ";

(显然),这将不起作用,因为节点仅识别引号内的第一行,并尝试将第二行解析为代码,从而引发错误

 '-----BEGIN PUBLIC KEY-----
                                                                                                                                                                                                                                                                                                                                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^

SyntaxError: Invalid or unexpected token

我还尝试将RSA密钥连接成一行,不幸的是,openSSL不喜欢这样做,并吐出一个错误。

关于如何处理变量中的RSA密钥,您有更好的主意吗?

谢谢!

1 个答案:

答案 0 :(得分:1)

听起来似乎很明显,但是您是否尝试过使用模板文字(用`而不是“或'分隔的字符串)?它们确实支持换行符,而不是“典型”字符串。