Obxecto obxecto incorporado

ObxectoX509Cert

X509Cert SicryptoObxecto que representa o certificado x509 no módulo. Este obxecto inclúe principalmente información de certificado e métodos construídos a partir de datos de certificado en formato DER ou PEM e datos de cadea de certificados. Pode realizar operacións como análise e verificación de certificados.

A través do obxecto X509Cert, pode obter o nome do suxeito do certificado, o nome do emisor, o tempo que pasa, o tempo de caducidade, a verificación de CA e outra información. Tamén pode exportar a codificación DER do certificado, obter a clave pública do certificado, o algoritmo de sinatura e outra información. .

Se queres cargar un certificado, podes usar o seguinte código para crear un obxecto X509Cert a partir dos datos do 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 suposto, o obxecto X509Cert tamén proporciona un método para importar directamente o certificado:

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

A continuación, pode realizar varias operacións de certificado a través de cert, como a obtención do período de validez do certificado:

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

relación de herdanza

Construtor

X509Cert

Construtor X509Cert

1
new X509Cert();

Construtor X509Cert, carga un certificado de formato DER

1
new X509Cert(Buffer derCert);

Parámetros de chamada:

  • derCert:Buffer, certificado en formato DER

Construtor X509Cert, carga un certificado en formato CRT/PEM

1
new X509Cert(String txtCert);

Parámetros de chamada:

  • txtCert: Cadena, certificado en formato CRT/PEM

propiedades dos membros

version

Enteiro, obtén a versión do certificado

1
readonly Integer X509Cert.version;

serial

String, obtén o número de serie do certificado

1
readonly String X509Cert.serial;

issuer

String, Obtén o nome distinguido do emisor do certificado

1
readonly String X509Cert.issuer;

subject

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

1
readonly String X509Cert.subject;

notBefore

Data, obter o tempo de validez do certificado

1
readonly Date X509Cert.notBefore;

notAfter

Data, obtén a data de caducidade do certificado

1
readonly Date X509Cert.notAfter;

ca

Booleano, obtén se o certificado é un certificado ca

1
readonly Boolean X509Cert.ca;

pathlen

Enteiro, obtén a ruta do certificado

1
readonly Integer X509Cert.pathlen;

usage

String, obtén o ámbito de uso do certificado

1
readonly String X509Cert.usage;

O resultado é todo ou parte do seguinte: digitalSignature, nonRepudiation, keyEncipherment, dataEncipherment, keyAgreement, keyCertSign, cRLSign


type

Cadena, tipo de certificado de Netscape para obter o certificado

1
readonly String X509Cert.type;

O resultado é todo ou parte do seguinte: cliente, servidor, correo electrónico, objsign, reservado, sslCA, emailCA, objCA


sig_md

Enteiro, o algoritmo de resumo para obter o certificado

1
readonly Integer X509Cert.sig_md;

sig_pk

Enteiro, obtén o algoritmo de sinatura do certificado

1
readonly Integer X509Cert.sig_pk;

publicKey

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

1
readonly PKey X509Cert.publicKey;

next

X509Cert, obtén o seguinte certificado da cadea de certificados

1
readonly X509Cert X509Cert.next;

función de membro

import

Carga un certificado en formato DER, que se pode chamar varias veces

1
X509Cert.import(Buffer derCert);

Parámetros de chamada:

  • derCert:Buffer, certificado en formato DER

Cargue un certificado en formato CRT/PEM, que se pode chamar varias veces

1
X509Cert.import(String txtCert);

Parámetros de chamada:

  • txtCert: Cadena, certificado en formato CRT/PEM

loadRootCerts

Cargue o certificado raíz predeterminado que vén con el

1
X509Cert.loadRootCerts();

O contido deste certificado procede de: http://hg.mozilla.org/releases/mozilla-release/raw-file/default/security/nss/lib/ckfw/builtins/certdata.txt


verify

Verifique o certificado proporcionado mediante a cadea de certificados actual

1
Boolean X509Cert.verify(X509Cert cert) async;

Parámetros de chamada:

  • cert: X509Cert, dado o certificado que hai que verificar

Resultados de devolución:

  • Boolean, devolve True se a verificación se realiza correctamente

pem

Exporte o certificado cargado en formato PEM

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

Parámetros de chamada:

  • all: Booleano, especifica se se deben emitir todos os certificados, o valor predeterminado é verdadeiro

Resultados de devolución:

  • String, exporte a cadea de certificados como unha matriz

der

Exporte o certificado cargado en formato DER

1
Buffer X509Cert.der();

Resultados de devolución:

  • Buffer, exporte a cadea de certificados como unha matriz

clear

Borrar os certificados cargados

1
X509Cert.clear();

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

Parámetros de chamada:

  • key: Cadena, non usada

Resultados de devolución:

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