ОбъектX509Req
Объект X509Req — это объект, используемый для создания запросов сертификатов x509, и принадлежитcryptoмодуль
Вы можете создать экземпляр X509Req через его конструктор. В конструкторе вы можете передать параметры, чтобы указать отличительное имя субъекта и открытый ключ сертификата, например:
1
2
3
4var 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
7let 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
1new X509Req();
Конструктор X509Req создает запрос сертификата на основе предоставленной информации.
1
2
3new X509Req(String subject,
PKey key,
Integer hash = hash.SHA256);
Параметры звонка:
- subject: Строка, различающееся имя субъекта сертификата.
- key:PKey, открытый ключ сертификата
- hash: целое число, алгоритм дайджеста сертификата, по умолчанию:hash.SHA256
Конструктор X509Req, загружает запрос сертификата в формате DER.
1new X509Req(Buffer derReq);
Параметры звонка:
- derReq:Buffer, запрос сертификата в формате DER
Конструктор X509Req, загружает запрос сертификата в формате PEM.
1new X509Req(String pemReq);
Параметры звонка:
- pemReq: строка, запрос сертификата в формате DER.
свойства члена
subject
Строка, получает отличительное имя субъекта сертификата.
1readonly String X509Req.subject;
publicKey
PKey, получите открытый ключ сертификата
1readonly PKey X509Req.publicKey;
sig_md
Integer, дайджест-алгоритм получения сертификата
1readonly Integer X509Req.sig_md;
sig_pk
Целое число, получает алгоритм подписи сертификата.
1readonly Integer X509Req.sig_pk;
функция-член
import
Загрузите запрос сертификата в формате DER
1X509Req.import(Buffer derReq);
Параметры звонка:
- derReq:Buffer, запрос сертификата в формате DER
Загрузите запрос сертификата в формате PEM.
1X509Req.import(String pemReq);
Параметры звонка:
- pemReq: строка, запрос сертификата в формате PEM.
pem
Возвращает кодировку формата PEM текущего запроса сертификата.
1String X509Req.pem();
Результаты возврата:
- String, кодировка формата PEM текущего запроса сертификата.
der
Возвращает кодировку формата DER текущего запроса сертификата.
1Buffer X509Req.der();
Результаты возврата:
- Buffer, кодировка формата DER текущего запроса сертификата
sign
Подпишите текущий запрос сертификата как официальный сертификат.
1
2
3X509Cert 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]». Объект может быть повторно реализован в соответствии с его собственными характеристиками.
1String X509Req.toString();
Результаты возврата:
- String, возвращает строковое представление объекта
toJSON
Возвращает представление объекта в формате JSON, обычно возвращая коллекцию читаемых свойств, определенных объектом.
1Value X509Req.toJSON(String key = "");
Параметры звонка:
- key: Строка, не используется.
Результаты возврата:
- Value, возвращает значение, содержащее сериализуемый JSON