ObjectX509Req
Het X509Req-object is een object dat wordt gebruikt om x509-certificaataanvragen te maken en behoort totcryptomodule
U kunt via de constructor een exemplaar van X509Req maken. In de constructor kunt u parameters doorgeven om de onderscheidende naam van het onderwerp en de openbare sleutel van het certificaat op te geven, bijvoorbeeld:
1
2
3
4var crypto = require('crypto');
let pky = crypto.PKey.from(private_pem);
let req = new crypto.X509Req("CN=localhost,O=fibjs", pky);
U kunt deze instantie gebruiken om de methoden en eigenschappen van de bovenliggende klasse aan te roepen om informatie te verkrijgen over het certificaataanvraagobject, bijvoorbeeld:
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();
U kunt het X509Req-object ook ondertekenen om een formeel certificaatobject te genereren, bijvoorbeeld:
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
Houd er rekening mee dat het X509Req-object wordt gebruikt om een x509-certificaatverzoek aan te maken, en niet het certificaat zelf. Om een geldig certificaat te verkrijgen, moet het worden ondertekend. Tegelijkertijd moet de publieke sleutel die wordt gebruikt om het certificaat te ondertekenen consistent zijn met de publieke sleutel die in de certificaataanvraag wordt gebruikt.
erfenis relatie
Constructeur
X509Req
X509Req-constructor
1new X509Req();
X509Req-constructor, creëert een certificaatverzoek op basis van de gegeven informatie
1
2
3new X509Req(String subject,
PKey key,
Integer hash = hash.SHA256);
Oproepparameters:
- subject: String, de onderscheidende naam van het certificaat
- key:PKey, de publieke sleutel van het certificaat
- hash: geheel getal, algoritme voor certificaatvertering, standaard ishash.SHA256
X509Req-constructor, laadt een certificaatverzoek in DER-indeling
1new X509Req(Buffer derReq);
Oproepparameters:
- derReq:Buffer, certificaataanvraag in DER-formaat
X509Req-constructor, laadt een certificaatverzoek in PEM-indeling
1new X509Req(String pemReq);
Oproepparameters:
- pemReq: String, certificaataanvraag in DER-formaat
eigenschappen van leden
subject
String, verkrijgt de onderscheidende naam van het certificaat
1readonly String X509Req.subject;
publicKey
PKey, haal de publieke sleutel van het certificaat op
1readonly PKey X509Req.publicKey;
sig_md
Integer, het digest-algoritme voor het verkrijgen van het certificaat
1readonly Integer X509Req.sig_md;
sig_pk
Integer, verkrijgt het handtekeningalgoritme van het certificaat
1readonly Integer X509Req.sig_pk;
lid functie
import
Laad een certificaataanvraag in DER-formaat
1X509Req.import(Buffer derReq);
Oproepparameters:
- derReq:Buffer, certificaataanvraag in DER-formaat
Laad een certificaataanvraag in PEM-indeling
1X509Req.import(String pemReq);
Oproepparameters:
- pemReq: String, certificaataanvraag in PEM-formaat
pem
Retourneert de PEM-indelingscodering van de huidige certificaataanvraag
1String X509Req.pem();
Resultaten retourneren:
- String, de PEM-indelingscodering van de huidige certificaataanvraag
der
Retourneert de DER-indelingscodering van de huidige certificaataanvraag
1Buffer X509Req.der();
Resultaten retourneren:
- Buffer, de DER-formaatcodering van de huidige certificaataanvraag
sign
Onderteken de huidige certificaataanvraag als een officieel certificaat
1
2
3X509Cert X509Req.sign(String issuer,
PKey key,
Object opts = {}) async;
Oproepparameters:
- issuer: String, de onderscheidende naam van de ondertekenende autoriteit
- key:PKey, de privésleutel van de ondertekenautoriteit
- opts: Object, andere optionele parameters
Resultaten retourneren:
- X509Cert, retourneert het ondertekende officiële certificaat
De velden die door opts worden ontvangen, zijn als volgt:
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
Retourneert de tekenreeksweergave van het object. Over het algemeen wordt '[Native Object]' geretourneerd. Het object kan opnieuw worden geïmplementeerd op basis van zijn eigen kenmerken.
1String X509Req.toString();
Resultaten retourneren:
- String, retourneert de tekenreeksrepresentatie van het object
toJSON
Retourneert een weergave in JSON-indeling van het object, waarbij doorgaans een verzameling leesbare eigenschappen wordt geretourneerd die door het object zijn gedefinieerd.
1Value X509Req.toJSON(String key = "");
Oproepparameters:
- key: Tekenreeks, niet gebruikt
Resultaten retourneren:
- Value, retourneert een waarde die JSON-serialiseerbaar bevat