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
4const 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:
1const 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
2var 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
1new X509Cert();
Constructor X509Cert, carga un certificado en formato DER
1new X509Cert(Buffer derCert);
Parámetros de llamada:
- derCert:Buffer, certificado en formato DER
Constructor X509Cert, carga un certificado en formato CRT/PEM
1new 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.
1readonly Integer X509Cert.version;
serial
Cadena, obtenga el número de serie del certificado.
1readonly String X509Cert.serial;
issuer
Cadena, obtiene el nombre distinguido del emisor del certificado.
1readonly String X509Cert.issuer;
subject
Cadena, obtiene el nombre distinguido del sujeto del certificado.
1readonly String X509Cert.subject;
notBefore
Fecha, obtener el tiempo de validez del certificado.
1readonly Date X509Cert.notBefore;
notAfter
Fecha, obtenga la hora de vencimiento del certificado.
1readonly Date X509Cert.notAfter;
ca
Booleano, obtiene si el certificado es un certificado ca.
1readonly Boolean X509Cert.ca;
pathlen
Entero, obtiene la ruta del certificado.
1readonly Integer X509Cert.pathlen;
usage
String, obtiene el alcance de uso del certificado.
1readonly 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
1readonly 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
1readonly Integer X509Cert.sig_md;
sig_pk
Entero, obtiene el algoritmo de firma del certificado.
1readonly Integer X509Cert.sig_pk;
publicKey
PKey, obtenga la clave pública del certificado
1readonly PKey X509Cert.publicKey;
next
X509Cert, obtenga el siguiente certificado en la cadena de certificados
1readonly X509Cert X509Cert.next;
función miembro
import
Cargue un certificado en formato DER, que se puede llamar varias veces
1X509Cert.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
1X509Cert.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
1X509Cert.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
1Boolean 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
1String 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
1Buffer X509Cert.der();
Resultados de devolución:
- Buffer, exporte la cadena de certificados como una matriz
clear
Borrar los certificados cargados
1X509Cert.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.
1String 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.
1Value X509Cert.toJSON(String key = "");
Parámetros de llamada:
- key: Cadena, no utilizada
Resultados de devolución:
- Value, devuelve un valor que contiene JSON serializable