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

我得到 p12

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

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

【问题讨论】:

    标签: javascript ssl forge


    【解决方案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) 获取数据,所以是的。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-07-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-10-17
    相关资源
    最近更新 更多