javascript - Node JS : Validate certificate in DER format

标签 javascript node.js cryptography der

我正在使用 crypto验证证书的模块,但我的证书和我的公钥都在 格式。看来crypto模块不接受这种格式。

有没有办法(或模块)使用 NodeJS 将 DER 转换为 PEM 格式?我找不到任何东西,也无法使用命令行通过 shell 调用 openssl。

更新:这与 HTTPS 证书无关。这是关于一般的 X.509 证书。如果您将问题标记为否定,请发表评论以证明其合理性。如果您无法提供帮助,请不要愚蠢。

最佳答案

我认为 PEM 格式只是经过 base64 编码的 DER 二进制数据,分成 64 个字符行,并包裹在 '-----BEGIN CERTIFICATE-----' 和 '-----END CERTIFICATE- 之间----'。

所以你可以这样做:

var prefix = '-----BEGIN CERTIFICATE-----\n';
var postfix = '-----END CERTIFICATE-----';
var pemText = prefix + derBuffer.toString('base64').match(/.{0,64}/g).join('\n') + postfix;

您不需要在后缀前放置一个 '\n',因为 der 缓冲区的最后一个匹配项应该是一个空字符串 '',所以 derBuffer.toString('base64').match(/.{0,64}/g).join('\n') 的末尾会有一个 '\n'

关于javascript - Node JS : Validate certificate in DER format,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31992865/

相关文章:

javascript - On向下滚动如何进行ajax调用并获取响应数据

javascript - 脚本不打印到console.log

node.js - 错误 : no template named 'remove_cv_t' in namespace 'std' ; did you mean 'remove_cv' ?

node.js - 接收 PayPal IPN 时未获取任何参数

drupal - 如何为 drupal 7 创建加密的哈希密码

javascript - 单击时显示函数文本

javascript - 使用 Intern 功能测试元素是否可见(没有元素覆盖)

node.js - 为什么 Node.js 等待从 child_process.spawn 发布 STDOUT 流数据?

matlab - 你如何使用matlab在有限域上绘制椭圆曲线

java - 我可以在没有 Bouncy CaSTLe 的情况下使用 PKCS#7 加密、解密、签名或验证数据吗?