ObjetX509Req
L'objet X509Req est un objet utilisé pour créer des demandes de certificat x509 et appartient àcryptomodule
Vous pouvez créer une instance de X509Req via son constructeur. Dans le constructeur, vous pouvez transmettre des paramètres pour spécifier le nom unique du sujet et la clé publique du certificat, par exemple :
1
2
3
4var crypto = require('crypto');
let pky = crypto.PKey.from(private_pem);
let req = new crypto.X509Req("CN=localhost,O=fibjs", pky);
Vous pouvez utiliser cette instance pour appeler les méthodes et propriétés de sa classe parent afin d'obtenir des informations sur l'objet de demande de certificat, par exemple :
1
2
3
4
5// return the DER format of the certificate request
let derReq = req.der();
// return the PEM format of the certificate request
let pemReq = req.pem();
Vous pouvez également signer l'objet X509Req pour générer un objet de certificat formel, par exemple :
1
2
3
4
5
6
7let opt = {
notBefore: new Date('2019-01-01') // valid from 2019-01-01
,
notAfter: new Date('2029-12-31') // valid to 2029-12-31
};
let crt = req.sign("CN=myy.mkx", pky, opt);
// CN=myy.mkx is the issuer of the certificate
A noter que l'objet X509Req est utilisé pour créer une demande de certificat x509, et non le certificat lui-même. Pour obtenir un certificat valide, il doit être signé. Parallèlement, la clé publique utilisée pour signer le certificat doit être cohérente avec la clé publique utilisée dans la demande de certificat.
relation d'héritage
Constructeur
X509Req
Constructeur X509Req
1new X509Req();
Constructeur X509Req, crée une demande de certificat basée sur les informations fournies
1
2
3new X509Req(String subject,
PKey key,
Integer hash = hash.SHA256);
Paramètres d'appel :
- subject: String, le nom distinctif du sujet du certificat
- key:PKey, la clé publique du certificat
- hash: Nombre entier, algorithme de résumé de certificat, la valeur par défaut esthash.SHA256
Constructeur X509Req, charge une demande de certificat au format DER
1new X509Req(Buffer derReq);
Paramètres d'appel :
- derReq:Buffer, demande de certificat au format DER
Constructeur X509Req, charge une demande de certificat au format PEM
1new X509Req(String pemReq);
Paramètres d'appel :
- pemReq: String, demande de certificat au format DER
propriétés des membres
subject
Chaîne, obtient le nom unique du sujet du certificat
1readonly String X509Req.subject;
publicKey
PKey, récupérez la clé publique du certificat
1readonly PKey X509Req.publicKey;
sig_md
Entier, l'algorithme de résumé pour l'obtention du certificat
1readonly Integer X509Req.sig_md;
sig_pk
Entier, obtient l'algorithme de signature du certificat
1readonly Integer X509Req.sig_pk;
fonction membre
import
Charger une demande de certificat au format DER
1X509Req.import(Buffer derReq);
Paramètres d'appel :
- derReq:Buffer, demande de certificat au format DER
Charger une demande de certificat au format PEM
1X509Req.import(String pemReq);
Paramètres d'appel :
- pemReq: String, demande de certificat au format PEM
pem
Renvoie l'encodage au format PEM de la demande de certificat en cours
1String X509Req.pem();
Résultats de retour :
- String, l'encodage au format PEM de la demande de certificat en cours
der
Renvoie l'encodage au format DER de la demande de certificat en cours
1Buffer X509Req.der();
Résultats de retour :
- Buffer, l'encodage au format DER de la demande de certificat en cours
sign
Signez la demande de certificat actuelle en tant que certificat officiel
1
2
3X509Cert X509Req.sign(String issuer,
PKey key,
Object opts = {}) async;
Paramètres d'appel :
- issuer: String, le nom distinctif de l'autorité signataire
- key:PKey, la clé privée de l'autorité de signature
- opts: Objet, autres paramètres facultatifs
Résultats de retour :
- X509Cert, renvoie le certificat officiel signé
Les champs reçus par opts sont les suivants :
1
2
3
4
5
6
7
8{
ca: false, // specify if the certificate is a CA certificate, default is false
pathlen: -1, // specify the path length of the certificate, default is -1
notBefore: "", // specify the certificate valid from date, default is current date
notAfter: "", // specify the certificate valid to date, default is 365 days after current date
usage: "", // specify the certificate usage, accept: digitalSignature, nonRepudiation, keyEncipherment, dataEncipherment, keyAgreement, keyCertSign, cRLSign
type: "" // specify the certificate Netscape certificate type, accept: client, server, email, objsign, reserved, sslCA, emailCA, objCA
}
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 X509Req.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 X509Req.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