如何将.crtstring转换为.der证书二进制文件并将其保存到Redis中?

我试图将.crtstring转换成.der证书并将其保存到Redis中。 我试图用Nodejs复制以下步骤

openssl x509 -outform der -in certificate.pem -out certificate.der openssl rsa -outform DER -in key.pem -out key.der redis-cli -x HMSET domain:testsite1.com cert < testsite1.com.der redis-cli -x HMSET domain:testsite1.com key < testsite1.com.key.der 

.crtstring看起来像这样

 -----BEGIN CERTIFICATE----- XXXXXXXXXXX -----END CERTIFICATE----- -----BEGIN CERTIFICATE----- XXXXXXXXXX -----END CERTIFICATE----- -----BEGIN CERTIFICATE----- XXXXXXXXX -----END CERTIFICATE----- 

这是我使用node-forge forge npm和redis失败的尝试。

 var certDER = forge.asn1.toDer(forge.pki.certificateToAsn1('/opt/resty/ssl/*.ngdeploy.com.chained.crt',{encoding: 'utf8'})); REDIS.hmset('test','cert',certDER); 

我试着谷歌search的解决scheme,但我没有find任何将.crtstring转换为.der二进制文件。 我正在寻找一个Node.js解决scheme,而不是一个OpenSSL解决scheme。 请指教。

文件的扩展往往是毫无意义的。 你所寻找的是一种将文本或PEM格式(Base64)转换为二进制或DER的方法。

最简单的方法是使用Openssl,但是如果您必须使用JS, 这个线程可能会帮助您确保您将转换(PEM转换为DER,而不是DER转换为PEM)