我正在尝试将.crt字符串转换为.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
.crt 字符串如下所示
-----BEGIN CERTIFICATE-----
XXXXXXXXXXX
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
XXXXXXXXXX
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
XXXXXXXXX
-----END CERTIFICATE-----
这是我使用node-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);
我尝试使用Google搜索解决方案,但我没有发现将 .crt 字符串转换为 .der 二进制文件。我正在寻找Node.js解决方案,而不是OpenSSL解决方案。请指教。
答案 0 :(得分:1)
文件的扩展名通常毫无意义。你寻找的接缝是一种从文本或PEM格式(Base64)转换为二进制或DER的方法。
最简单的方法是使用Openssl,但如果你必须使用JS this thread可能有助于确保你反转转换(PEM到DER,而不是DER到PEM)