使用Node.js从SSL证书中读取到期日期和公用名

发布时间:2020-09-30 发布网站:编程之家
编程之家收集整理的这篇文章主要介绍了使用Node.js从SSL证书中读取到期日期和公用名编程之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
在启用https的Node.js中,我将证书作为.pem文件.

现在,我想从该文件中读取一些数据,以获取有关证书的信息,例如其到期日期和公用名.

正如我所看到的,没有Node自己的tls moduleursa这样的模块都不支持这个.

当然我可以将openssl称为子进程并解析其输出流(我认为这个任务应该可以使用OpenSSL),但我更喜欢一个解决方案,而不依赖于路径中外部程序的可用性.

我怎么能这样做?

更新:同时,我找到了pem module,并且其readCertificateInfo成功提供了通用名称,甚至使用了Node.js 0.8.18(这与其文档声称不支持0.7相反).不幸的是,它没有返回到期日期.

更新2:在内部,pem只是使用子进程调用openssl命令.当然我可以自己做,因此我可以直接从openssl检索所需的信息.无论如何,如果有人有更好的想法(在这种情况下意味着纯JavaScript / Node.js解决方案),我会很高兴:-)

解决方法

同时我找到了答案:PEM格式基本上是使用Base64加密的ASN.1.

因此,您需要首先进行Base64解码,然后将结果解析为ASN.1.结果是证书的数据结构,其中包含适当的值.

而已 :-)!

总结

以上是编程之家为你收集整理的使用Node.js从SSL证书中读取到期日期和公用名全部内容,希望文章能够帮你解决使用Node.js从SSL证书中读取到期日期和公用名所遇到的程序开发问题。

如果觉得编程之家网站内容还不错,欢迎将编程之家网站推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您喜欢交流学习经验,点击链接加入编程之家官方QQ群:1065694478
编程之家官方公众号

微信公众号搜索 “ 程序精选 ” ,选择关注!

微信公众号搜索 “ 程序精选 ”
精选程序员所需精品干货内容!