如何使用Javascript解析证书签名请求(CSR)文件以获取主题?

问题描述 投票:0回答:1

我阅读了 X.509 格式的证书签名请求。我尝试使用 NodeJS“加密”库中的 X509Certificate 类来解析它。 输入格式是字符串

-----BEGIN CERTIFICATE REQUEST-----
MII....
-----END CERTIFICATE REQUEST-----

我想从此证书签名请求中获取主题(CN、电子邮件地址、C、...)

我尝试了以下代码

const { X509Certificate } = await import('crypto');
const x509CSR = new X509Certificate(pem)

但是显示以下错误:

错误:0909006C:PEM例程:get_name:无起始行

所以我尝试了另一个名为“node-forge”的库。

const { pki } = await require('node-forge');
x509CSR = pki.certificationRequestFromPem(pem);

但是显示以下错误:

无法读取公钥。 OID 不是 RSA。

如何从 NodeJS 服务器中的证书签名请求中获取主题数据?

javascript node.js typescript cryptography csr
1个回答
0
投票

您可以使用 jsrsasign 库

npm install jsrsasign
const jsrsasign = require('jsrsasign');

const csr = new jsrsasign.asn1.csr.CSRUtil();
const csrObj = csr.pemToCSR(pem);

const subject = csrObj.subject;

console.log(subject);

© www.soinside.com 2019 - 2024. All rights reserved.