ObjecteX509Req
L'objecte X509Req és un objecte utilitzat per crear sol·licituds de certificat x509 i pertanycryptomòdul
Podeu crear una instància de X509Req mitjançant el seu constructor. Al constructor, podeu passar paràmetres per especificar el nom distingit de l'assumpte i la clau pública del certificat, per 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);
Podeu utilitzar aquesta instància per cridar els mètodes i les propietats de la seva classe principal per obtenir informació sobre l'objecte de sol·licitud de certificat, per 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();
També podeu signar l'objecte X509Req per generar un objecte de certificat formal, per 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
Cal tenir en compte que l'objecte X509Req s'utilitza per crear una sol·licitud de certificat x509, no el certificat en si. Per obtenir un certificat vàlid, cal signar-lo. Al mateix temps, la clau pública utilitzada per signar el certificat ha de ser coherent amb la clau pública utilitzada a la sol·licitud de certificat.
relació hereditària
Constructor
X509Req
Constructor X509Req
1new X509Req();
El constructor X509Req, crea una sol·licitud de certificat basada en la informació proporcionada
1
2
3new X509Req(String subject,
PKey key,
Integer hash = hash.SHA256);
Paràmetres de trucada:
- subject: String, el nom distingit del subjecte del certificat
- key:PKey, la clau pública del certificat
- hash: Enter, algorisme de resum del certificat, el valor predeterminat éshash.SHA256
Constructor X509Req, carrega una sol·licitud de certificat en format DER
1new X509Req(Buffer derReq);
Paràmetres de trucada:
- derReq:Buffer, sol·licitud de certificat en format DER
Constructor X509Req, carrega una sol·licitud de certificat en format PEM
1new X509Req(String pemReq);
Paràmetres de trucada:
- pemReq: Cadena, sol·licitud de certificat en format DER
propietats dels membres
subject
String, obté el nom distingit del subjecte del certificat
1readonly String X509Req.subject;
publicKey
PKey, obteniu la clau pública del certificat
1readonly PKey X509Req.publicKey;
sig_md
Integer, l'algorisme de resum per obtenir el certificat
1readonly Integer X509Req.sig_md;
sig_pk
Enter, obté l'algoritme de signatura del certificat
1readonly Integer X509Req.sig_pk;
funció de membre
import
Carregueu una sol·licitud de certificat en format DER
1X509Req.import(Buffer derReq);
Paràmetres de trucada:
- derReq:Buffer, sol·licitud de certificat en format DER
Carregueu una sol·licitud de certificat en format PEM
1X509Req.import(String pemReq);
Paràmetres de trucada:
- pemReq: Cadena, sol·licitud de certificat en format PEM
pem
Retorna la codificació en format PEM de la sol·licitud de certificat actual
1String X509Req.pem();
Resultats de retorn:
- String, la codificació en format PEM de la sol·licitud de certificat actual
der
Retorna la codificació del format DER de la sol·licitud de certificat actual
1Buffer X509Req.der();
Resultats de retorn:
- Buffer, la codificació del format DER de la sol·licitud de certificat actual
sign
Signa la sol·licitud de certificat actual com a certificat oficial
1
2
3X509Cert X509Req.sign(String issuer,
PKey key,
Object opts = {}) async;
Paràmetres de trucada:
- issuer: String, el nom distingit de l'autoritat de signatura
- key:PKey, la clau privada de l'autoritat de signatura
- opts: Objecte, altres paràmetres opcionals
Resultats de retorn:
- X509Cert, retorna el certificat oficial signat
Els camps rebuts per opts són els següents:
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
Retorna la representació de cadena de l'objecte. En general, es retorna "[Objecte natiu]". L'objecte es pot tornar a implementar segons les seves pròpies característiques.
1String X509Req.toString();
Resultats de retorn:
- String, retorna la representació de cadena de l'objecte
toJSON
Retorna una representació en format JSON de l'objecte, generalment retornant una col·lecció de propietats llegibles definides per l'objecte.
1Value X509Req.toJSON(String key = "");
Paràmetres de trucada:
- key: Corda, no utilitzada
Resultats de retorn:
- Value, retorna un valor que conté JSON serializable