Objet objet intégré

ObjetX509Cert

X509Cert OuicryptoL'objet représentant le certificat x509 dans le module. Cet objet comprend principalement des informations de certificat et des méthodes construites à partir de données de certificat au format DER ou PEM et de données de chaîne de certificat. Il peut effectuer des opérations telles que l'analyse et la vérification de certificat.

Grâce à l'objet X509Cert, vous pouvez obtenir le nom du sujet du certificat, le nom de l'émetteur, l'heure de passage, l'heure d'expiration, la vérification ca et d'autres informations. Vous pouvez également exporter l'encodage DER du certificat, obtenir la clé publique du certificat, l'algorithme de signature et d'autres informations. .

Si vous souhaitez charger un certificat, vous pouvez utiliser le code suivant pour créer un objet X509Cert à partir des données du certificat au format DER/PEM :

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

Bien entendu, l'objet X509Cert fournit également une méthode pour importer directement le certificat :

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

Vous pouvez ensuite effectuer diverses opérations de certificat via cert, comme l'obtention de la durée de validité du certificat :

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

relation d'héritage

Constructeur

X509Cert

Constructeur X509Cert

1
new X509Cert();

Constructeur X509Cert, charge un certificat au format DER

1
new X509Cert(Buffer derCert);

Paramètres d'appel :

  • derCert:Buffer, certificat au format DER

Constructeur X509Cert, charge un certificat au format CRT/PEM

1
new X509Cert(String txtCert);

Paramètres d'appel :

  • txtCert: Chaîne, certificat au format CRT/PEM

propriétés des membres

version

Entier, récupère la version du certificat

1
readonly Integer X509Cert.version;

serial

String, récupère le numéro de série du certificat

1
readonly String X509Cert.serial;

issuer

String, obtient le nom distinctif de l'émetteur du certificat

1
readonly String X509Cert.issuer;

subject

Chaîne, obtient le nom unique du sujet du certificat

1
readonly String X509Cert.subject;

notBefore

Date, obtenir l'heure de validité du certificat

1
readonly Date X509Cert.notBefore;

notAfter

Date, obtenez l'heure d'expiration du certificat

1
readonly Date X509Cert.notAfter;

ca

Booléen, obtient si le certificat est un certificat ca

1
readonly Boolean X509Cert.ca;

pathlen

Entier, récupère le chemin du certificat

1
readonly Integer X509Cert.pathlen;

usage

String, obtient la portée d'utilisation du certificat

1
readonly String X509Cert.usage;

Le résultat est tout ou partie des éléments suivants : digitalSignature, nonRepudiation, keyEncipherment, dataEncipherment, keyAgreement, keyCertSign, cRLSign


type

Chaîne, type de certificat Netscape pour obtenir le certificat

1
readonly String X509Cert.type;

Le résultat est tout ou partie des éléments suivants : client, serveur, email, objsign, réservé, sslCA, emailCA, objCA


sig_md

Entier, l'algorithme de résumé pour l'obtention du certificat

1
readonly Integer X509Cert.sig_md;

sig_pk

Entier, obtient l'algorithme de signature du certificat

1
readonly Integer X509Cert.sig_pk;

publicKey

PKey, récupérez la clé publique du certificat

1
readonly PKey X509Cert.publicKey;

next

X509Cert, obtenez le prochain certificat dans la chaîne de certificats

1
readonly X509Cert X509Cert.next;

fonction membre

import

Charger un certificat au format DER, appelable plusieurs fois

1
X509Cert.import(Buffer derCert);

Paramètres d'appel :

  • derCert:Buffer, certificat au format DER

Charger un certificat au format CRT/PEM, appelable plusieurs fois

1
X509Cert.import(String txtCert);

Paramètres d'appel :

  • txtCert: Chaîne, certificat au format CRT/PEM

loadRootCerts

Chargez le certificat racine par défaut qui l'accompagne

1
X509Cert.loadRootCerts();

Le contenu de ce certificat provient de : http://hg.mozilla.org/releases/mozilla-release/raw-file/default/security/nss/lib/ckfw/builtins/certdata.txt


verify

Vérifiez le certificat donné à l'aide de la chaîne de certificats actuelle

1
Boolean X509Cert.verify(X509Cert cert) async;

Paramètres d'appel :

  • cert: X509Cert, étant donné le certificat à vérifier

Résultats de retour :

  • Boolean, renvoie True si la vérification réussit

pem

Exporter le certificat chargé au format PEM

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

Paramètres d'appel :

  • all: Booléen, spécifie s'il faut afficher tous les certificats, la valeur par défaut est vraie

Résultats de retour :

  • String, exportez la chaîne de certificats sous forme de tableau

der

Exporter le certificat chargé au format DER

1
Buffer X509Cert.der();

Résultats de retour :

  • Buffer, exportez la chaîne de certificats sous forme de tableau

clear

Effacer les certificats chargés

1
X509Cert.clear();

toString

Renvoie la représentation sous forme de chaîne de l'objet. Généralement, "[Native Object]" est renvoyé. L'objet peut être réimplémenté en fonction de ses propres caractéristiques.

1
String X509Cert.toString();

Résultats de retour :

  • String, renvoie la représentation sous forme de chaîne de l'objet

toJSON

Renvoie une représentation au format JSON de l'objet, renvoyant généralement une collection de propriétés lisibles définies par l'objet.

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

Paramètres d'appel :

  • key: Chaîne, non utilisée

Résultats de retour :

  • Value, renvoie une valeur contenant du JSON sérialisable