Object-ingebouwd object

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 4
var 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 7
let 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

1
new X509Req();

X509Req-constructor, creëert een certificaatverzoek op basis van de gegeven informatie

1 2 3
new 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

1
new X509Req(Buffer derReq);

Oproepparameters:

  • derReq:Buffer, certificaataanvraag in DER-formaat

X509Req-constructor, laadt een certificaatverzoek in PEM-indeling

1
new X509Req(String pemReq);

Oproepparameters:

  • pemReq: String, certificaataanvraag in DER-formaat

eigenschappen van leden

subject

String, verkrijgt de onderscheidende naam van het certificaat

1
readonly String X509Req.subject;

publicKey

PKey, haal de publieke sleutel van het certificaat op

1
readonly PKey X509Req.publicKey;

sig_md

Integer, het digest-algoritme voor het verkrijgen van het certificaat

1
readonly Integer X509Req.sig_md;

sig_pk

Integer, verkrijgt het handtekeningalgoritme van het certificaat

1
readonly Integer X509Req.sig_pk;

lid functie

import

Laad een certificaataanvraag in DER-formaat

1
X509Req.import(Buffer derReq);

Oproepparameters:

  • derReq:Buffer, certificaataanvraag in DER-formaat

Laad een certificaataanvraag in PEM-indeling

1
X509Req.import(String pemReq);

Oproepparameters:

  • pemReq: String, certificaataanvraag in PEM-formaat

pem

Retourneert de PEM-indelingscodering van de huidige certificaataanvraag

1
String X509Req.pem();

Resultaten retourneren:

  • String, de PEM-indelingscodering van de huidige certificaataanvraag

der

Retourneert de DER-indelingscodering van de huidige certificaataanvraag

1
Buffer X509Req.der();

Resultaten retourneren:

  • Buffer, de DER-formaatcodering van de huidige certificaataanvraag

sign

Onderteken de huidige certificaataanvraag als een officieel certificaat

1 2 3
X509Cert 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.

1
String 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.

1
Value X509Req.toJSON(String key = "");

Oproepparameters:

  • key: Tekenreeks, niet gebruikt

Resultaten retourneren:

  • Value, retourneert een waarde die JSON-serialiseerbaar bevat