ОбъектX509Cert
X509Cert ДаcryptoОбъект, представляющий сертификат x509 в модуле. Этот объект в основном включает в себя информацию о сертификате и методы, созданные на основе данных сертификата формата DER или PEM и данных цепочки сертификатов. Он может выполнять такие операции, как анализ и проверка сертификата.
С помощью объекта X509Cert вы можете получить имя субъекта сертификата, имя эмитента, время прохождения, срок действия, проверку CA и другую информацию.Вы также можете экспортировать кодировку DER сертификата, получить открытый ключ сертификата, алгоритм подписи и другую информацию. .
Если вы хотите загрузить сертификат, вы можете использовать следующий код для создания объекта X509Cert из данных сертификата в формате DER/PEM:
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
Integer, получить версию сертификата
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;
Результатом является все или часть следующего: клиент, сервер, электронная почта, objsign, зарезервировано, sslCA, emailCA, objCA.
sig_md
Integer, дайджест-алгоритм получения сертификата
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