@blamejs/core 0.6.37 → 0.6.58
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +33 -0
- package/README.md +2 -2
- package/lib/audit.js +1 -0
- package/lib/bundler.js +166 -31
- package/lib/i18n-messageformat.js +398 -0
- package/lib/i18n.js +17 -0
- package/lib/log-stream-otlp-grpc.js +413 -0
- package/lib/log-stream.js +8 -0
- package/lib/mail.js +18 -3
- package/lib/mtls-ca.js +155 -0
- package/lib/mtls-engine-default.js +40 -0
- package/lib/object-store/sigv4-bucket-ops.js +639 -39
- package/lib/object-store/sigv4.js +10 -3
- package/lib/protobuf-encoder.js +184 -0
- package/lib/queue-sqs.js +314 -0
- package/lib/queue.js +2 -2
- package/lib/safe-buffer.js +15 -2
- package/lib/totp.js +11 -3
- package/package.json +1 -1
- package/sbom.cyclonedx.json +6 -6
|
@@ -424,10 +424,50 @@ function algorithmEnvelope() {
|
|
|
424
424
|
};
|
|
425
425
|
}
|
|
426
426
|
|
|
427
|
+
// Generate a signed X.509 CRL (RFC 5280) covering every revoked
|
|
428
|
+
// serial number. The vendored peculiar/x509 library exposes
|
|
429
|
+
// X509CrlGenerator.create which builds the TBSCertList, populates
|
|
430
|
+
// the entries, and signs with the CA private key — same signature
|
|
431
|
+
// algorithm the CA itself was issued under (auto-detected via
|
|
432
|
+
// _selectAlgorithm + cached on first issuance).
|
|
433
|
+
async function generateCrl(opts) {
|
|
434
|
+
opts = opts || {};
|
|
435
|
+
if (!opts.caCertPem || !opts.caKeyPem) {
|
|
436
|
+
throw new MtlsEngineError("mtls-engine/missing-arg",
|
|
437
|
+
"generateCrl requires { caCertPem, caKeyPem, revocations, thisUpdate, nextUpdate }");
|
|
438
|
+
}
|
|
439
|
+
var revocations = Array.isArray(opts.revocations) ? opts.revocations : [];
|
|
440
|
+
var alg = await _selectAlgorithm();
|
|
441
|
+
CA_KEY_ALG = alg.keyAlg; CA_SIG_ALG = alg.sigAlg;
|
|
442
|
+
|
|
443
|
+
var caKey = await _importPemPrivateKey(opts.caKeyPem, CA_KEY_ALG, ["sign"]);
|
|
444
|
+
var caCert = _parseCertPem(opts.caCertPem);
|
|
445
|
+
|
|
446
|
+
// X509CrlEntry expects { serialNumber: hex, revocationDate, reason }.
|
|
447
|
+
var entries = revocations.map(function (r) {
|
|
448
|
+
return {
|
|
449
|
+
serialNumber: r.serialNumber,
|
|
450
|
+
revocationDate: new Date(r.revokedAt || Date.now()),
|
|
451
|
+
reason: (typeof r.reasonCode === "number") ? r.reasonCode : 0,
|
|
452
|
+
};
|
|
453
|
+
});
|
|
454
|
+
|
|
455
|
+
var crl = await x509.X509CrlGenerator.create({
|
|
456
|
+
issuer: caCert.subject,
|
|
457
|
+
thisUpdate: opts.thisUpdate || new Date(),
|
|
458
|
+
nextUpdate: opts.nextUpdate,
|
|
459
|
+
entries: entries,
|
|
460
|
+
signingAlgorithm: CA_SIG_ALG,
|
|
461
|
+
signingKey: caKey,
|
|
462
|
+
});
|
|
463
|
+
return crl.toString("pem");
|
|
464
|
+
}
|
|
465
|
+
|
|
427
466
|
module.exports = {
|
|
428
467
|
generateCa: generateCa,
|
|
429
468
|
signClientCert: signClientCert,
|
|
430
469
|
packageP12: packageP12,
|
|
470
|
+
generateCrl: generateCrl,
|
|
431
471
|
algorithmEnvelope: algorithmEnvelope,
|
|
432
472
|
MtlsEngineError: MtlsEngineError,
|
|
433
473
|
};
|