オブジェクトX509証明書
X509証明書はいcryptoモジュール内の x509 証明書を表すオブジェクト。このオブジェクトには主に、DER または PEM 形式の証明書データと証明書チェーン データから構築された証明書情報とメソッドが含まれます。証明書の解析や検証などの操作を実行できます。
X509Cert オブジェクトを通じて、証明書のサブジェクト名、発行者名、通過時刻、有効期限、CA 検証などの情報を取得できます。また、証明書の DER エンコーディングをエクスポートし、証明書の公開キー、署名アルゴリズムなどの情報を取得することもできます。 。
証明書をロードする場合は、次のコードを使用して、DER/PEM 形式の証明書データから X509Cert オブジェクトを作成できます。
1
2
3
4const crypto = require('crypto');
const certData = require('fs').readFile('server.crt');
const cert = new crypto.X509Cert(certData);
もちろん、X509Cert オブジェクトには、証明書を直接インポートするメソッドも用意されています。
1const cert = crypto.X509Cert.import(certData);
その後、証明書の有効期間の取得など、cert を介してさまざまな証明書操作を実行できます。
1
2var strDate = cert.notBefore.toLocaleTimeString() + " " + cert.notBefore.toLocaleDateString() + " ~ " + cert.notAfter.toLocaleTimeString() + " " + cert.notAfter.toLocaleDateString();
console.log(`证书有效时间: ${strDate}`)
相続関係
コンストラクタ
X509Cert
X509Cert コンストラクター
1new X509Cert();
X509Cert コンストラクター、DER 形式の証明書をロードします
1new X509Cert(Buffer derCert);
呼び出しパラメータ:
- derCert:Buffer、DER形式の証明書
X509Cert コンストラクター、証明書を CRT/PEM 形式でロードします
1new X509Cert(String txtCert);
呼び出しパラメータ:
- txtCert: 文字列、CRT/PEM 形式の証明書
メンバーのプロパティ
version
整数、証明書のバージョンを取得します
1readonly Integer X509Cert.version;
serial
文字列、証明書のシリアル番号を取得します
1readonly String X509Cert.serial;
issuer
文字列、証明書発行者の識別名を取得します。
1readonly String X509Cert.issuer;
subject
文字列、証明書のサブジェクト識別名を取得します。
1readonly String X509Cert.subject;
notBefore
日付、証明書の有効期間を取得します
1readonly Date X509Cert.notBefore;
notAfter
日付、証明書の有効期限を取得します
1readonly Date X509Cert.notAfter;
ca
ブール値、証明書が CA 証明書であるかどうかを取得します。
1readonly Boolean X509Cert.ca;
pathlen
整数、証明書のパスレンを取得します
1readonly Integer X509Cert.pathlen;
usage
文字列、証明書の使用範囲を取得します
1readonly String X509Cert.usage;
結果は次のすべてまたは一部です:digitalSignature、nonRepudiation、keyEncipherment、dataEncipherment、keyAgreement、keyCertSign、cRLSign
type
文字列、証明書を取得する Netscape 証明書タイプ
1readonly String X509Cert.type;
結果は次のすべてまたは一部です: client、server、email、objsign、reserved、sslCA、emailCA、objCA
sig_md
整数、証明書を取得するためのダイジェスト アルゴリズム
1readonly Integer X509Cert.sig_md;
sig_pk
整数、証明書の署名アルゴリズムを取得します
1readonly Integer X509Cert.sig_pk;
publicKey
PKey、証明書の公開キーを取得します。
1readonly PKey X509Cert.publicKey;
next
X509Cert、証明書チェーン内の次の証明書を取得します
1readonly X509Cert X509Cert.next;
メンバー関数
import
複数回呼び出すことができる DER 形式で証明書をロードします
1X509Cert.import(Buffer derCert);
呼び出しパラメータ:
- derCert:Buffer、DER形式の証明書
証明書を CRT/PEM 形式でロードします。複数回呼び出すことができます。
1X509Cert.import(String txtCert);
呼び出しパラメータ:
- txtCert: 文字列、CRT/PEM 形式の証明書
loadRootCerts
付属のデフォルトのルート証明書をロードします
1X509Cert.loadRootCerts();
この証明書の内容は、http: //hg.mozilla.org/releases/mozilla-release/raw-file/default/security/nss/lib/ckfw/builtins/certdata.txtから取得されます。
verify
現在の証明書チェーンを使用して、指定された証明書を検証します
1Boolean X509Cert.verify(X509Cert cert) async;
呼び出しパラメータ:
- cert: X509Cert、検証する必要がある証明書を指定します
返される結果:
- Boolean、検証が成功した場合は True を返します
pem
ロードされた証明書を PEM 形式でエクスポートします
1String X509Cert.pem(Boolean all = true);
呼び出しパラメータ:
- all: ブール値、すべての証明書を出力するかどうかを指定します。デフォルトは true です。
返される結果:
- String、証明書チェーンを配列としてエクスポートします
der
ロードされた証明書を DER 形式でエクスポートします
1Buffer X509Cert.der();
返される結果:
- Buffer、証明書チェーンを配列としてエクスポートします
clear
ロードされた証明書をクリアします
1X509Cert.clear();
toString
オブジェクトの文字列表現を返します。通常、「[Native Object]」が返されます。オブジェクトは、独自の特性に従って再実装できます。
1String X509Cert.toString();
返される結果:
- String、オブジェクトの文字列表現を返します。
toJSON
オブジェクトの JSON 形式表現を返します。通常は、オブジェクトによって定義された読み取り可能なプロパティのコレクションを返します。
1Value X509Cert.toJSON(String key = "");
呼び出しパラメータ:
- key: 文字列、使用されません
返される結果:
- Value、シリアル化可能な JSON を含む値を返します