OggettoX509Req
L'oggetto X509Req è un oggetto utilizzato per creare richieste di certificato x509 e appartiene acryptomodulo
È possibile creare un'istanza di X509Req tramite il relativo costruttore. Nel costruttore è possibile passare parametri per specificare il nome distinto dell'oggetto e la chiave pubblica del certificato, ad esempio:
1
2
3
4var crypto = require('crypto');
let pky = crypto.PKey.from(private_pem);
let req = new crypto.X509Req("CN=localhost,O=fibjs", pky);
Puoi utilizzare questa istanza per chiamare i metodi e le proprietà della sua classe genitore per ottenere informazioni sull'oggetto della richiesta di certificato, ad esempio:
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();
Puoi anche firmare l'oggetto X509Req per generare un oggetto certificato formale, ad esempio:
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
Va notato che per creare una richiesta di certificato x509 viene utilizzato l'oggetto X509Req e non il certificato stesso, per ottenere un certificato valido è necessario firmarlo. Allo stesso tempo, la chiave pubblica utilizzata per firmare il certificato deve essere coerente con la chiave pubblica utilizzata nella richiesta di certificato.
rapporto ereditario
Costruttore
X509Req
Costruttore X509Req
1new X509Req();
Costruttore X509Req, crea una richiesta di certificato in base alle informazioni fornite
1
2
3new X509Req(String subject,
PKey key,
Integer hash = hash.SHA256);
Parametri di chiamata:
- subject: String, il nome distinto del soggetto del certificato
- key:PKey, la chiave pubblica del certificato
- hash: Numero intero, algoritmo digest del certificato, il valore predefinito èhash.SHA256
Costruttore X509Req, carica una richiesta di certificato in formato DER
1new X509Req(Buffer derReq);
Parametri di chiamata:
- derReq:Buffer, richiesta di certificato in formato DER
Costruttore X509Req, carica una richiesta di certificato in formato PEM
1new X509Req(String pemReq);
Parametri di chiamata:
- pemReq: Stringa, richiesta di certificato in formato DER
proprietà dei membri
subject
String, ottiene il nome distinto del soggetto del certificato
1readonly String X509Req.subject;
publicKey
PKey, ottieni la chiave pubblica del certificato
1readonly PKey X509Req.publicKey;
sig_md
Intero, l'algoritmo digest per ottenere il certificato
1readonly Integer X509Req.sig_md;
sig_pk
Intero, ottiene l'algoritmo di firma del certificato
1readonly Integer X509Req.sig_pk;
funzione membro
import
Carica una richiesta di certificato in formato DER
1X509Req.import(Buffer derReq);
Parametri di chiamata:
- derReq:Buffer, richiesta di certificato in formato DER
Carica una richiesta di certificato in formato PEM
1X509Req.import(String pemReq);
Parametri di chiamata:
- pemReq: stringa, richiesta di certificato in formato PEM
pem
Restituisce la codifica del formato PEM della richiesta di certificato corrente
1String X509Req.pem();
Risultati restituiti:
- String, la codifica del formato PEM della richiesta di certificato corrente
der
Restituisce la codifica del formato DER della richiesta di certificato corrente
1Buffer X509Req.der();
Risultati restituiti:
- Buffer, la codifica del formato DER della richiesta di certificato corrente
sign
Firma la richiesta di certificato corrente come certificato ufficiale
1
2
3X509Cert X509Req.sign(String issuer,
PKey key,
Object opts = {}) async;
Parametri di chiamata:
- issuer: String, il nome distinto dell'autorità di firma
- key:PKey, la chiave privata dell'autorità di firma
- opts: Oggetto, altri parametri opzionali
Risultati restituiti:
- X509Cert, restituisce il certificato ufficiale firmato
I campi ricevuti da opts sono i seguenti:
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
Restituisce la rappresentazione in formato stringa dell'oggetto. Generalmente viene restituito "[Oggetto nativo]". L'oggetto può essere reimplementato in base alle proprie caratteristiche.
1String X509Req.toString();
Risultati restituiti:
- String, restituisce la rappresentazione di stringa dell'oggetto
toJSON
Restituisce una rappresentazione in formato JSON dell'oggetto, generalmente restituendo una raccolta di proprietà leggibili definite dall'oggetto.
1Value X509Req.toJSON(String key = "");
Parametri di chiamata:
- key: Stringa, non utilizzata
Risultati restituiti:
- Value, restituisce un valore contenente JSON serializzabile