Objeto incorporado

ObjetoX509Req

El objeto X509Req es un objeto utilizado para crear solicitudes de certificado x509 y pertenece acryptomódulo

Puede crear una instancia de X509Req a través de su constructor. En el constructor, puede pasar parámetros para especificar el nombre distinguido del sujeto y la clave pública del certificado, por ejemplo:

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

Puede utilizar esta instancia para llamar a los métodos y propiedades de su clase principal para obtener información sobre el objeto de solicitud de certificado, por ejemplo:

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

También puede firmar el objeto X509Req para generar un objeto de certificado formal, por ejemplo:

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

Cabe señalar que para crear una solicitud de certificado x509 se utiliza el objeto X509Req, no el certificado en sí. Para obtener un certificado válido, es necesario firmarlo. Al mismo tiempo, la clave pública utilizada para firmar el certificado debe ser coherente con la clave pública utilizada en la solicitud del certificado.

relación de herencia

Constructor

X509Req

Constructor X509Req

1
new X509Req();

Constructor X509Req, crea una solicitud de certificado basada en la información proporcionada

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

Parámetros de llamada:

  • subject: Cadena, el nombre distinguido del sujeto del certificado.
  • key:PKey, la clave pública del certificado
  • hash: Entero, algoritmo de resumen de certificado, el valor predeterminado eshash.SHA256

Constructor X509Req, carga una solicitud de certificado en formato DER

1
new X509Req(Buffer derReq);

Parámetros de llamada:

  • derReq:Buffer, solicitud de certificado en formato DER

Constructor X509Req, carga una solicitud de certificado en formato PEM

1
new X509Req(String pemReq);

Parámetros de llamada:

  • pemReq: Cadena, solicitud de certificado en formato DER

propiedades de miembros

subject

Cadena, obtiene el nombre distinguido del sujeto del certificado.

1
readonly String X509Req.subject;

publicKey

PKey, obtenga la clave pública del certificado

1
readonly PKey X509Req.publicKey;

sig_md

Integer, el algoritmo de resumen para la obtención del certificado

1
readonly Integer X509Req.sig_md;

sig_pk

Entero, obtiene el algoritmo de firma del certificado.

1
readonly Integer X509Req.sig_pk;

función miembro

import

Cargar una solicitud de certificado en formato DER

1
X509Req.import(Buffer derReq);

Parámetros de llamada:

  • derReq:Buffer, solicitud de certificado en formato DER

Cargar una solicitud de certificado en formato PEM

1
X509Req.import(String pemReq);

Parámetros de llamada:

  • pemReq: Cadena, solicitud de certificado en formato PEM

pem

Devuelve la codificación en formato PEM de la solicitud de certificado actual.

1
String X509Req.pem();

Resultados de devolución:

  • String, la codificación en formato PEM de la solicitud de certificado actual

der

Devuelve la codificación en formato DER de la solicitud de certificado actual.

1
Buffer X509Req.der();

Resultados de devolución:

  • Buffer, la codificación en formato DER de la solicitud de certificado actual

sign

Firmar la solicitud de certificado actual como certificado oficial

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

Parámetros de llamada:

  • issuer: Cadena, el nombre distinguido de la autoridad firmante
  • key:PKey, la clave privada de la autoridad firmante
  • opts: Objeto, otros parámetros opcionales

Resultados de devolución:

  • X509Cert, devuelve el certificado oficial firmado

Los campos recibidos por opts son los siguientes:

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

Devuelve la representación de cadena del objeto. Generalmente, se devuelve "[Objeto nativo]". El objeto se puede volver a implementar de acuerdo con sus propias características.

1
String X509Req.toString();

Resultados de devolución:

  • String, devuelve la representación de cadena del objeto

toJSON

Devuelve una representación en formato JSON del objeto, que generalmente devuelve una colección de propiedades legibles definidas por el objeto.

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

Parámetros de llamada:

  • key: Cadena, no utilizada

Resultados de devolución:

  • Value, devuelve un valor que contiene JSON serializable