オブジェクト X509Req
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 シリアル化可能な値を返します