如何使用 javascripts forge 从 p12 证书中获取证书信息?

Posted

技术标签:

【中文标题】如何使用 javascripts forge 从 p12 证书中获取证书信息?【英文标题】:How do I get certificate information from p12 certificate using javascripts forge? 【发布时间】:2016-04-05 11:36:39 【问题描述】:

我得到 p12

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

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

【问题讨论】:

【参考方案1】:

p12 结构包含不同类型的“包”。一种这样的类型是证书袋。您可以像这样从 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) 获取数据,所以是的。

以上是关于如何使用 javascripts forge 从 p12 证书中获取证书信息?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 forge-viewer 中从最新版本的 three.js 添加几何图形?

如何使用 Forge API 从模型 Revit 2022 获取零件类别

如何使用 Autodesk Forge 查看器离线查看模型?

从两个 HTML 文件访问 Forge 查看器

如何从 Forge Viewer 中检索文件名?

我可以获得一些关于如何通过在 C# 中使用 webhook API 从 Forge 获取文件翻译进度百分比的帮助/示例吗?