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
4const 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:
1const 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
2var strDate = cert.notBefore.toLocaleTimeString() + " " + cert.notBefore.toLocaleDateString() + " ~ " + cert.notAfter.toLocaleTimeString() + " " + cert.notAfter.toLocaleDateString();
console.log(`证书有效时间: ${strDate}`)
relación de herdanza
Construtor
X509Cert
Construtor X509Cert
1new X509Cert();
Construtor X509Cert, carga un certificado de formato DER
1new X509Cert(Buffer derCert);
Parámetros de chamada:
- derCert:Buffer, certificado en formato DER
Construtor X509Cert, carga un certificado en formato CRT/PEM
1new 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
1readonly Integer X509Cert.version;
serial
String, obtén o número de serie do certificado
1readonly String X509Cert.serial;
issuer
String, Obtén o nome distinguido do emisor do certificado
1readonly String X509Cert.issuer;
subject
String, obtén o nome distintivo do asunto do certificado
1readonly String X509Cert.subject;
notBefore
Data, obter o tempo de validez do certificado
1readonly Date X509Cert.notBefore;
notAfter
Data, obtén a data de caducidade do certificado
1readonly Date X509Cert.notAfter;
ca
Booleano, obtén se o certificado é un certificado ca
1readonly Boolean X509Cert.ca;
pathlen
Enteiro, obtén a ruta do certificado
1readonly Integer X509Cert.pathlen;
usage
String, obtén o ámbito de uso do certificado
1readonly 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
1readonly 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
1readonly Integer X509Cert.sig_md;
sig_pk
Enteiro, obtén o algoritmo de sinatura do certificado
1readonly Integer X509Cert.sig_pk;
publicKey
PKey, obtén a clave pública do certificado
1readonly PKey X509Cert.publicKey;
next
X509Cert, obtén o seguinte certificado da cadea de certificados
1readonly X509Cert X509Cert.next;
función de membro
import
Carga un certificado en formato DER, que se pode chamar varias veces
1X509Cert.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
1X509Cert.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
1X509Cert.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
1Boolean 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
1String 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
1Buffer X509Cert.der();
Resultados de devolución:
- Buffer, exporte a cadea de certificados como unha matriz
clear
Borrar os certificados cargados
1X509Cert.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.
1String 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.
1Value 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