ObjectX509Req
Das X509Req-Objekt ist ein Objekt, das zum Erstellen von x509-Zertifikatanforderungen verwendet wird und zu dem gehörtcryptoModul
Sie können eine Instanz von
1
2
3
4var crypto = require('crypto');
let pky = crypto.PKey.from(private_pem);
let req = new crypto.X509Req("CN=localhost,O=fibjs", pky);
Sie können diese Instanz verwenden, um die Methoden und Eigenschaften ihrer übergeordneten Klasse aufzurufen, um Informationen über das Zertifikatanforderungsobjekt zu erhalten, zum Beispiel:
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();
Sie können das X509Req-Objekt auch signieren, um ein formelles Zertifikatsobjekt zu generieren, zum Beispiel:
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
Es ist zu beachten, dass das X509Req-Objekt zum Erstellen einer x509-Zertifikatsanforderung verwendet wird, nicht das Zertifikat selbst. Um ein gültiges Zertifikat zu erhalten, muss es signiert werden. Gleichzeitig muss der zum Signieren des Zertifikats verwendete öffentliche Schlüssel mit dem in der Zertifikatsanforderung verwendeten öffentlichen Schlüssel übereinstimmen.
Erbschaftsverhältnis
Konstrukteur
X509Req
X509Req-Konstruktor
1new X509Req();
Der X509Req-Konstruktor erstellt eine Zertifikatsanforderung basierend auf den angegebenen Informationen
1
2
3new X509Req(String subject,
PKey key,
Integer hash = hash.SHA256);
Aufrufparameter:
- subject: Zeichenfolge, der Distinguished Name des Zertifikats
- key:PKey, der öffentliche Schlüssel des Zertifikats
- hash: Ganzzahl, Zertifikat-Digest-Algorithmus, Standard isthash.SHA256
Der X509Req-Konstruktor lädt eine Zertifikatsanforderung im DER-Format
1new X509Req(Buffer derReq);
Aufrufparameter:
- derReq:Buffer, Zertifikatsanforderung im DER-Format
Der X509Req-Konstruktor lädt eine Zertifikatsanforderung im PEM-Format
1new X509Req(String pemReq);
Aufrufparameter:
- pemReq: String, Zertifikatsanforderung im DER-Format
Mitgliedereigenschaften
subject
Zeichenfolge, ruft den Distinguished Name des Zertifikats ab
1readonly String X509Req.subject;
publicKey
PKey, erhalten Sie den öffentlichen Schlüssel des Zertifikats
1readonly PKey X509Req.publicKey;
sig_md
Ganzzahl, der Digest-Algorithmus zum Erhalten des Zertifikats
1readonly Integer X509Req.sig_md;
sig_pk
Ganzzahl, erhält den Signaturalgorithmus des Zertifikats
1readonly Integer X509Req.sig_pk;
Mitgliedsfunktion
import
Laden Sie eine Zertifikatsanforderung im DER-Format
1X509Req.import(Buffer derReq);
Aufrufparameter:
- derReq:Buffer, Zertifikatsanforderung im DER-Format
Laden Sie eine Zertifikatsanforderung im PEM-Format
1X509Req.import(String pemReq);
Aufrufparameter:
- pemReq: Zeichenfolge, Zertifikatsanforderung im PEM-Format
pem
Gibt die PEM-Formatkodierung der aktuellen Zertifikatsanforderung zurück
1String X509Req.pem();
Rückgabeergebnisse:
- String, die PEM-Formatkodierung der aktuellen Zertifikatsanforderung
der
Gibt die DER-Formatkodierung der aktuellen Zertifikatsanforderung zurück
1Buffer X509Req.der();
Rückgabeergebnisse:
- Buffer, die DER-Formatkodierung der aktuellen Zertifikatsanforderung
sign
Signieren Sie die aktuelle Zertifikatsanfrage als offizielles Zertifikat
1
2
3X509Cert X509Req.sign(String issuer,
PKey key,
Object opts = {}) async;
Aufrufparameter:
- issuer: String, der Distinguished Name der signierenden Behörde
- key:PKey, der private Schlüssel der signierenden Stelle
- opts: Objekt, andere optionale Parameter
Rückgabeergebnisse:
- X509Cert, gibt das signierte offizielle Zertifikat zurück
Die von opts empfangenen Felder lauten wie folgt:
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
Gibt die Zeichenfolgendarstellung des Objekts zurück. Im Allgemeinen wird „[Native Object]“ zurückgegeben. Das Objekt kann gemäß seinen eigenen Eigenschaften neu implementiert werden.
1String X509Req.toString();
Rückgabeergebnisse:
- String, gibt die Zeichenfolgendarstellung des Objekts zurück
toJSON
Gibt eine Darstellung des Objekts im JSON-Format zurück und gibt im Allgemeinen eine Sammlung lesbarer Eigenschaften zurück, die vom Objekt definiert werden.
1Value X509Req.toJSON(String key = "");
Aufrufparameter:
- key: Zeichenfolge, nicht verwendet
Rückgabeergebnisse:
- Value, gibt einen Wert zurück, der JSON serialisierbar enthält