ObxectoX509Req
O obxecto X509Req é un obxecto usado para crear solicitudes de certificados x509 e ao que pertencecryptomódulo
Podes crear unha instancia de X509Req a través do seu construtor. No constructor, podes pasar parámetros para especificar o nome distintivo do asunto e a chave pública do certificado, por exemplo:
1
2
3
4var crypto = require('crypto');
let pky = crypto.PKey.from(private_pem);
let req = new crypto.X509Req("CN=localhost,O=fibjs", pky);
Podes usar esta instancia para chamar aos métodos e propiedades da súa clase pai para obter información sobre o obxecto de solicitude de certificado, por exemplo:
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();
Tamén pode asinar o obxecto X509Req para xerar un obxecto de certificado formal, por exemplo:
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
Nótese que o obxecto X509Req úsase para crear unha solicitude de certificado x509, non o propio certificado. Para obter un certificado válido, é necesario asinalo. Ao mesmo tempo, a clave pública utilizada para asinar o certificado debe ser coherente coa clave pública utilizada na solicitude de certificado.
relación de herdanza
Construtor
X509Req
Construtor X509Req
1new X509Req();
Construtor X509Req, crea unha solicitude de certificado baseada na información proporcionada
1
2
3new X509Req(String subject,
PKey key,
Integer hash = hash.SHA256);
Parámetros de chamada:
- subject: String, o nome distintivo do asunto do certificado
- key:PKey, a clave pública do certificado
- hash: Enteiro, algoritmo de resumo do certificado, o valor predeterminado éhash.SHA256
Construtor X509Req, carga unha solicitude de certificado en formato DER
1new X509Req(Buffer derReq);
Parámetros de chamada:
- derReq:Buffer, solicitude de certificado en formato DER
Construtor X509Req, carga unha solicitude de certificado en formato PEM
1new X509Req(String pemReq);
Parámetros de chamada:
- pemReq: Cadena, solicitude de certificado en formato DER
propiedades dos membros
subject
String, obtén o nome distintivo do asunto do certificado
1readonly String X509Req.subject;
publicKey
PKey, obtén a clave pública do certificado
1readonly PKey X509Req.publicKey;
sig_md
Enteiro, o algoritmo de resumo para obter o certificado
1readonly Integer X509Req.sig_md;
sig_pk
Enteiro, obtén o algoritmo de sinatura do certificado
1readonly Integer X509Req.sig_pk;
función de membro
import
Cargue unha solicitude de certificado en formato DER
1X509Req.import(Buffer derReq);
Parámetros de chamada:
- derReq:Buffer, solicitude de certificado en formato DER
Cargue unha solicitude de certificado en formato PEM
1X509Req.import(String pemReq);
Parámetros de chamada:
- pemReq: Cadena, solicitude de certificado en formato PEM
pem
Devolve a codificación do formato PEM da solicitude de certificado actual
1String X509Req.pem();
Resultados de devolución:
- String, a codificación do formato PEM da solicitude de certificado actual
der
Devolve a codificación do formato DER da solicitude de certificado actual
1Buffer X509Req.der();
Resultados de devolución:
- Buffer, a codificación do formato DER da solicitude de certificado actual
sign
Asina a solicitude de certificado actual como certificado oficial
1
2
3X509Cert X509Req.sign(String issuer,
PKey key,
Object opts = {}) async;
Parámetros de chamada:
- issuer: String, o nome distinguido da autoridade de sinatura
- key:PKey, a clave privada da autoridade de sinatura
- opts: Obxecto, outros parámetros opcionais
Resultados de devolución:
- X509Cert, devolve o certificado oficial asinado
Os campos recibidos por opts son os seguintes:
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
Devolve a representación en cadea do obxecto. Polo xeral, devólvese "[Obxecto nativo]". O obxecto pódese volver implementar segundo as súas propias características.
1String X509Req.toString();
Resultados de devolución:
- String, devolve a representación en cadea do obxecto
toJSON
Devolve unha representación en formato JSON do obxecto, devolvendo xeralmente unha colección de propiedades lexibles definidas polo obxecto.
1Value X509Req.toJSON(String key = "");
Parámetros de chamada:
- key: Cadena, non usada
Resultados de devolución:
- Value, devolve un valor que contén JSON serializable