オブジェクト組み込みオブジェクト

オブジェクトX509証明書

X509証明書はいcryptoモジュール内の x509 証明書を表すオブジェクト。このオブジェクトには主に、DER または PEM 形式の証明書データと証明書チェーン データから構築された証明書情報とメソッドが含まれます。証明書の解析や検証などの操作を実行できます。

X509Cert オブジェクトを通じて、証明書のサブジェクト名、発行者名、通過時刻、有効期限、CA 検証などの情報を取得できます。また、証明書の DER エンコーディングをエクスポートし、証明書の公開キー、署名アルゴリズムなどの情報を取得することもできます。 。

証明書をロードする場合は、次のコードを使用して、DER/PEM 形式の証明書データから X509Cert オブジェクトを作成できます。

1 2 3 4
const crypto = require('crypto'); const certData = require('fs').readFile('server.crt'); const cert = new crypto.X509Cert(certData);

もちろん、X509Cert オブジェクトには、証明書を直接インポートするメソッドも用意されています。

1
const cert = crypto.X509Cert.import(certData);

その後、証明書の有効期間の取得など、cert を介してさまざまな証明書操作を実行できます。

1 2
var strDate = cert.notBefore.toLocaleTimeString() + " " + cert.notBefore.toLocaleDateString() + " ~ " + cert.notAfter.toLocaleTimeString() + " " + cert.notAfter.toLocaleDateString(); console.log(`证书有效时间: ${strDate}`)

相続関係

コンストラクタ

X509Cert

X509Cert コンストラクター

1
new X509Cert();

X509Cert コンストラクター、DER 形式の証明書をロードします

1
new X509Cert(Buffer derCert);

呼び出しパラメータ:

  • derCert:Buffer、DER形式の証明書

X509Cert コンストラクター、証明書を CRT/PEM 形式でロードします

1
new X509Cert(String txtCert);

呼び出しパラメータ:

  • txtCert: 文字列、CRT/PEM 形式の証明書

メンバーのプロパティ

version

整数、証明書のバージョンを取得します

1
readonly Integer X509Cert.version;

serial

文字列、証明書のシリアル番号を取得します

1
readonly String X509Cert.serial;

issuer

文字列、証明書発行者の識別名を取得します。

1
readonly String X509Cert.issuer;

subject

文字列、証明書のサブジェクト識別名を取得します。

1
readonly String X509Cert.subject;

notBefore

日付、証明書の有効期間を取得します

1
readonly Date X509Cert.notBefore;

notAfter

日付、証明書の有効期限を取得します

1
readonly Date X509Cert.notAfter;

ca

ブール値、証明書が CA 証明書であるかどうかを取得します。

1
readonly Boolean X509Cert.ca;

pathlen

整数、証明書のパスレンを取得します

1
readonly Integer X509Cert.pathlen;

usage

文字列、証明書の使用範囲を取得します

1
readonly String X509Cert.usage;

結果は次のすべてまたは一部です:digitalSignature、nonRepudiation、keyEncipherment、dataEncipherment、keyAgreement、keyCertSign、cRLSign


type

文字列、証明書を取得する Netscape 証明書タイプ

1
readonly String X509Cert.type;

結果は次のすべてまたは一部です: client、server、email、objsign、reserved、sslCA、emailCA、objCA


sig_md

整数、証明書を取得するためのダイジェスト アルゴリズム

1
readonly Integer X509Cert.sig_md;

sig_pk

整数、証明書の署名アルゴリズムを取得します

1
readonly Integer X509Cert.sig_pk;

publicKey

PKey、証明書の公開キーを取得します。

1
readonly PKey X509Cert.publicKey;

next

X509Cert、証明書チェーン内の次の証明書を取得します

1
readonly X509Cert X509Cert.next;

メンバー関数

import

複数回呼び出すことができる DER 形式で証明書をロードします

1
X509Cert.import(Buffer derCert);

呼び出しパラメータ:

  • derCert:Buffer、DER形式の証明書

証明書を CRT/PEM 形式でロードします。複数回呼び出すことができます。

1
X509Cert.import(String txtCert);

呼び出しパラメータ:

  • txtCert: 文字列、CRT/PEM 形式の証明書

loadRootCerts

付属のデフォルトのルート証明書をロードします

1
X509Cert.loadRootCerts();

この証明書の内容は、http: //hg.mozilla.org/releases/mozilla-release/raw-file/default/security/nss/lib/ckfw/builtins/certdata.txtから取得されます。


verify

現在の証明書チェーンを使用して、指定された証明書を検証します

1
Boolean X509Cert.verify(X509Cert cert) async;

呼び出しパラメータ:

  • cert: X509Cert、検証する必要がある証明書を指定します

返される結果:

  • Boolean、検証が成功した場合は True を返します

pem

ロードされた証明書を PEM 形式でエクスポートします

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

呼び出しパラメータ:

  • all: ブール値、すべての証明書を出力するかどうかを指定します。デフォルトは true です。

返される結果:

  • String、証明書チェーンを配列としてエクスポートします

der

ロードされた証明書を DER 形式でエクスポートします

1
Buffer X509Cert.der();

返される結果:

  • Buffer、証明書チェーンを配列としてエクスポートします

clear

ロードされた証明書をクリアします

1
X509Cert.clear();

toString

オブジェクトの文字列表現を返します。通常、「[Native Object]」が返されます。オブジェクトは、独自の特性に従って再実装できます。

1
String X509Cert.toString();

返される結果:

  • String、オブジェクトの文字列表現を返します。

toJSON

オブジェクトの JSON 形式表現を返します。通常は、オブジェクトによって定義された読み取り可能なプロパティのコレクションを返します。

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

呼び出しパラメータ:

  • key: 文字列、使用されません

返される結果:

  • Value、シリアル化可能な JSON を含む値を返します