Object 內置對象

對象X509Req

x509 證書請求對象

X509Req 對象屬於 crypto 模塊,創建:

1
var k = new crypto.X509Req();

繼承關係

#lineWidth: 1.5 #font: Helvetica,sans-Serif #fontSize: 10 #leading: 1.6 #.this: fill=lightgray #.class: fill=white [<class>object|toString();toJSON()] [<this>X509Req|new X509Req()|subject;publicKey;sig_md;sig_pk|load();loadFile();exportPem();exportDer();sign()] [object] <:- [X509Req] X509Req new X509Req() subject publicKey sig_md sig_pk load() loadFile() exportPem() exportDer() sign() object toString() toJSON()

構造函數

X509Req

X509Req 構造函數

1
new X509Req();

X509Req 構造函數,根據給定的信息創建一個證書請求

1 2 3
new X509Req(String subject, PKey key, Integer hash = hash.SHA1);

調用參數:

  • subject: String, 證書的主題可分辨名稱
  • key: PKey, 證書的公鑰
  • hash: Integer, 證書摘要算法,缺省為 hash.SHA1

X509Req 構造函數,加載一個DER 格式的證書請求

1
new X509Req(Buffer derReq);

調用參數:

  • derReq: Buffer, DER 格式的證書請求

X509Req 構造函數,加載一個PEM 格式的證書請求

1
new X509Req(String pemReq);

調用參數:

  • pemReq: String, DER 格式的證書請求

成員屬性

subject

String, 獲取證書的主題可分辨名稱

1
readonly String X509Req.subject;

publicKey

PKey, 獲取證書的公鑰

1
readonly PKey X509Req.publicKey;

sig_md

Integer, 獲取證書的摘要算法

1
readonly Integer X509Req.sig_md;

sig_pk

Integer, 獲取證書的簽名算法

1
readonly Integer X509Req.sig_pk;

成員函數

load

加載一個DER 格式的證書請求

1
X509Req.load(Buffer derReq);

調用參數:

  • derReq: Buffer, DER 格式的證書請求

加載一個PEM 格式的證書請求

1
X509Req.load(String pemReq);

調用參數:

  • pemReq: String, PEM 格式的證書請求

loadFile

加載一個PEM/DER 格式的證書請求,可多次調用

1
X509Req.loadFile(String filename);

調用參數:

  • filename: String, 證書請求文件名

exportPem

返回當前證書請求的PEM 格式編碼

1
String X509Req.exportPem();

返回結果:

  • String, 當前證書請求的PEM 格式編碼

exportDer

返回當前證書請求的DER 格式編碼

1
Buffer X509Req.exportDer();

返回結果:

  • Buffer, 當前證書請求的DER 格式編碼

sign

簽名當前證書請求為正式證書

1 2 3
X509Cert X509Req.sign(String issuer, PKey key, Object opts = {}) async;

調用參數:

  • issuer: String, 簽名機構的可分辨名稱
  • key: PKey, 簽名機構的私鑰
  • opts: Object, 其他可選參數

返回結果:

  • X509Cert, 返回簽名後的正式證書

opts 接收的字段如下:

1 2 3 4 5 6 7 8
{ ca: false, // 证书为 ca,缺省为 false pathlen: -1, // 证书深度,缺省为 -1 notBefore: "", // 证书生效时间,缺省为当前时间 notAfter: "", // 证书失效时间,缺省为 notBefore 后一年 usage: "", // 证书使用范围,接收:digitalSignature, nonRepudiation, keyEncipherment, dataEncipherment, keyAgreement, keyCertSign, cRLSign type: "" // 证书 Netscape 证书类型,接收:client, server, email, objsign, reserved, sslCA, emailCA, objCA }

toString

返回對象的字符串表示,一般返回"[Native Object]",對象可以根據自己的特性重新實現

1
String X509Req.toString();

返回結果:

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

toJSON

返回對象的JSON 格式表示,一般返回對象定義的可讀屬性集合

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

調用參數:

  • key: String, 未使用

返回結果:

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