【问题标题】:How to parse Certificate Revocation List (CRL) in Node.js如何在 Node.js 中解析证书吊销列表 (CRL)
【发布时间】:2020-07-27 20:47:16
【问题描述】:

我正在使用以下代码从下载了​​ ext .crl 的 crl 列表文件中读取已撤销 crl 的序列号。

import forge, { pki, asn1 } from 'node-forge';

const crlFil = asn1.fromDer(crlFile); // crlfile with a .crl extension

console.log(crlFileDer.value[0].value[5].value[0].value[0]);

我关注this guide, 但是当我尝试读取序列号时。被吊销的证书,它给我的价值似乎是垃圾。我不确定它是什么格式,想把它转换成正确的值。

收到的示例值\u0003-\tÊ$v¥L

【问题讨论】:

    标签: node.js pki


    【解决方案1】:

    您可以在 asn1jspkijspvutils 库的帮助下解析 CRL 并获取已撤销的证书序列号。这是一个将撤销的证书序列号打印到控制台的示例:

    const asn1 = require('asn1js');
    const pkijs = require('pkijs');
    const pvutils = require('pvutils');
    const fs = require('fs');
    
    
    fs.readFile('./yourCrlFile.crl', (err, crlData) => {
      if (err) {
        throw err;
      }
      const buffer = new Uint8Array(crlData).buffer;
      const asn1crl = asn1.fromBER(buffer);
      const crl = new pkijs.CertificateRevocationList({
        schema: asn1crl.result
      })
    
      for (const { userCertificate } of crl.revokedCertificates) {
        console.log(pvutils.bufferToHexCodes(userCertificate.valueBlock.valueHex))
      }
    })
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2010-10-27
      • 2020-06-11
      • 2019-01-11
      • 2018-04-21
      • 1970-01-01
      • 2018-12-30
      • 2018-12-26
      • 2012-02-22
      相关资源
      最近更新 更多