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

ОбъектX509Req

Объект X509Req — это объект, используемый для создания запросов сертификатов x509, и принадлежитcryptoмодуль

Вы можете создать экземпляр X509Req через его конструктор. В конструкторе вы можете передать параметры, чтобы указать отличительное имя субъекта и открытый ключ сертификата, например:

1 2 3 4
var 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 7
let 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

Следует отметить, что для создания запроса сертификата x509 используется объект X509Req, а не сам сертификат.Чтобы получить действительный сертификат, его необходимо подписать. В то же время открытый ключ, используемый для подписи сертификата, должен соответствовать открытому ключу, используемому в запросе сертификата.

отношения наследства

Конструктор

X509Req

Конструктор X509Req

1
new X509Req();

Конструктор X509Req создает запрос сертификата на основе предоставленной информации.

1 2 3
new X509Req(String subject, PKey key, Integer hash = hash.SHA256);

Параметры звонка:

  • subject: Строка, различающееся имя субъекта сертификата.
  • key:PKey, открытый ключ сертификата
  • hash: целое число, алгоритм дайджеста сертификата, по умолчанию:hash.SHA256

Конструктор X509Req, загружает запрос сертификата в формате DER.

1
new X509Req(Buffer derReq);

Параметры звонка:

  • derReq:Buffer, запрос сертификата в формате DER

Конструктор X509Req, загружает запрос сертификата в формате PEM.

1
new X509Req(String pemReq);

Параметры звонка:

  • pemReq: строка, запрос сертификата в формате DER.

свойства члена

subject

Строка, получает отличительное имя субъекта сертификата.

1
readonly String X509Req.subject;

publicKey

PKey, получите открытый ключ сертификата

1
readonly PKey X509Req.publicKey;

sig_md

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

1
readonly Integer X509Req.sig_md;

sig_pk

Целое число, получает алгоритм подписи сертификата.

1
readonly Integer X509Req.sig_pk;

функция-член

import

Загрузите запрос сертификата в формате DER

1
X509Req.import(Buffer derReq);

Параметры звонка:

  • derReq:Buffer, запрос сертификата в формате DER

Загрузите запрос сертификата в формате PEM.

1
X509Req.import(String pemReq);

Параметры звонка:

  • pemReq: строка, запрос сертификата в формате PEM.

pem

Возвращает кодировку формата PEM текущего запроса сертификата.

1
String X509Req.pem();

Результаты возврата:

  • String, кодировка формата PEM текущего запроса сертификата.

der

Возвращает кодировку формата DER текущего запроса сертификата.

1
Buffer X509Req.der();

Результаты возврата:

  • Buffer, кодировка формата DER текущего запроса сертификата

sign

Подпишите текущий запрос сертификата как официальный сертификат.

1 2 3
X509Cert 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]». Объект может быть повторно реализован в соответствии с его собственными характеристиками.

1
String X509Req.toString();

Результаты возврата:

  • String, возвращает строковое представление объекта

toJSON

Возвращает представление объекта в формате JSON, обычно возвращая коллекцию читаемых свойств, определенных объектом.

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

Параметры звонка:

  • key: Строка, не используется.

Результаты возврата:

  • Value, возвращает значение, содержащее сериализуемый JSON