Obxecto obxecto incorporado

ObxectoX509Req

O obxecto X509Req é un obxecto usado para crear solicitudes de certificados x509 e ao que pertencecryptomódulo

Podes crear unha instancia de X509Req a través do seu construtor. No constructor, podes pasar parámetros para especificar o nome distintivo do asunto e a chave pública do certificado, por exemplo:

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);

Podes usar esta instancia para chamar aos métodos e propiedades da súa clase pai para obter información sobre o obxecto de solicitude de certificado, por exemplo:

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();

Tamén pode asinar o obxecto X509Req para xerar un obxecto de certificado formal, por exemplo:

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

Nótese que o obxecto X509Req úsase para crear unha solicitude de certificado x509, non o propio certificado. Para obter un certificado válido, é necesario asinalo. Ao mesmo tempo, a clave pública utilizada para asinar o certificado debe ser coherente coa clave pública utilizada na solicitude de certificado.

relación de herdanza

Construtor

X509Req

Construtor X509Req

1
new X509Req();

Construtor X509Req, crea unha solicitude de certificado baseada na información proporcionada

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

Parámetros de chamada:

  • subject: String, o nome distintivo do asunto do certificado
  • key:PKey, a clave pública do certificado
  • hash: Enteiro, algoritmo de resumo do certificado, o valor predeterminado éhash.SHA256

Construtor X509Req, carga unha solicitude de certificado en formato DER

1
new X509Req(Buffer derReq);

Parámetros de chamada:

  • derReq:Buffer, solicitude de certificado en formato DER

Construtor X509Req, carga unha solicitude de certificado en formato PEM

1
new X509Req(String pemReq);

Parámetros de chamada:

  • pemReq: Cadena, solicitude de certificado en formato DER

propiedades dos membros

subject

String, obtén o nome distintivo do asunto do certificado

1
readonly String X509Req.subject;

publicKey

PKey, obtén a clave pública do certificado

1
readonly PKey X509Req.publicKey;

sig_md

Enteiro, o algoritmo de resumo para obter o certificado

1
readonly Integer X509Req.sig_md;

sig_pk

Enteiro, obtén o algoritmo de sinatura do certificado

1
readonly Integer X509Req.sig_pk;

función de membro

import

Cargue unha solicitude de certificado en formato DER

1
X509Req.import(Buffer derReq);

Parámetros de chamada:

  • derReq:Buffer, solicitude de certificado en formato DER

Cargue unha solicitude de certificado en formato PEM

1
X509Req.import(String pemReq);

Parámetros de chamada:

  • pemReq: Cadena, solicitude de certificado en formato PEM

pem

Devolve a codificación do formato PEM da solicitude de certificado actual

1
String X509Req.pem();

Resultados de devolución:

  • String, a codificación do formato PEM da solicitude de certificado actual

der

Devolve a codificación do formato DER da solicitude de certificado actual

1
Buffer X509Req.der();

Resultados de devolución:

  • Buffer, a codificación do formato DER da solicitude de certificado actual

sign

Asina a solicitude de certificado actual como certificado oficial

1 2 3
X509Cert X509Req.sign(String issuer, PKey key, Object opts = {}) async;

Parámetros de chamada:

  • issuer: String, o nome distinguido da autoridade de sinatura
  • key:PKey, a clave privada da autoridade de sinatura
  • opts: Obxecto, outros parámetros opcionais

Resultados de devolución:

  • X509Cert, devolve o certificado oficial asinado

Os campos recibidos por opts son os seguintes:

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

Devolve a representación en cadea do obxecto. Polo xeral, devólvese "[Obxecto nativo]". O obxecto pódese volver implementar segundo as súas propias características.

1
String X509Req.toString();

Resultados de devolución:

  • String, devolve a representación en cadea do obxecto

toJSON

Devolve unha representación en formato JSON do obxecto, devolvendo xeralmente unha colección de propiedades lexibles definidas polo obxecto.

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

Parámetros de chamada:

  • key: Cadena, non usada

Resultados de devolución:

  • Value, devolve un valor que contén JSON serializable