Oggetto oggetto incorporato

OggettoX509Cert

Certificato X509 SìcryptoL'oggetto che rappresenta il certificato x509 nel modulo. Questo oggetto include principalmente informazioni sul certificato e metodi costruiti da dati di certificato in formato DER o PEM e dati della catena di certificati. Può eseguire operazioni come l'analisi e la verifica dei certificati.

Attraverso l'oggetto X509Cert è possibile ottenere il nome del soggetto del certificato, il nome dell'emittente, l'ora di transito, l'ora di scadenza, la verifica della CA e altre informazioni. È inoltre possibile esportare la codifica DER del certificato, ottenere la chiave pubblica del certificato, l'algoritmo di firma e altre informazioni. .

Se desideri caricare un certificato, puoi utilizzare il codice seguente per creare un oggetto X509Cert dai dati del certificato in formato DER/PEM:

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

Naturalmente l'oggetto X509Cert fornisce anche un metodo per importare direttamente il certificato:

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

Successivamente è possibile eseguire varie operazioni sul certificato tramite cert, come ottenere il periodo di validità del certificato:

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

rapporto ereditario

Costruttore

X509Cert

Costruttore X509Cert

1
new X509Cert();

Costruttore X509Cert, carica un certificato in formato DER

1
new X509Cert(Buffer derCert);

Parametri di chiamata:

  • derCert:Buffer, certificato in formato DER

Costruttore X509Cert, carica un certificato in formato CRT/PEM

1
new X509Cert(String txtCert);

Parametri di chiamata:

  • txtCert: Stringa, certificato in formato CRT/PEM

proprietà dei membri

version

Intero, ottieni la versione del certificato

1
readonly Integer X509Cert.version;

serial

String, ottieni il numero di serie del certificato

1
readonly String X509Cert.serial;

issuer

String, ottiene il nome distinto dell'emittente del certificato

1
readonly String X509Cert.issuer;

subject

String, ottiene il nome distinto del soggetto del certificato

1
readonly String X509Cert.subject;

notBefore

Data, ottenere l'ora di validità del certificato

1
readonly Date X509Cert.notBefore;

notAfter

Data, ottieni l'ora di scadenza del certificato

1
readonly Date X509Cert.notAfter;

ca

Booleano, ottiene se il certificato è un certificato ca

1
readonly Boolean X509Cert.ca;

pathlen

Intero, ottieni il percorso del certificato

1
readonly Integer X509Cert.pathlen;

usage

String, ottiene l'ambito di utilizzo del certificato

1
readonly String X509Cert.usage;

Il risultato è tutto o parte di quanto segue: digitalSignature, nonRepudiation, keyEncipherment, dataEncipherment, keyAgreement, keyCertSign, cRLSign


type

String, tipo di certificato Netscape per ottenere il certificato

1
readonly String X509Cert.type;

Il risultato è tutto o parte di quanto segue: client, server, email, objsign, riservato, sslCA, emailCA, objCA


sig_md

Intero, l'algoritmo digest per ottenere il certificato

1
readonly Integer X509Cert.sig_md;

sig_pk

Intero, ottiene l'algoritmo di firma del certificato

1
readonly Integer X509Cert.sig_pk;

publicKey

PKey, ottieni la chiave pubblica del certificato

1
readonly PKey X509Cert.publicKey;

next

X509Cert, ottieni il certificato successivo nella catena di certificati

1
readonly X509Cert X509Cert.next;

funzione membro

import

Carica un certificato in formato DER, richiamabile più volte

1
X509Cert.import(Buffer derCert);

Parametri di chiamata:

  • derCert:Buffer, certificato in formato DER

Carica un certificato in formato CRT/PEM, richiamabile più volte

1
X509Cert.import(String txtCert);

Parametri di chiamata:

  • txtCert: Stringa, certificato in formato CRT/PEM

loadRootCerts

Carica il certificato root predefinito fornito con esso

1
X509Cert.loadRootCerts();

Il contenuto di questo certificato proviene da: http://hg.mozilla.org/releases/mozilla-release/raw-file/default/security/nss/lib/ckfw/builtins/certdata.txt


verify

Verificare il certificato fornito utilizzando la catena di certificati corrente

1
Boolean X509Cert.verify(X509Cert cert) async;

Parametri di chiamata:

  • cert: X509Cert, dato il certificato da verificare

Risultati restituiti:

  • Boolean, restituisce True se la verifica ha esito positivo

pem

Esporta il certificato caricato in formato PEM

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

Parametri di chiamata:

  • all: Booleano, specifica se restituire tutti i certificati, il valore predefinito è true

Risultati restituiti:

  • String, esporta la catena di certificati come array

der

Esporta il certificato caricato in formato DER

1
Buffer X509Cert.der();

Risultati restituiti:

  • Buffer, esporta la catena di certificati come array

clear

Cancella i certificati caricati

1
X509Cert.clear();

toString

Restituisce la rappresentazione in formato stringa dell'oggetto. Generalmente viene restituito "[Oggetto nativo]". L'oggetto può essere reimplementato in base alle proprie caratteristiche.

1
String X509Cert.toString();

Risultati restituiti:

  • String, restituisce la rappresentazione di stringa dell'oggetto

toJSON

Restituisce una rappresentazione in formato JSON dell'oggetto, generalmente restituendo una raccolta di proprietà leggibili definite dall'oggetto.

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

Parametri di chiamata:

  • key: Stringa, non utilizzata

Risultati restituiti:

  • Value, restituisce un valore contenente JSON serializzabile