オブジェクトX509要求
X509Req オブジェクトは、x509 証明書リクエストの作成に使用されるオブジェクトであり、以下に属します。cryptoモジュール
コンストラクターを使用して X509Req のインスタンスを作成できます。コンストラクターでは、証明書のサブジェクト識別名と公開キーを指定するパラメーターを渡すことができます。次に例を示します。
1
2
3
4var crypto = require('crypto');
let pky = crypto.PKey.from(private_pem);
let req = new crypto.X509Req("CN=localhost,O=fibjs", pky);
このインスタンスを使用して、その親クラスのメソッドとプロパティを呼び出して、証明書要求オブジェクトに関する情報を取得できます。次に例を示します。
1
2
3
4
5// return the DER format of the certificate request
let derReq = req.der();
// return the PEM format of the certificate request
let pemReq = req.pem();
X509Req オブジェクトに署名して、正式な証明書オブジェクトを生成することもできます。次に例を示します。
1
2
3
4
5
6
7let opt = {
notBefore: new Date('2019-01-01') // valid from 2019-01-01
,
notAfter: new Date('2029-12-31') // valid to 2029-12-31
};
let crt = req.sign("CN=myy.mkx", pky, opt);
// CN=myy.mkx is the issuer of the certificate
X509Req オブジェクトは、証明書自体ではなく、x509 証明書要求の作成に使用されることに注意してください。有効な証明書を取得するには、署名する必要があります。同時に、証明書の署名に使用される公開キーは、証明書要求で使用される公開キーと一致している必要があります。
相続関係
コンストラクタ
X509Req
X509Req コンストラクター
1new X509Req();
X509Req コンストラクター。指定された情報に基づいて証明書リクエストを作成します。
1
2
3new X509Req(String subject,
PKey key,
Integer hash = hash.SHA256);
呼び出しパラメータ:
- subject: 文字列、証明書のサブジェクト識別名
- key:PKey、証明書の公開キー
- hash: 整数、証明書ダイジェスト アルゴリズム、デフォルトはhash.SHA256
X509Req コンストラクター、DER 形式で証明書リクエストをロードします
1new X509Req(Buffer derReq);
呼び出しパラメータ:
- derReq:Buffer、DER形式の証明書リクエスト
X509Req コンストラクター、PEM 形式で証明書リクエストをロードします
1new X509Req(String pemReq);
呼び出しパラメータ:
- pemReq: 文字列、DER 形式の証明書リクエスト
メンバーのプロパティ
subject
文字列、証明書のサブジェクト識別名を取得します。
1readonly String X509Req.subject;
publicKey
PKey、証明書の公開キーを取得します。
1readonly PKey X509Req.publicKey;
sig_md
整数、証明書を取得するためのダイジェスト アルゴリズム
1readonly Integer X509Req.sig_md;
sig_pk
整数、証明書の署名アルゴリズムを取得します
1readonly Integer X509Req.sig_pk;
メンバー関数
import
DER 形式で証明書リクエストをロードする
1X509Req.import(Buffer derReq);
呼び出しパラメータ:
- derReq:Buffer、DER形式の証明書リクエスト
PEM 形式で証明書リクエストをロードする
1X509Req.import(String pemReq);
呼び出しパラメータ:
- pemReq: 文字列、PEM 形式の証明書リクエスト
pem
現在の証明書リクエストの PEM 形式エンコーディングを返します。
1String X509Req.pem();
返される結果:
- String、現在の証明書リクエストの PEM 形式エンコーディング
der
現在の証明書リクエストの DER 形式エンコーディングを返します。
1Buffer X509Req.der();
返される結果:
- Buffer、現在の証明書リクエストの DER 形式エンコーディング
sign
現在の証明書リクエストに公式証明書として署名します。
1
2
3X509Cert X509Req.sign(String issuer,
PKey key,
Object opts = {}) async;
呼び出しパラメータ:
- issuer: 文字列、署名機関の識別名
- key:PKey、署名機関の秘密鍵
- opts: オブジェクト、その他のオプションのパラメータ
返される結果:
- X509Cert、署名された公式証明書を返します
opts が受け取るフィールドは次のとおりです。
1
2
3
4
5
6
7
8{
ca: false, // specify if the certificate is a CA certificate, default is false
pathlen: -1, // specify the path length of the certificate, default is -1
notBefore: "", // specify the certificate valid from date, default is current date
notAfter: "", // specify the certificate valid to date, default is 365 days after current date
usage: "", // specify the certificate usage, accept: digitalSignature, nonRepudiation, keyEncipherment, dataEncipherment, keyAgreement, keyCertSign, cRLSign
type: "" // specify the certificate Netscape certificate type, accept: client, server, email, objsign, reserved, sslCA, emailCA, objCA
}
toString
オブジェクトの文字列表現を返します。通常、「[Native Object]」が返されます。オブジェクトは、独自の特性に従って再実装できます。
1String X509Req.toString();
返される結果:
- String、オブジェクトの文字列表現を返します。
toJSON
オブジェクトの JSON 形式表現を返します。通常は、オブジェクトによって定義された読み取り可能なプロパティのコレクションを返します。
1Value X509Req.toJSON(String key = "");
呼び出しパラメータ:
- key: 文字列、使用されません
返される結果:
- Value、シリアル化可能な JSON を含む値を返します