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 序列化的值