在启用https的Node.js中,我将证书作为.pem文件.
现在,我想从该文件中读取一些数据,以获取有关证书的信息,例如其到期日期和公用名.
正如我所看到的,没有Node自己的tls module和ursa这样的模块都不支持这个.
当然我可以将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.结果是证书的数据结构,其中包含适当的值.
而已 :-)!
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。