如何使用JavaScript Forge从p12证书获取证书信息?

3

我使用以下步骤获取p12文件

var p12Der = ...
var p12Asn1 = forge.asn1.fromDer(p12Der);
var p12 = forge.pkcs12.pkcs12FromAsn1(p12Asn1, password);

如何从证书中获取信息,例如主题名称、颁发者名称、序列号等...

1个回答

5

p12结构包含不同类型的“包”,其中一种类型是证书包。您可以像这样在forge中请求p12结构中的所有证书包:


// get bags by type
var bags = p12.getBags({bagType: forge.pki.oids.certBag});
// bags are key'd by bagType and each bagType key's value
// is an array of matches (in this case, certificate objects)
var cert = bags[forge.pki.oids.certBag][0];

一旦你拥有了证书对象,你可以使用console.log命令来查看可用的信息。下面是一些证书属性的快速示例:


// version
cert.version;

// serial number
cert.serialNumber;

// validity
cert.validity;

// issuer
cert.issuer;
// all issuer attributes
cert.issuer.attributes;
// get, for example, common name via its short name "CN"
cert.issuer.getField('CN');

// subject
cert.subject;
// all subject attributes
cert.subject.attributes;
// get, for example, common name via its short name "CN"
cert.subject.getField('CN');

就像这样,我可以使用console.log(cert["cert"]["subject"].getField("CN").value)来获取数据,所以是的。 - rkj

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接