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
4const 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 :
1const 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
2var strDate = cert.notBefore.toLocaleTimeString() + " " + cert.notBefore.toLocaleDateString() + " ~ " + cert.notAfter.toLocaleTimeString() + " " + cert.notAfter.toLocaleDateString();
console.log(`证书有效时间: ${strDate}`)
relation d'héritage
Constructeur
X509Cert
Constructeur X509Cert
1new X509Cert();
Constructeur X509Cert, charge un certificat au format DER
1new X509Cert(Buffer derCert);
Paramètres d'appel :
- derCert:Buffer, certificat au format DER
Constructeur X509Cert, charge un certificat au format CRT/PEM
1new 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
1readonly Integer X509Cert.version;
serial
String, récupère le numéro de série du certificat
1readonly String X509Cert.serial;
issuer
String, obtient le nom distinctif de l'émetteur du certificat
1readonly String X509Cert.issuer;
subject
Chaîne, obtient le nom unique du sujet du certificat
1readonly String X509Cert.subject;
notBefore
Date, obtenir l'heure de validité du certificat
1readonly Date X509Cert.notBefore;
notAfter
Date, obtenez l'heure d'expiration du certificat
1readonly Date X509Cert.notAfter;
ca
Booléen, obtient si le certificat est un certificat ca
1readonly Boolean X509Cert.ca;
pathlen
Entier, récupère le chemin du certificat
1readonly Integer X509Cert.pathlen;
usage
String, obtient la portée d'utilisation du certificat
1readonly 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
1readonly 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
1readonly Integer X509Cert.sig_md;
sig_pk
Entier, obtient l'algorithme de signature du certificat
1readonly Integer X509Cert.sig_pk;
publicKey
PKey, récupérez la clé publique du certificat
1readonly PKey X509Cert.publicKey;
next
X509Cert, obtenez le prochain certificat dans la chaîne de certificats
1readonly X509Cert X509Cert.next;
fonction membre
import
Charger un certificat au format DER, appelable plusieurs fois
1X509Cert.import(Buffer derCert);
Paramètres d'appel :
- derCert:Buffer, certificat au format DER
Charger un certificat au format CRT/PEM, appelable plusieurs fois
1X509Cert.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
1X509Cert.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
1Boolean 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
1String 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
1Buffer X509Cert.der();
Résultats de retour :
- Buffer, exportez la chaîne de certificats sous forme de tableau
clear
Effacer les certificats chargés
1X509Cert.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.
1String 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.
1Value 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