@naylence/advanced-security 0.3.5-test.0 → 0.3.5-test.102
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/dist/browser/index.js +13412 -13006
- package/dist/browser/index.js.map +1 -1
- package/dist/cjs/browser.js +14 -28
- package/dist/cjs/browser.js.map +1 -1
- package/dist/cjs/index.js +5 -6
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/naylence/fame/factory-manifest.js +15 -4
- package/dist/cjs/naylence/fame/factory-manifest.js.map +1 -1
- package/dist/cjs/naylence/fame/security/cert/browser-csr.js +103 -0
- package/dist/cjs/naylence/fame/security/cert/browser-csr.js.map +1 -0
- package/dist/cjs/naylence/fame/security/cert/ca-service-client.js +340 -39
- package/dist/cjs/naylence/fame/security/cert/ca-service-client.js.map +1 -1
- package/dist/cjs/naylence/fame/security/cert/ca-service-factory.js +7 -11
- package/dist/cjs/naylence/fame/security/cert/ca-service-factory.js.map +1 -1
- package/dist/cjs/naylence/fame/security/cert/ca-types.js +10 -7
- package/dist/cjs/naylence/fame/security/cert/ca-types.js.map +1 -1
- package/dist/cjs/naylence/fame/security/cert/csr-types.js +2 -0
- package/dist/cjs/naylence/fame/security/cert/csr-types.js.map +1 -0
- package/dist/cjs/naylence/fame/security/cert/default-ca-service-factory.js +6 -10
- package/dist/cjs/naylence/fame/security/cert/default-ca-service-factory.js.map +1 -1
- package/dist/cjs/naylence/fame/security/cert/default-ca-service.js +130 -66
- package/dist/cjs/naylence/fame/security/cert/default-ca-service.js.map +1 -1
- package/dist/cjs/naylence/fame/security/cert/default-certificate-manager-factory.js +12 -16
- package/dist/cjs/naylence/fame/security/cert/default-certificate-manager-factory.js.map +1 -1
- package/dist/cjs/naylence/fame/security/cert/default-certificate-manager.js +261 -103
- package/dist/cjs/naylence/fame/security/cert/default-certificate-manager.js.map +1 -1
- package/dist/cjs/naylence/fame/security/cert/grants.js +1 -4
- package/dist/cjs/naylence/fame/security/cert/grants.js.map +1 -1
- package/dist/cjs/naylence/fame/security/cert/index.js +13 -50
- package/dist/cjs/naylence/fame/security/cert/index.js.map +1 -1
- package/dist/cjs/naylence/fame/security/cert/internal-ca-service.js +77 -123
- package/dist/cjs/naylence/fame/security/cert/internal-ca-service.js.map +1 -1
- package/dist/cjs/naylence/fame/security/cert/node-ed25519-csr.js +156 -0
- package/dist/cjs/naylence/fame/security/cert/node-ed25519-csr.js.map +1 -0
- package/dist/cjs/naylence/fame/security/cert/oid-constants.js +7 -0
- package/dist/cjs/naylence/fame/security/cert/oid-constants.js.map +1 -0
- package/dist/cjs/naylence/fame/security/cert/trust-store/anchor-utils.js +119 -0
- package/dist/cjs/naylence/fame/security/cert/trust-store/anchor-utils.js.map +1 -0
- package/dist/cjs/naylence/fame/security/cert/trust-store/env-provider.js +123 -0
- package/dist/cjs/naylence/fame/security/cert/trust-store/env-provider.js.map +1 -0
- package/dist/cjs/naylence/fame/security/cert/trust-store/fame-ca-certs-parser.js +220 -0
- package/dist/cjs/naylence/fame/security/cert/trust-store/fame-ca-certs-parser.js.map +1 -0
- package/dist/cjs/naylence/fame/security/cert/trust-store/http-bundle-provider.js +411 -0
- package/dist/cjs/naylence/fame/security/cert/trust-store/http-bundle-provider.js.map +1 -0
- package/dist/cjs/naylence/fame/security/cert/trust-store/http-signed-bundle-provider.js +2 -0
- package/dist/cjs/naylence/fame/security/cert/trust-store/http-signed-bundle-provider.js.map +1 -0
- package/dist/cjs/naylence/fame/security/cert/trust-store/static-bundle-provider.js +37 -0
- package/dist/cjs/naylence/fame/security/cert/trust-store/static-bundle-provider.js.map +1 -0
- package/dist/cjs/naylence/fame/security/cert/trust-store/trust-store-provider.js +2 -0
- package/dist/cjs/naylence/fame/security/cert/trust-store/trust-store-provider.js.map +1 -0
- package/dist/cjs/naylence/fame/security/cert/util.js +25 -30
- package/dist/cjs/naylence/fame/security/cert/util.js.map +1 -1
- package/dist/cjs/naylence/fame/security/encryption/channel/channel-encryption-manager-factory.js +10 -14
- package/dist/cjs/naylence/fame/security/encryption/channel/channel-encryption-manager-factory.js.map +1 -1
- package/dist/cjs/naylence/fame/security/encryption/channel/channel-encryption-manager.js +32 -36
- package/dist/cjs/naylence/fame/security/encryption/channel/channel-encryption-manager.js.map +1 -1
- package/dist/cjs/naylence/fame/security/encryption/channel/index.js +2 -7
- package/dist/cjs/naylence/fame/security/encryption/channel/index.js.map +1 -1
- package/dist/cjs/naylence/fame/security/encryption/composite-encryption-manager-factory.js +10 -14
- package/dist/cjs/naylence/fame/security/encryption/composite-encryption-manager-factory.js.map +1 -1
- package/dist/cjs/naylence/fame/security/encryption/composite-encryption-manager.js +7 -11
- package/dist/cjs/naylence/fame/security/encryption/composite-encryption-manager.js.map +1 -1
- package/dist/cjs/naylence/fame/security/encryption/default-secure-channel-manager-factory.js +7 -11
- package/dist/cjs/naylence/fame/security/encryption/default-secure-channel-manager-factory.js.map +1 -1
- package/dist/cjs/naylence/fame/security/encryption/default-secure-channel-manager.js +19 -23
- package/dist/cjs/naylence/fame/security/encryption/default-secure-channel-manager.js.map +1 -1
- package/dist/cjs/naylence/fame/security/encryption/encryption-manager-registry.js +9 -15
- package/dist/cjs/naylence/fame/security/encryption/encryption-manager-registry.js.map +1 -1
- package/dist/cjs/naylence/fame/security/encryption/index.js +6 -15
- package/dist/cjs/naylence/fame/security/encryption/index.js.map +1 -1
- package/dist/cjs/naylence/fame/security/encryption/sealed/index.js +2 -7
- package/dist/cjs/naylence/fame/security/encryption/sealed/index.js.map +1 -1
- package/dist/cjs/naylence/fame/security/encryption/sealed/x25519-encryption-manager-factory.js +8 -12
- package/dist/cjs/naylence/fame/security/encryption/sealed/x25519-encryption-manager-factory.js.map +1 -1
- package/dist/cjs/naylence/fame/security/encryption/sealed/x25519-encryption-manager.js +26 -30
- package/dist/cjs/naylence/fame/security/encryption/sealed/x25519-encryption-manager.js.map +1 -1
- package/dist/cjs/naylence/fame/security/index.js +5 -10
- package/dist/cjs/naylence/fame/security/index.js.map +1 -1
- package/dist/cjs/naylence/fame/security/keys/index.js +2 -8
- package/dist/cjs/naylence/fame/security/keys/index.js.map +1 -1
- package/dist/cjs/naylence/fame/security/keys/x5c-key-manager-factory.js +9 -13
- package/dist/cjs/naylence/fame/security/keys/x5c-key-manager-factory.js.map +1 -1
- package/dist/cjs/naylence/fame/security/keys/x5c-key-manager.js +16 -52
- package/dist/cjs/naylence/fame/security/keys/x5c-key-manager.js.map +1 -1
- package/dist/cjs/naylence/fame/security/register-advanced-security-factories.js +8 -44
- package/dist/cjs/naylence/fame/security/register-advanced-security-factories.js.map +1 -1
- package/dist/cjs/naylence/fame/security/signing/eddsa-envelope-signer-factory.js +6 -43
- package/dist/cjs/naylence/fame/security/signing/eddsa-envelope-signer-factory.js.map +1 -1
- package/dist/cjs/naylence/fame/security/signing/eddsa-envelope-verifier-factory.js +8 -12
- package/dist/cjs/naylence/fame/security/signing/eddsa-envelope-verifier-factory.js.map +1 -1
- package/dist/cjs/naylence/fame/security/signing/eddsa-envelope-verifier.js +33 -70
- package/dist/cjs/naylence/fame/security/signing/eddsa-envelope-verifier.js.map +1 -1
- package/dist/cjs/naylence/fame/stickiness/aft-helper.js +8 -13
- package/dist/cjs/naylence/fame/stickiness/aft-helper.js.map +1 -1
- package/dist/cjs/naylence/fame/stickiness/aft-load-balancer-stickiness-manager-factory.js +12 -16
- package/dist/cjs/naylence/fame/stickiness/aft-load-balancer-stickiness-manager-factory.js.map +1 -1
- package/dist/cjs/naylence/fame/stickiness/aft-load-balancer-stickiness-manager.js +10 -14
- package/dist/cjs/naylence/fame/stickiness/aft-load-balancer-stickiness-manager.js.map +1 -1
- package/dist/cjs/naylence/fame/stickiness/aft-model.js +6 -14
- package/dist/cjs/naylence/fame/stickiness/aft-model.js.map +1 -1
- package/dist/cjs/naylence/fame/stickiness/aft-replica-stickiness-manager-factory.js +12 -16
- package/dist/cjs/naylence/fame/stickiness/aft-replica-stickiness-manager-factory.js.map +1 -1
- package/dist/cjs/naylence/fame/stickiness/aft-replica-stickiness-manager.js +13 -18
- package/dist/cjs/naylence/fame/stickiness/aft-replica-stickiness-manager.js.map +1 -1
- package/dist/cjs/naylence/fame/stickiness/aft-signer.js +23 -30
- package/dist/cjs/naylence/fame/stickiness/aft-signer.js.map +1 -1
- package/dist/cjs/naylence/fame/stickiness/aft-utils.js +3 -8
- package/dist/cjs/naylence/fame/stickiness/aft-utils.js.map +1 -1
- package/dist/cjs/naylence/fame/stickiness/aft-verifier.js +21 -28
- package/dist/cjs/naylence/fame/stickiness/aft-verifier.js.map +1 -1
- package/dist/cjs/naylence/fame/stickiness/index.js +10 -39
- package/dist/cjs/naylence/fame/stickiness/index.js.map +1 -1
- package/dist/cjs/naylence/fame/stickiness/stickiness-mode.js +3 -7
- package/dist/cjs/naylence/fame/stickiness/stickiness-mode.js.map +1 -1
- package/dist/cjs/naylence/fame/welcome/advanced-welcome-service-factory.js +14 -18
- package/dist/cjs/naylence/fame/welcome/advanced-welcome-service-factory.js.map +1 -1
- package/dist/cjs/naylence/fame/welcome/advanced-welcome-service.js +14 -18
- package/dist/cjs/naylence/fame/welcome/advanced-welcome-service.js.map +1 -1
- package/dist/cjs/naylence/fame/welcome/index.js +2 -8
- package/dist/cjs/naylence/fame/welcome/index.js.map +1 -1
- package/dist/cjs/plugin.js +8 -10
- package/dist/cjs/plugin.js.map +1 -1
- package/dist/cjs/version.js +8 -0
- package/dist/cjs/version.js.map +1 -0
- package/dist/esm/browser.js +3 -0
- package/dist/esm/browser.js.map +1 -1
- package/dist/esm/index.js +2 -0
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/naylence/fame/factory-manifest.js +14 -0
- package/dist/esm/naylence/fame/factory-manifest.js.map +1 -1
- package/dist/esm/naylence/fame/security/cert/browser-csr.js +103 -0
- package/dist/esm/naylence/fame/security/cert/browser-csr.js.map +1 -0
- package/dist/esm/naylence/fame/security/cert/ca-server.js +35 -0
- package/dist/esm/naylence/fame/security/cert/ca-server.js.map +1 -1
- package/dist/esm/naylence/fame/security/cert/ca-service-client.js +331 -24
- package/dist/esm/naylence/fame/security/cert/ca-service-client.js.map +1 -1
- package/dist/esm/naylence/fame/security/cert/ca-types.js +8 -0
- package/dist/esm/naylence/fame/security/cert/ca-types.js.map +1 -1
- package/dist/esm/naylence/fame/security/cert/csr-types.js +2 -0
- package/dist/esm/naylence/fame/security/cert/csr-types.js.map +1 -0
- package/dist/esm/naylence/fame/security/cert/default-ca-service.js +102 -1
- package/dist/esm/naylence/fame/security/cert/default-ca-service.js.map +1 -1
- package/dist/esm/naylence/fame/security/cert/default-certificate-manager-factory.js +2 -2
- package/dist/esm/naylence/fame/security/cert/default-certificate-manager-factory.js.map +1 -1
- package/dist/esm/naylence/fame/security/cert/default-certificate-manager.js +239 -44
- package/dist/esm/naylence/fame/security/cert/default-certificate-manager.js.map +1 -1
- package/dist/esm/naylence/fame/security/cert/index.js +4 -1
- package/dist/esm/naylence/fame/security/cert/index.js.map +1 -1
- package/dist/esm/naylence/fame/security/cert/internal-ca-service.js +3 -6
- package/dist/esm/naylence/fame/security/cert/internal-ca-service.js.map +1 -1
- package/dist/esm/naylence/fame/security/cert/node-ed25519-csr.js +156 -0
- package/dist/esm/naylence/fame/security/cert/node-ed25519-csr.js.map +1 -0
- package/dist/esm/naylence/fame/security/cert/oid-constants.js +7 -0
- package/dist/esm/naylence/fame/security/cert/oid-constants.js.map +1 -0
- package/dist/esm/naylence/fame/security/cert/trust-store/anchor-utils.js +119 -0
- package/dist/esm/naylence/fame/security/cert/trust-store/anchor-utils.js.map +1 -0
- package/dist/esm/naylence/fame/security/cert/trust-store/env-provider.js +123 -0
- package/dist/esm/naylence/fame/security/cert/trust-store/env-provider.js.map +1 -0
- package/dist/esm/naylence/fame/security/cert/trust-store/fame-ca-certs-parser.js +220 -0
- package/dist/esm/naylence/fame/security/cert/trust-store/fame-ca-certs-parser.js.map +1 -0
- package/dist/esm/naylence/fame/security/cert/trust-store/http-bundle-provider.js +411 -0
- package/dist/esm/naylence/fame/security/cert/trust-store/http-bundle-provider.js.map +1 -0
- package/dist/esm/naylence/fame/security/cert/trust-store/http-signed-bundle-provider.js +2 -0
- package/dist/esm/naylence/fame/security/cert/trust-store/http-signed-bundle-provider.js.map +1 -0
- package/dist/esm/naylence/fame/security/cert/trust-store/static-bundle-provider.js +37 -0
- package/dist/esm/naylence/fame/security/cert/trust-store/static-bundle-provider.js.map +1 -0
- package/dist/esm/naylence/fame/security/cert/trust-store/trust-store-provider.js +2 -0
- package/dist/esm/naylence/fame/security/cert/trust-store/trust-store-provider.js.map +1 -0
- package/dist/esm/naylence/fame/security/cert/util.js +2 -3
- package/dist/esm/naylence/fame/security/cert/util.js.map +1 -1
- package/dist/esm/plugin.js +2 -0
- package/dist/esm/plugin.js.map +1 -1
- package/dist/esm/version.js +8 -0
- package/dist/esm/version.js.map +1 -0
- package/dist/types/browser.d.ts +3 -0
- package/dist/types/browser.d.ts.map +1 -1
- package/dist/types/index.d.ts +1 -0
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/naylence/fame/factory-manifest.d.ts +2 -0
- package/dist/types/naylence/fame/factory-manifest.d.ts.map +1 -1
- package/dist/types/naylence/fame/security/cert/browser-csr.d.ts +9 -0
- package/dist/types/naylence/fame/security/cert/browser-csr.d.ts.map +1 -0
- package/dist/types/naylence/fame/security/cert/ca-server.d.ts.map +1 -1
- package/dist/types/naylence/fame/security/cert/ca-service-client.d.ts.map +1 -1
- package/dist/types/naylence/fame/security/cert/ca-types.d.ts +32 -0
- package/dist/types/naylence/fame/security/cert/ca-types.d.ts.map +1 -1
- package/dist/types/naylence/fame/security/cert/csr-types.d.ts +5 -0
- package/dist/types/naylence/fame/security/cert/csr-types.d.ts.map +1 -0
- package/dist/types/naylence/fame/security/cert/default-ca-service.d.ts +2 -1
- package/dist/types/naylence/fame/security/cert/default-ca-service.d.ts.map +1 -1
- package/dist/types/naylence/fame/security/cert/default-certificate-manager-factory.d.ts +3 -3
- package/dist/types/naylence/fame/security/cert/default-certificate-manager-factory.d.ts.map +1 -1
- package/dist/types/naylence/fame/security/cert/default-certificate-manager.d.ts +32 -0
- package/dist/types/naylence/fame/security/cert/default-certificate-manager.d.ts.map +1 -1
- package/dist/types/naylence/fame/security/cert/index.d.ts +5 -1
- package/dist/types/naylence/fame/security/cert/index.d.ts.map +1 -1
- package/dist/types/naylence/fame/security/cert/internal-ca-service.d.ts +0 -3
- package/dist/types/naylence/fame/security/cert/internal-ca-service.d.ts.map +1 -1
- package/dist/types/naylence/fame/security/cert/node-ed25519-csr.d.ts +9 -0
- package/dist/types/naylence/fame/security/cert/node-ed25519-csr.d.ts.map +1 -0
- package/dist/types/naylence/fame/security/cert/oid-constants.d.ts +7 -0
- package/dist/types/naylence/fame/security/cert/oid-constants.d.ts.map +1 -0
- package/dist/types/naylence/fame/security/cert/trust-store/anchor-utils.d.ts +12 -0
- package/dist/types/naylence/fame/security/cert/trust-store/anchor-utils.d.ts.map +1 -0
- package/dist/types/naylence/fame/security/cert/trust-store/env-provider.d.ts +7 -0
- package/dist/types/naylence/fame/security/cert/trust-store/env-provider.d.ts.map +1 -0
- package/dist/types/naylence/fame/security/cert/trust-store/fame-ca-certs-parser.d.ts +9 -0
- package/dist/types/naylence/fame/security/cert/trust-store/fame-ca-certs-parser.d.ts.map +1 -0
- package/dist/types/naylence/fame/security/cert/trust-store/http-bundle-provider.d.ts +31 -0
- package/dist/types/naylence/fame/security/cert/trust-store/http-bundle-provider.d.ts.map +1 -0
- package/dist/types/naylence/fame/security/cert/trust-store/http-signed-bundle-provider.d.ts +2 -0
- package/dist/types/naylence/fame/security/cert/trust-store/http-signed-bundle-provider.d.ts.map +1 -0
- package/dist/types/naylence/fame/security/cert/trust-store/static-bundle-provider.d.ts +13 -0
- package/dist/types/naylence/fame/security/cert/trust-store/static-bundle-provider.d.ts.map +1 -0
- package/dist/types/naylence/fame/security/cert/trust-store/trust-store-provider.d.ts +37 -0
- package/dist/types/naylence/fame/security/cert/trust-store/trust-store-provider.d.ts.map +1 -0
- package/dist/types/naylence/fame/security/cert/util.d.ts.map +1 -1
- package/dist/types/plugin.d.ts.map +1 -1
- package/dist/types/version.d.ts +6 -0
- package/dist/types/version.d.ts.map +1 -0
- package/package.json +11 -7
|
@@ -1,14 +1,13 @@
|
|
|
1
|
-
"use strict";
|
|
2
1
|
/**
|
|
3
2
|
* Certificate client for requesting certificates from a CA signing service.
|
|
4
3
|
*
|
|
5
4
|
* Provides async HTTP client to request certificates from the CA signing service.
|
|
6
5
|
*/
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
6
|
+
import { AsnConvert } from "@peculiar/asn1-schema";
|
|
7
|
+
import { Certificate, SubjectAlternativeName } from "@peculiar/asn1-x509";
|
|
8
|
+
import { X509Certificate } from "@peculiar/x509";
|
|
9
|
+
import { CertificateRequestError } from "./ca-types.js";
|
|
10
|
+
import { LOGICALS_OID, NODE_ID_OID, SID_OID } from "./oid-constants.js";
|
|
12
11
|
// Simple logger for now - TODO: integrate with runtime logging
|
|
13
12
|
const logger = {
|
|
14
13
|
debug: (_event, _meta) => {
|
|
@@ -18,7 +17,7 @@ const logger = {
|
|
|
18
17
|
console.error(`[ERROR] ${_event}`, _meta);
|
|
19
18
|
},
|
|
20
19
|
};
|
|
21
|
-
|
|
20
|
+
export const ENV_VAR_FAME_CA_SERVICE_URL = "FAME_CA_SERVICE_URL";
|
|
22
21
|
/**
|
|
23
22
|
* Extract certificate information from a PEM certificate.
|
|
24
23
|
*
|
|
@@ -27,18 +26,106 @@ exports.ENV_VAR_FAME_CA_SERVICE_URL = "FAME_CA_SERVICE_URL";
|
|
|
27
26
|
* @param _certPem - Certificate in PEM format (prefixed with underscore as currently unused)
|
|
28
27
|
* @returns Certificate information object
|
|
29
28
|
*/
|
|
30
|
-
function extractCertificateInfo(_certPem) {
|
|
29
|
+
export function extractCertificateInfo(_certPem) {
|
|
31
30
|
try {
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
31
|
+
const pemBlock = extractFirstCertificatePem(_certPem);
|
|
32
|
+
if (!pemBlock) {
|
|
33
|
+
throw new Error("certificate PEM block not found");
|
|
34
|
+
}
|
|
35
|
+
const certDer = pemToArrayBuffer(pemBlock);
|
|
36
|
+
const certificate = new X509Certificate(certDer);
|
|
37
|
+
const certificateRecord = certificate;
|
|
38
|
+
const parsedCertificate = AsnConvert.parse(certDer, Certificate);
|
|
39
|
+
const subject = readOptionalStringProperty(certificateRecord, "subject") ??
|
|
40
|
+
formatDistinguishedName(parsedCertificate.tbsCertificate.subject);
|
|
41
|
+
const issuer = readOptionalStringProperty(certificateRecord, "issuer") ??
|
|
42
|
+
formatDistinguishedName(parsedCertificate.tbsCertificate.issuer);
|
|
43
|
+
const serialNumber = readOptionalStringProperty(certificateRecord, "serialNumber") ??
|
|
44
|
+
bytesToHex(parsedCertificate.tbsCertificate.serialNumber);
|
|
45
|
+
const validFromDate = readOptionalDateProperty(certificateRecord, "notBefore") ??
|
|
46
|
+
readValidityDate(parsedCertificate.tbsCertificate.validity.notBefore);
|
|
47
|
+
const validUntilDate = readOptionalDateProperty(certificateRecord, "notAfter") ??
|
|
48
|
+
readValidityDate(parsedCertificate.tbsCertificate.validity.notAfter);
|
|
49
|
+
if (!validFromDate || !validUntilDate) {
|
|
50
|
+
throw new Error("certificate validity period is missing");
|
|
51
|
+
}
|
|
52
|
+
const info = {
|
|
53
|
+
subject,
|
|
54
|
+
issuer,
|
|
55
|
+
serialNumber,
|
|
56
|
+
validFrom: validFromDate.toISOString(),
|
|
57
|
+
validUntil: validUntilDate.toISOString(),
|
|
40
58
|
status: "unknown",
|
|
41
59
|
};
|
|
60
|
+
const now = new Date();
|
|
61
|
+
if (now < validFromDate) {
|
|
62
|
+
info.status = "not_yet_valid";
|
|
63
|
+
}
|
|
64
|
+
else if (now > validUntilDate) {
|
|
65
|
+
info.status = "expired";
|
|
66
|
+
}
|
|
67
|
+
else {
|
|
68
|
+
info.status = "valid";
|
|
69
|
+
const diffMs = validUntilDate.getTime() - now.getTime();
|
|
70
|
+
info.daysRemaining = Math.floor(diffMs / (24 * 60 * 60 * 1000));
|
|
71
|
+
const hoursRemainder = diffMs % (24 * 60 * 60 * 1000);
|
|
72
|
+
info.hoursRemaining = Math.floor(hoursRemainder / (60 * 60 * 1000));
|
|
73
|
+
const minutesRemainder = hoursRemainder % (60 * 60 * 1000);
|
|
74
|
+
info.minutesRemaining = Math.floor(minutesRemainder / (60 * 1000));
|
|
75
|
+
}
|
|
76
|
+
const sanExtension = getExtensionValue(certificate, "2.5.29.17");
|
|
77
|
+
if (sanExtension && toUint8Array(sanExtension).length > 0) {
|
|
78
|
+
const san = AsnConvert.parse(sanExtension, SubjectAlternativeName);
|
|
79
|
+
const altNames = [];
|
|
80
|
+
for (const generalName of san) {
|
|
81
|
+
const name = generalName;
|
|
82
|
+
if (typeof name.uniformResourceIdentifier === "string") {
|
|
83
|
+
altNames.push(name.uniformResourceIdentifier);
|
|
84
|
+
}
|
|
85
|
+
else if (typeof name.dNSName === "string") {
|
|
86
|
+
altNames.push(name.dNSName);
|
|
87
|
+
}
|
|
88
|
+
else if (typeof name.rfc822Name === "string") {
|
|
89
|
+
altNames.push(name.rfc822Name);
|
|
90
|
+
}
|
|
91
|
+
else if (name.iPAddress instanceof ArrayBuffer) {
|
|
92
|
+
altNames.push(formatIpAddress(toUint8Array(name.iPAddress)));
|
|
93
|
+
}
|
|
94
|
+
else if (name.iPAddress && ArrayBuffer.isView(name.iPAddress)) {
|
|
95
|
+
const view = name.iPAddress;
|
|
96
|
+
altNames.push(formatIpAddress(new Uint8Array(view.buffer, view.byteOffset, view.byteLength)));
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
if (altNames.length > 0) {
|
|
100
|
+
info.subjectAlternativeNames = altNames;
|
|
101
|
+
const spiffe = altNames.find((value) => value.startsWith("spiffe://"));
|
|
102
|
+
if (spiffe) {
|
|
103
|
+
info.spiffeId = spiffe;
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
const sidExtension = getExtensionValue(certificate, SID_OID);
|
|
108
|
+
if (sidExtension) {
|
|
109
|
+
info.nodeSid = decodeUtf8(sidExtension);
|
|
110
|
+
}
|
|
111
|
+
const nodeIdExtension = getExtensionValue(certificate, NODE_ID_OID);
|
|
112
|
+
if (nodeIdExtension) {
|
|
113
|
+
info.nodeId = decodeUtf8(nodeIdExtension);
|
|
114
|
+
}
|
|
115
|
+
const logicalsExtension = getExtensionValue(certificate, LOGICALS_OID);
|
|
116
|
+
if (logicalsExtension) {
|
|
117
|
+
try {
|
|
118
|
+
const logicalsJson = decodeUtf8(logicalsExtension);
|
|
119
|
+
const parsed = JSON.parse(logicalsJson);
|
|
120
|
+
if (Array.isArray(parsed)) {
|
|
121
|
+
info.logicalHosts = parsed.filter((entry) => typeof entry === "string");
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
catch {
|
|
125
|
+
// Ignore malformed extension payload – certificate remains valid.
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
return info;
|
|
42
129
|
}
|
|
43
130
|
catch (error) {
|
|
44
131
|
return {
|
|
@@ -48,7 +135,7 @@ function extractCertificateInfo(_certPem) {
|
|
|
48
135
|
validFrom: "",
|
|
49
136
|
validUntil: "",
|
|
50
137
|
status: "unknown",
|
|
51
|
-
error: `Failed to parse certificate: ${error}`,
|
|
138
|
+
error: `Failed to parse certificate: ${error instanceof Error ? error.message : String(error)}`,
|
|
52
139
|
};
|
|
53
140
|
}
|
|
54
141
|
}
|
|
@@ -59,7 +146,7 @@ function extractCertificateInfo(_certPem) {
|
|
|
59
146
|
* @param certType - Type description for logging (e.g., "Certificate", "CA Certificate")
|
|
60
147
|
* @returns Formatted string with certificate details
|
|
61
148
|
*/
|
|
62
|
-
function formatCertificateInfo(certPem, certType = "Certificate") {
|
|
149
|
+
export function formatCertificateInfo(certPem, certType = "Certificate") {
|
|
63
150
|
const info = extractCertificateInfo(certPem);
|
|
64
151
|
if (info.error) {
|
|
65
152
|
return `=== ${certType} Information ===\n${info.error}`;
|
|
@@ -72,7 +159,7 @@ function formatCertificateInfo(certPem, certType = "Certificate") {
|
|
|
72
159
|
`Valid From: ${info.validFrom}`,
|
|
73
160
|
`Valid Until: ${info.validUntil}`,
|
|
74
161
|
];
|
|
75
|
-
if (info.subjectAlternativeNames
|
|
162
|
+
if (info.subjectAlternativeNames?.length) {
|
|
76
163
|
lines.push(`Subject Alternative Names: ${info.subjectAlternativeNames.join(", ")}`);
|
|
77
164
|
}
|
|
78
165
|
if (info.spiffeId) {
|
|
@@ -84,24 +171,27 @@ function formatCertificateInfo(certPem, certType = "Certificate") {
|
|
|
84
171
|
if (info.nodeId) {
|
|
85
172
|
lines.push(`Node ID: ${info.nodeId}`);
|
|
86
173
|
}
|
|
87
|
-
if (info.logicalHosts
|
|
174
|
+
if (info.logicalHosts?.length) {
|
|
88
175
|
lines.push(`Logical Hosts: ${info.logicalHosts.join(", ")}`);
|
|
89
176
|
}
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
if (info.daysRemaining > 0) {
|
|
93
|
-
|
|
177
|
+
if (info.status === "valid") {
|
|
178
|
+
const pieces = [];
|
|
179
|
+
if (typeof info.daysRemaining === "number" && info.daysRemaining > 0) {
|
|
180
|
+
pieces.push(`${info.daysRemaining} days`);
|
|
94
181
|
}
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
}
|
|
182
|
+
if (typeof info.hoursRemaining === "number" && info.hoursRemaining > 0) {
|
|
183
|
+
pieces.push(`${info.hoursRemaining} hours`);
|
|
184
|
+
}
|
|
185
|
+
if (typeof info.minutesRemaining === "number" &&
|
|
186
|
+
info.minutesRemaining > 0 &&
|
|
187
|
+
pieces.length === 0) {
|
|
188
|
+
pieces.push(`${info.minutesRemaining} minutes`);
|
|
102
189
|
}
|
|
103
|
-
|
|
104
|
-
lines.push(`Status: Valid (${
|
|
190
|
+
if (pieces.length > 0) {
|
|
191
|
+
lines.push(`Status: Valid (${pieces.join(", ")})`);
|
|
192
|
+
}
|
|
193
|
+
else {
|
|
194
|
+
lines.push("Status: Valid");
|
|
105
195
|
}
|
|
106
196
|
}
|
|
107
197
|
else if (info.status === "expired") {
|
|
@@ -110,12 +200,224 @@ function formatCertificateInfo(certPem, certType = "Certificate") {
|
|
|
110
200
|
else if (info.status === "not_yet_valid") {
|
|
111
201
|
lines.push("Status: Not yet valid");
|
|
112
202
|
}
|
|
203
|
+
else {
|
|
204
|
+
lines.push("Status: Unknown");
|
|
205
|
+
}
|
|
113
206
|
return lines.join("\n");
|
|
114
207
|
}
|
|
208
|
+
function extractFirstCertificatePem(pem) {
|
|
209
|
+
const match = pem.match(/-----BEGIN CERTIFICATE-----[\s\S]*?-----END CERTIFICATE-----/);
|
|
210
|
+
return match ? match[0] : null;
|
|
211
|
+
}
|
|
212
|
+
function pemToArrayBuffer(pem) {
|
|
213
|
+
const base64 = pem
|
|
214
|
+
.replace(/-----BEGIN CERTIFICATE-----/g, "")
|
|
215
|
+
.replace(/-----END CERTIFICATE-----/g, "")
|
|
216
|
+
.replace(/\s+/g, "");
|
|
217
|
+
if (typeof Buffer !== "undefined") {
|
|
218
|
+
const buffer = Buffer.from(base64, "base64");
|
|
219
|
+
const array = buffer.buffer.slice(buffer.byteOffset, buffer.byteOffset + buffer.byteLength);
|
|
220
|
+
return array;
|
|
221
|
+
}
|
|
222
|
+
if (typeof globalThis.atob === "function") {
|
|
223
|
+
const binary = globalThis.atob(base64);
|
|
224
|
+
const length = binary.length;
|
|
225
|
+
const bytes = new Uint8Array(length);
|
|
226
|
+
for (let index = 0; index < length; index += 1) {
|
|
227
|
+
bytes[index] = binary.charCodeAt(index);
|
|
228
|
+
}
|
|
229
|
+
return bytes.buffer;
|
|
230
|
+
}
|
|
231
|
+
throw new Error("Base64 decoding not supported in this environment");
|
|
232
|
+
}
|
|
233
|
+
function formatIpAddress(bytes) {
|
|
234
|
+
if (bytes.length === 4) {
|
|
235
|
+
return Array.from(bytes).join(".");
|
|
236
|
+
}
|
|
237
|
+
if (bytes.length === 16) {
|
|
238
|
+
const hextets = [];
|
|
239
|
+
for (let index = 0; index < 16; index += 2) {
|
|
240
|
+
const value = (bytes[index] << 8) | bytes[index + 1];
|
|
241
|
+
hextets.push(value.toString(16));
|
|
242
|
+
}
|
|
243
|
+
return hextets.join(":");
|
|
244
|
+
}
|
|
245
|
+
return Array.from(bytes)
|
|
246
|
+
.map((value) => value.toString(16).padStart(2, "0"))
|
|
247
|
+
.join("");
|
|
248
|
+
}
|
|
249
|
+
function toUint8Array(source) {
|
|
250
|
+
if (source instanceof ArrayBuffer) {
|
|
251
|
+
return new Uint8Array(source);
|
|
252
|
+
}
|
|
253
|
+
return new Uint8Array(source.buffer, source.byteOffset, source.byteLength);
|
|
254
|
+
}
|
|
255
|
+
function decodeUtf8(data) {
|
|
256
|
+
if (typeof TextDecoder !== "undefined") {
|
|
257
|
+
return new TextDecoder().decode(data);
|
|
258
|
+
}
|
|
259
|
+
if (typeof Buffer !== "undefined") {
|
|
260
|
+
const buffer = Buffer.from(data);
|
|
261
|
+
return buffer.toString("utf8");
|
|
262
|
+
}
|
|
263
|
+
throw new Error("TextDecoder not available in this environment");
|
|
264
|
+
}
|
|
265
|
+
function getExtensionValue(certificate, oid) {
|
|
266
|
+
const candidate = certificate;
|
|
267
|
+
if (typeof candidate.getExtension === "function") {
|
|
268
|
+
const result = candidate.getExtension(oid);
|
|
269
|
+
const buffer = tryExtractExtensionBuffer(result);
|
|
270
|
+
if (buffer) {
|
|
271
|
+
return buffer;
|
|
272
|
+
}
|
|
273
|
+
}
|
|
274
|
+
const { extensions } = candidate;
|
|
275
|
+
if (extensions) {
|
|
276
|
+
const iterable = toIterable(extensions);
|
|
277
|
+
for (const entry of iterable) {
|
|
278
|
+
const extensionRecord = entry;
|
|
279
|
+
if (!extensionRecord || extensionRecord.oid !== oid) {
|
|
280
|
+
continue;
|
|
281
|
+
}
|
|
282
|
+
const buffer = tryExtractExtensionBuffer(entry);
|
|
283
|
+
if (buffer) {
|
|
284
|
+
return buffer;
|
|
285
|
+
}
|
|
286
|
+
}
|
|
287
|
+
}
|
|
288
|
+
return null;
|
|
289
|
+
}
|
|
290
|
+
function readOptionalStringProperty(source, key) {
|
|
291
|
+
const value = source[key];
|
|
292
|
+
if (typeof value === "string" && value.length > 0) {
|
|
293
|
+
return value;
|
|
294
|
+
}
|
|
295
|
+
return undefined;
|
|
296
|
+
}
|
|
297
|
+
function readOptionalDateProperty(source, key) {
|
|
298
|
+
const value = source[key];
|
|
299
|
+
if (value instanceof Date) {
|
|
300
|
+
return value;
|
|
301
|
+
}
|
|
302
|
+
if (typeof value === "number" || typeof value === "string") {
|
|
303
|
+
const date = new Date(value);
|
|
304
|
+
if (!Number.isNaN(date.getTime())) {
|
|
305
|
+
return date;
|
|
306
|
+
}
|
|
307
|
+
}
|
|
308
|
+
return undefined;
|
|
309
|
+
}
|
|
310
|
+
function readValidityDate(candidate) {
|
|
311
|
+
if (!candidate) {
|
|
312
|
+
return undefined;
|
|
313
|
+
}
|
|
314
|
+
if (candidate instanceof Date) {
|
|
315
|
+
return candidate;
|
|
316
|
+
}
|
|
317
|
+
if (typeof candidate === "object" &&
|
|
318
|
+
candidate !== null &&
|
|
319
|
+
candidate) {
|
|
320
|
+
const timeObject = candidate;
|
|
321
|
+
if (timeObject.utcTime instanceof Date) {
|
|
322
|
+
return timeObject.utcTime;
|
|
323
|
+
}
|
|
324
|
+
if (timeObject.generalizedTime instanceof Date) {
|
|
325
|
+
return timeObject.generalizedTime;
|
|
326
|
+
}
|
|
327
|
+
}
|
|
328
|
+
return undefined;
|
|
329
|
+
}
|
|
330
|
+
function formatDistinguishedName(name) {
|
|
331
|
+
const rdns = Array.from(name);
|
|
332
|
+
if (rdns.length === 0) {
|
|
333
|
+
return "";
|
|
334
|
+
}
|
|
335
|
+
return rdns
|
|
336
|
+
.map((rdn) => Array.from(rdn)
|
|
337
|
+
.map((attribute) => `${oidToLabel(attribute.type)}=${attribute.value.toString()}`)
|
|
338
|
+
.join("+"))
|
|
339
|
+
.join(",");
|
|
340
|
+
}
|
|
341
|
+
function oidToLabel(oid) {
|
|
342
|
+
switch (oid) {
|
|
343
|
+
case "2.5.4.3":
|
|
344
|
+
return "CN";
|
|
345
|
+
case "2.5.4.6":
|
|
346
|
+
return "C";
|
|
347
|
+
case "2.5.4.7":
|
|
348
|
+
return "L";
|
|
349
|
+
case "2.5.4.8":
|
|
350
|
+
return "ST";
|
|
351
|
+
case "2.5.4.10":
|
|
352
|
+
return "O";
|
|
353
|
+
case "2.5.4.11":
|
|
354
|
+
return "OU";
|
|
355
|
+
default:
|
|
356
|
+
return oid;
|
|
357
|
+
}
|
|
358
|
+
}
|
|
359
|
+
function bytesToHex(data) {
|
|
360
|
+
const view = toUint8Array(data);
|
|
361
|
+
if (view.length === 0) {
|
|
362
|
+
return "";
|
|
363
|
+
}
|
|
364
|
+
return Array.from(view)
|
|
365
|
+
.map((byte) => byte.toString(16).padStart(2, "0"))
|
|
366
|
+
.join("");
|
|
367
|
+
}
|
|
368
|
+
function tryExtractExtensionBuffer(source) {
|
|
369
|
+
if (!source) {
|
|
370
|
+
return null;
|
|
371
|
+
}
|
|
372
|
+
if (isArrayBufferLike(source)) {
|
|
373
|
+
return cloneArrayBuffer(source);
|
|
374
|
+
}
|
|
375
|
+
if (typeof source === "object") {
|
|
376
|
+
const record = source;
|
|
377
|
+
const directValue = record.value;
|
|
378
|
+
if (isArrayBufferLike(directValue)) {
|
|
379
|
+
return cloneArrayBuffer(directValue);
|
|
380
|
+
}
|
|
381
|
+
const asn = record.asn;
|
|
382
|
+
if (asn) {
|
|
383
|
+
const extnValue = asn.extnValue;
|
|
384
|
+
if (isArrayBufferLike(extnValue)) {
|
|
385
|
+
return cloneArrayBuffer(extnValue);
|
|
386
|
+
}
|
|
387
|
+
if (extnValue &&
|
|
388
|
+
typeof extnValue === "object" &&
|
|
389
|
+
isArrayBufferLike(extnValue.buffer)) {
|
|
390
|
+
return cloneArrayBuffer(extnValue.buffer);
|
|
391
|
+
}
|
|
392
|
+
}
|
|
393
|
+
}
|
|
394
|
+
return null;
|
|
395
|
+
}
|
|
396
|
+
function isArrayBufferLike(value) {
|
|
397
|
+
return value instanceof ArrayBuffer || ArrayBuffer.isView(value);
|
|
398
|
+
}
|
|
399
|
+
function cloneArrayBuffer(value) {
|
|
400
|
+
const view = toUint8Array(value);
|
|
401
|
+
if (view.byteOffset === 0 &&
|
|
402
|
+
view.byteLength === view.buffer.byteLength &&
|
|
403
|
+
view.buffer instanceof ArrayBuffer) {
|
|
404
|
+
return view.buffer;
|
|
405
|
+
}
|
|
406
|
+
return view.slice().buffer;
|
|
407
|
+
}
|
|
408
|
+
function toIterable(value) {
|
|
409
|
+
if (typeof value === "object" && value && Symbol.iterator in value) {
|
|
410
|
+
return value;
|
|
411
|
+
}
|
|
412
|
+
if (Array.isArray(value)) {
|
|
413
|
+
return value;
|
|
414
|
+
}
|
|
415
|
+
return [];
|
|
416
|
+
}
|
|
115
417
|
/**
|
|
116
418
|
* Client for requesting certificates from a CA signing service.
|
|
117
419
|
*/
|
|
118
|
-
class CAServiceClient {
|
|
420
|
+
export class CAServiceClient {
|
|
119
421
|
/**
|
|
120
422
|
* Create a new CA service client.
|
|
121
423
|
*
|
|
@@ -254,7 +556,7 @@ class CAServiceClient {
|
|
|
254
556
|
status_code: response.status,
|
|
255
557
|
error: errorDetail,
|
|
256
558
|
});
|
|
257
|
-
throw new
|
|
559
|
+
throw new CertificateRequestError(`Certificate request failed (HTTP ${response.status}): ${errorDetail}`);
|
|
258
560
|
}
|
|
259
561
|
}
|
|
260
562
|
finally {
|
|
@@ -262,7 +564,7 @@ class CAServiceClient {
|
|
|
262
564
|
}
|
|
263
565
|
}
|
|
264
566
|
catch (error) {
|
|
265
|
-
if (error instanceof
|
|
567
|
+
if (error instanceof CertificateRequestError) {
|
|
266
568
|
throw error;
|
|
267
569
|
}
|
|
268
570
|
if (error instanceof Error && error.name === "AbortError") {
|
|
@@ -270,15 +572,14 @@ class CAServiceClient {
|
|
|
270
572
|
requester_id: requesterId,
|
|
271
573
|
timeout_seconds: this.timeoutSeconds,
|
|
272
574
|
});
|
|
273
|
-
throw new
|
|
575
|
+
throw new CertificateRequestError(`Certificate request timed out after ${this.timeoutSeconds} seconds`);
|
|
274
576
|
}
|
|
275
577
|
logger.error("certificate_request_network_error", {
|
|
276
578
|
requester_id: requesterId,
|
|
277
579
|
error: String(error),
|
|
278
580
|
});
|
|
279
|
-
throw new
|
|
581
|
+
throw new CertificateRequestError(`Network error requesting certificate: ${error}`);
|
|
280
582
|
}
|
|
281
583
|
}
|
|
282
584
|
}
|
|
283
|
-
exports.CAServiceClient = CAServiceClient;
|
|
284
585
|
//# sourceMappingURL=ca-service-client.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ca-service-client.js","sourceRoot":"","sources":["../../../../../../src/naylence/fame/security/cert/ca-service-client.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ca-service-client.js","sourceRoot":"","sources":["../../../../../../src/naylence/fame/security/cert/ca-service-client.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,18 +1,15 @@
|
|
|
1
|
-
"use strict";
|
|
2
1
|
/**
|
|
3
2
|
* Factory pattern for creating CA service instances.
|
|
4
3
|
*
|
|
5
4
|
* Provides a unified way to create CAService implementations from configuration.
|
|
6
5
|
*/
|
|
7
|
-
|
|
8
|
-
exports.FACTORY_META = exports.CA_SERVICE_FACTORY_BASE_TYPE = exports.CAServiceFactory = void 0;
|
|
9
|
-
const factory_1 = require("@naylence/factory");
|
|
6
|
+
import { AbstractResourceFactory, createDefaultResource, createResource, } from "@naylence/factory";
|
|
10
7
|
/**
|
|
11
8
|
* Factory for creating CAService instances.
|
|
12
9
|
*
|
|
13
10
|
* Supports multiple CAService implementations through the factory pattern.
|
|
14
11
|
*/
|
|
15
|
-
class CAServiceFactory extends
|
|
12
|
+
export class CAServiceFactory extends AbstractResourceFactory {
|
|
16
13
|
/**
|
|
17
14
|
* Create a CAService instance from configuration.
|
|
18
15
|
*
|
|
@@ -23,7 +20,7 @@ class CAServiceFactory extends factory_1.AbstractResourceFactory {
|
|
|
23
20
|
static async createCAService(config, options) {
|
|
24
21
|
if (!config) {
|
|
25
22
|
// Use default CA service
|
|
26
|
-
const service = await
|
|
23
|
+
const service = await createDefaultResource("CAServiceFactory", config, options);
|
|
27
24
|
if (!service) {
|
|
28
25
|
throw new Error("No default CA service factory registered");
|
|
29
26
|
}
|
|
@@ -31,7 +28,7 @@ class CAServiceFactory extends factory_1.AbstractResourceFactory {
|
|
|
31
28
|
}
|
|
32
29
|
if (typeof config === "object" && !("type" in config)) {
|
|
33
30
|
// No type specified, use default
|
|
34
|
-
const service = await
|
|
31
|
+
const service = await createDefaultResource("CAServiceFactory", config, options);
|
|
35
32
|
if (!service) {
|
|
36
33
|
throw new Error("No default CA service factory registered");
|
|
37
34
|
}
|
|
@@ -41,22 +38,21 @@ class CAServiceFactory extends factory_1.AbstractResourceFactory {
|
|
|
41
38
|
const configObj = config instanceof Object && "type" in config
|
|
42
39
|
? config
|
|
43
40
|
: { type: "CAService", ...config };
|
|
44
|
-
const service = await
|
|
41
|
+
const service = await createResource("CAServiceFactory", configObj, options);
|
|
45
42
|
if (!service) {
|
|
46
43
|
throw new Error(`Failed to create CA service of type "${configObj.type}"`);
|
|
47
44
|
}
|
|
48
45
|
return service;
|
|
49
46
|
}
|
|
50
47
|
}
|
|
51
|
-
exports.CAServiceFactory = CAServiceFactory;
|
|
52
48
|
/**
|
|
53
49
|
* Base type for CA service factories.
|
|
54
50
|
*/
|
|
55
|
-
|
|
51
|
+
export const CA_SERVICE_FACTORY_BASE_TYPE = "CAServiceFactory";
|
|
56
52
|
/**
|
|
57
53
|
* Factory metadata for CAServiceFactory.
|
|
58
54
|
*/
|
|
59
|
-
|
|
55
|
+
export const FACTORY_META = {
|
|
60
56
|
factoryId: "CAServiceFactory",
|
|
61
57
|
factoryType: CAServiceFactory,
|
|
62
58
|
resourceType: "CAService",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ca-service-factory.js","sourceRoot":"","sources":["../../../../../../src/naylence/fame/security/cert/ca-service-factory.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ca-service-factory.js","sourceRoot":"","sources":["../../../../../../src/naylence/fame/security/cert/ca-service-factory.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EACL,uBAAuB,EACvB,qBAAqB,EACrB,cAAc,GACf,MAAM,mBAAmB,CAAC;AAU3B;;;;GAIG;AACH,MAAM,OAAgB,gBAEpB,SAAQ,uBAAqC;IAC7C;;;;;;OAMG;IACH,MAAM,CAAC,KAAK,CAAC,eAAe,CAC1B,MAAkD,EAClD,OAA+B;QAE/B,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,yBAAyB;YACzB,MAAM,OAAO,GAAG,MAAM,qBAAqB,CACzC,kBAAkB,EAClB,MAAM,EACN,OAAO,CACR,CAAC;YACF,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;YAC9D,CAAC;YACD,OAAO,OAAoB,CAAC;QAC9B,CAAC;QAED,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,CAAC,CAAC,MAAM,IAAI,MAAM,CAAC,EAAE,CAAC;YACtD,iCAAiC;YACjC,MAAM,OAAO,GAAG,MAAM,qBAAqB,CACzC,kBAAkB,EAClB,MAAM,EACN,OAAO,CACR,CAAC;YACF,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;YAC9D,CAAC;YACD,OAAO,OAAoB,CAAC;QAC9B,CAAC;QAED,4BAA4B;QAC5B,MAAM,SAAS,GACb,MAAM,YAAY,MAAM,IAAI,MAAM,IAAI,MAAM;YAC1C,CAAC,CAAE,MAA0B;YAC7B,CAAC,CAAE,EAAE,IAAI,EAAE,WAAW,EAAE,GAAG,MAAM,EAAsB,CAAC;QAE5D,MAAM,OAAO,GAAG,MAAM,cAAc,CAClC,kBAAkB,EAClB,SAAS,EACT,OAAO,CACR,CAAC;QACF,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CACb,wCAAwC,SAAS,CAAC,IAAI,GAAG,CAC1D,CAAC;QACJ,CAAC;QACD,OAAO,OAAoB,CAAC;IAC9B,CAAC;CACF;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,4BAA4B,GAAG,kBAAkB,CAAC;AAE/D;;GAEG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG;IAC1B,SAAS,EAAE,kBAAkB;IAC7B,WAAW,EAAE,gBAAgB;IAC7B,YAAY,EAAE,WAAW;IACzB,WAAW,EACT,mEAAmE;CACtE,CAAC"}
|
|
@@ -1,36 +1,39 @@
|
|
|
1
|
-
"use strict";
|
|
2
1
|
/**
|
|
3
2
|
* Certificate Authority (CA) types and interfaces.
|
|
4
3
|
*
|
|
5
4
|
* Provides type definitions for CA service operations, certificate signing requests,
|
|
6
5
|
* and certificate issuance responses.
|
|
7
6
|
*/
|
|
8
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
-
exports.CertificateRequestError = exports.CAService = void 0;
|
|
10
7
|
/**
|
|
11
8
|
* Abstract CA signing service interface.
|
|
12
9
|
*
|
|
13
10
|
* Defines the contract for certificate authority services that can issue
|
|
14
11
|
* certificates from certificate signing requests.
|
|
15
12
|
*/
|
|
16
|
-
class CAService {
|
|
13
|
+
export class CAService {
|
|
17
14
|
/**
|
|
18
15
|
* Optional authorizer for request authentication.
|
|
19
16
|
*/
|
|
20
17
|
get authorizer() {
|
|
21
18
|
return null;
|
|
22
19
|
}
|
|
20
|
+
/**
|
|
21
|
+
* Retrieve the current trust bundle served by this CA service.
|
|
22
|
+
*
|
|
23
|
+
* Default implementation returns null if the service does not expose a bundle.
|
|
24
|
+
*/
|
|
25
|
+
async getTrustBundle() {
|
|
26
|
+
return null;
|
|
27
|
+
}
|
|
23
28
|
}
|
|
24
|
-
exports.CAService = CAService;
|
|
25
29
|
/**
|
|
26
30
|
* Error thrown when a certificate request fails.
|
|
27
31
|
*/
|
|
28
|
-
class CertificateRequestError extends Error {
|
|
32
|
+
export class CertificateRequestError extends Error {
|
|
29
33
|
constructor(message) {
|
|
30
34
|
super(message);
|
|
31
35
|
this.name = "CertificateRequestError";
|
|
32
36
|
Object.setPrototypeOf(this, CertificateRequestError.prototype);
|
|
33
37
|
}
|
|
34
38
|
}
|
|
35
|
-
exports.CertificateRequestError = CertificateRequestError;
|
|
36
39
|
//# sourceMappingURL=ca-types.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ca-types.js","sourceRoot":"","sources":["../../../../../../src/naylence/fame/security/cert/ca-types.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ca-types.js","sourceRoot":"","sources":["../../../../../../src/naylence/fame/security/cert/ca-types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AA2EH;;;;;GAKG;AACH,MAAM,OAAgB,SAAS;IAC7B;;OAEG;IACH,IAAI,UAAU;QACZ,OAAO,IAAI,CAAC;IACd,CAAC;IAYD;;;;OAIG;IACH,KAAK,CAAC,cAAc;QAClB,OAAO,IAAI,CAAC;IACd,CAAC;CACF;AAED;;GAEG;AACH,MAAM,OAAO,uBAAwB,SAAQ,KAAK;IAChD,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,yBAAyB,CAAC;QACtC,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,uBAAuB,CAAC,SAAS,CAAC,CAAC;IACjE,CAAC;CACF"}
|