我阅读了 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 服务器中的证书签名请求中获取主题数据?
您可以使用 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);