Object 内置对象

对象 X509Crl

X509Crl 对象是 crypto 模块中的一个对象,用来表示 X509 撤销证书,即证书的吊销列表,与 CA 相关的操作如 X509 证书链的验证都会用到撤销列表信息

X509Crl 在 crypto 模块声明,故可以通过下面的代码来引入:

1
const crypto = require('crypto');

用户可以通过新建 X509Crl 类对象,调用对象的 import 方法加载一个 DER 或 PEM 格式的证书。可以通过 clear 方法清除已经加载的撤销证书列表信息,控制加载状态,以支持重复的证书加载工作。然后可以使用 nextUpdate 方法获取撤销列表的下次更新时间,调用 serials 获取证书吊销序列号列表等。

下面这个示例演示如何从文件中导入一个撤销证 ,并将其列表在控制台输出:

1 2 3 4 5 6 7 8 9 10 11 12
const crypto = require('crypto'); const fs = require('fs'); // load a PEM format CRL var pemFile = './mycrl.pem'; var pemText = fs.readFile(pemFile).toString(); var crl = new crypto.X509Crl(pemText); // output serials of revoked certificates for (var i = 0; i < crl.serials.length; i++) { console.log(crl.serials[i]); }

继承关系

构造函数

X509Crl

X509Crl 构造函数

1
new X509Crl();

X509Crl 构造函数,加载一个 DER 格式的撤销证书

1
new X509Crl(Buffer derCrl);

调用参数:

  • derCrl: Buffer, DER 格式的撤销证书

X509Crl 构造函数,加载一个 PEM 格式的撤销证书

1
new X509Crl(String pemCrl);

调用参数:

  • pemCrl: String, PEM 格式的撤销证书

成员属性

version

Integer, 获取证书的版本

1
readonly Integer X509Crl.version;

issuer

String, 获取证书颁发者的可分辨名称

1
readonly String X509Crl.issuer;

serials

Array, 获取证书吊销序列号列表

1
readonly Array X509Crl.serials;

thisUpdate

Date, 获取证书的本次更新时间

1
readonly Date X509Crl.thisUpdate;

nextUpdate

Date, 获取证书的下次更新时间

1
readonly Date X509Crl.nextUpdate;

next

X509Crl, 获取证书链中得下一个证书

1
readonly X509Crl X509Crl.next;

成员函数

import

加载一个 DER 格式的撤销证书,可多次调用

1
X509Crl.import(Buffer derCrl);

调用参数:

  • derCrl: Buffer, DER 格式的撤销证书

加载一个 PEM 格式的撤销证书,可多次调用

1
X509Crl.import(String pemCrl);

调用参数:

  • pemCrl: String, PEM 格式的撤销证书

pem

以 PEM 格式导出已经加载的撤销证书

1
String X509Crl.pem(Boolean all = true);

调用参数:

  • all: Boolean, 指定是否输出全部证书,缺省为 true

返回结果:

  • String, 以数组方式导出撤销证书链

der

以 DER 格式导出已经加载的撤销证书

1
Buffer X509Crl.der();

返回结果:

  • Buffer, 以数组方式导出撤销证书链

clear

清空已经加载的撤销证书

1
X509Crl.clear();

toString

返回对象的字符串表示,一般返回 "[Native Object]",对象可以根据自己的特性重新实现

1
String X509Crl.toString();

返回结果:

  • String, 返回对象的字符串表示

toJSON

返回对象的 JSON 格式表示,一般返回对象定义的可读属性集合

1
Value X509Crl.toJSON(String key = "");

调用参数:

  • key: String, 未使用

返回结果:

  • Value, 返回包含可 JSON 序列化的值