Objeto incorporado

ObjetoX509Cert

Certificado X509 SícryptoEl objeto que representa el certificado x509 en el módulo. Este objeto incluye principalmente información del certificado y métodos construidos a partir de datos de certificado en formato DER o PEM y datos de la cadena de certificados. Puede realizar operaciones como el análisis y la verificación de certificados.

A través del objeto X509Cert, puede obtener el nombre del sujeto del certificado, el nombre del emisor, el tiempo de paso, el tiempo de vencimiento, la verificación de ca y otra información. También puede exportar la codificación DER del certificado, obtener la clave pública del certificado, el algoritmo de firma y otra información. .

Si desea cargar un certificado, puede utilizar el siguiente código para crear un objeto X509Cert a partir de datos del certificado en formato DER/PEM:

1 2 3 4
const crypto = require('crypto'); const certData = require('fs').readFile('server.crt'); const cert = new crypto.X509Cert(certData);

Por supuesto, el objeto X509Cert también proporciona un método para importar directamente el certificado:

1
const cert = crypto.X509Cert.import(certData);

Luego puede realizar varias operaciones de certificado a través de cert, como obtener el período de validez del certificado:

1 2
var strDate = cert.notBefore.toLocaleTimeString() + " " + cert.notBefore.toLocaleDateString() + " ~ " + cert.notAfter.toLocaleTimeString() + " " + cert.notAfter.toLocaleDateString(); console.log(`证书有效时间: ${strDate}`)

relación de herencia

Constructor

X509Cert

Constructor de certificado X509

1
new X509Cert();

Constructor X509Cert, carga un certificado en formato DER

1
new X509Cert(Buffer derCert);

Parámetros de llamada:

  • derCert:Buffer, certificado en formato DER

Constructor X509Cert, carga un certificado en formato CRT/PEM

1
new X509Cert(String txtCert);

Parámetros de llamada:

  • txtCert: Cadena, certificado en formato CRT/PEM

propiedades de miembros

version

Entero, obtenga la versión del certificado.

1
readonly Integer X509Cert.version;

serial

Cadena, obtenga el número de serie del certificado.

1
readonly String X509Cert.serial;

issuer

Cadena, obtiene el nombre distinguido del emisor del certificado.

1
readonly String X509Cert.issuer;

subject

Cadena, obtiene el nombre distinguido del sujeto del certificado.

1
readonly String X509Cert.subject;

notBefore

Fecha, obtener el tiempo de validez del certificado.

1
readonly Date X509Cert.notBefore;

notAfter

Fecha, obtenga la hora de vencimiento del certificado.

1
readonly Date X509Cert.notAfter;

ca

Booleano, obtiene si el certificado es un certificado ca.

1
readonly Boolean X509Cert.ca;

pathlen

Entero, obtiene la ruta del certificado.

1
readonly Integer X509Cert.pathlen;

usage

String, obtiene el alcance de uso del certificado.

1
readonly String X509Cert.usage;

El resultado es todo o parte de lo siguiente: digitalSignature, nonRepudiation, keyEncipherment, dataEncipherment, keyAgreement, keyCertSign, cRLSign


type

Cadena, tipo de certificado Netscape para obtener el certificado

1
readonly String X509Cert.type;

El resultado es todo o parte de lo siguiente: cliente, servidor, correo electrónico, objsign, reservado, sslCA, emailCA, objCA


sig_md

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

1
readonly Integer X509Cert.sig_md;

sig_pk

Entero, obtiene el algoritmo de firma del certificado.

1
readonly Integer X509Cert.sig_pk;

publicKey

PKey, obtenga la clave pública del certificado

1
readonly PKey X509Cert.publicKey;

next

X509Cert, obtenga el siguiente certificado en la cadena de certificados

1
readonly X509Cert X509Cert.next;

función miembro

import

Cargue un certificado en formato DER, que se puede llamar varias veces

1
X509Cert.import(Buffer derCert);

Parámetros de llamada:

  • derCert:Buffer, certificado en formato DER

Cargue un certificado en formato CRT/PEM, que se puede llamar varias veces

1
X509Cert.import(String txtCert);

Parámetros de llamada:

  • txtCert: Cadena, certificado en formato CRT/PEM

loadRootCerts

Cargue el certificado raíz predeterminado que viene con él

1
X509Cert.loadRootCerts();

El contenido de este certificado proviene de: http://hg.mozilla.org/releases/mozilla-release/raw-file/default/security/nss/lib/ckfw/builtins/certdata.txt


verify

Verifique el certificado proporcionado utilizando la cadena de certificados actual

1
Boolean X509Cert.verify(X509Cert cert) async;

Parámetros de llamada:

  • cert: X509Cert, dado el certificado que debe verificarse

Resultados de devolución:

  • Boolean, devuelve True si la verificación es exitosa

pem

Exportar el certificado cargado en formato PEM

1
String X509Cert.pem(Boolean all = true);

Parámetros de llamada:

  • all: booleano, especifica si se generan todos los certificados; el valor predeterminado es verdadero

Resultados de devolución:

  • String, exporte la cadena de certificados como una matriz

der

Exportar el certificado cargado en formato DER

1
Buffer X509Cert.der();

Resultados de devolución:

  • Buffer, exporte la cadena de certificados como una matriz

clear

Borrar los certificados cargados

1
X509Cert.clear();

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 X509Cert.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 X509Cert.toJSON(String key = "");

Parámetros de llamada:

  • key: Cadena, no utilizada

Resultados de devolución:

  • Value, devuelve un valor que contiene JSON serializable