Встроенный объект объекта

ОбъектX509Cert

X509Cert ДаcryptoОбъект, представляющий сертификат x509 в модуле. Этот объект в основном включает в себя информацию о сертификате и методы, созданные на основе данных сертификата формата DER или PEM и данных цепочки сертификатов. Он может выполнять такие операции, как анализ и проверка сертификата.

С помощью объекта X509Cert вы можете получить имя субъекта сертификата, имя эмитента, время прохождения, срок действия, проверку CA и другую информацию.Вы также можете экспортировать кодировку DER сертификата, получить открытый ключ сертификата, алгоритм подписи и другую информацию. .

Если вы хотите загрузить сертификат, вы можете использовать следующий код для создания объекта X509Cert из данных сертификата в формате DER/PEM:

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

Integer, получить версию сертификата

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;

Результатом является все или часть следующего: клиент, сервер, электронная почта, objsign, зарезервировано, sslCA, emailCA, objCA.


sig_md

Integer, дайджест-алгоритм получения сертификата

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