@harperfast/harper 5.0.0-alpha.10
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/CODE_OF_CONDUCT.md +83 -0
- package/LICENSE +201 -0
- package/README.md +54 -0
- package/SECURITY.md +18 -0
- package/SUPPORT.md +26 -0
- package/dist/bin/BinObjects.d.ts +9 -0
- package/dist/bin/BinObjects.js +15 -0
- package/dist/bin/BinObjects.js.map +1 -0
- package/dist/bin/cliOperations.d.ts +12 -0
- package/dist/bin/cliOperations.js +156 -0
- package/dist/bin/cliOperations.js.map +1 -0
- package/dist/bin/copyDb.d.ts +2 -0
- package/dist/bin/copyDb.js +298 -0
- package/dist/bin/copyDb.js.map +1 -0
- package/dist/bin/harper.d.ts +2 -0
- package/dist/bin/harper.js +148 -0
- package/dist/bin/harper.js.map +1 -0
- package/dist/bin/install.d.ts +2 -0
- package/dist/bin/install.js +16 -0
- package/dist/bin/install.js.map +1 -0
- package/dist/bin/lite.d.ts +1 -0
- package/dist/bin/lite.js +6 -0
- package/dist/bin/lite.js.map +1 -0
- package/dist/bin/restart.d.ts +13 -0
- package/dist/bin/restart.js +194 -0
- package/dist/bin/restart.js.map +1 -0
- package/dist/bin/run.d.ts +21 -0
- package/dist/bin/run.js +365 -0
- package/dist/bin/run.js.map +1 -0
- package/dist/bin/status.d.ts +2 -0
- package/dist/bin/status.js +56 -0
- package/dist/bin/status.js.map +1 -0
- package/dist/bin/stop.d.ts +2 -0
- package/dist/bin/stop.js +17 -0
- package/dist/bin/stop.js.map +1 -0
- package/dist/bin/upgrade.d.ts +7 -0
- package/dist/bin/upgrade.js +111 -0
- package/dist/bin/upgrade.js.map +1 -0
- package/dist/components/Application.d.ts +110 -0
- package/dist/components/Application.js +509 -0
- package/dist/components/Application.js.map +1 -0
- package/dist/components/ApplicationScope.d.ts +28 -0
- package/dist/components/ApplicationScope.js +81 -0
- package/dist/components/ApplicationScope.js.map +1 -0
- package/dist/components/Component.d.ts +21 -0
- package/dist/components/Component.js +43 -0
- package/dist/components/Component.js.map +1 -0
- package/dist/components/ComponentV1.d.ts +69 -0
- package/dist/components/ComponentV1.js +263 -0
- package/dist/components/ComponentV1.js.map +1 -0
- package/dist/components/DEFAULT_CONFIG.d.ts +18 -0
- package/dist/components/DEFAULT_CONFIG.js +22 -0
- package/dist/components/DEFAULT_CONFIG.js.map +1 -0
- package/dist/components/EntryHandler.d.ts +61 -0
- package/dist/components/EntryHandler.js +148 -0
- package/dist/components/EntryHandler.js.map +1 -0
- package/dist/components/OptionsWatcher.d.ts +75 -0
- package/dist/components/OptionsWatcher.js +281 -0
- package/dist/components/OptionsWatcher.js.map +1 -0
- package/dist/components/PluginModule.d.ts +5 -0
- package/dist/components/PluginModule.js +3 -0
- package/dist/components/PluginModule.js.map +1 -0
- package/dist/components/Scope.d.ts +49 -0
- package/dist/components/Scope.js +262 -0
- package/dist/components/Scope.js.map +1 -0
- package/dist/components/componentLoader.js +498 -0
- package/dist/components/componentLoader.js.map +1 -0
- package/dist/components/deriveCommonPatternBase.d.ts +1 -0
- package/dist/components/deriveCommonPatternBase.js +34 -0
- package/dist/components/deriveCommonPatternBase.js.map +1 -0
- package/dist/components/deriveGlobOptions.d.ts +13 -0
- package/dist/components/deriveGlobOptions.js +30 -0
- package/dist/components/deriveGlobOptions.js.map +1 -0
- package/dist/components/deriveURLPath.d.ts +3 -0
- package/dist/components/deriveURLPath.js +55 -0
- package/dist/components/deriveURLPath.js.map +1 -0
- package/dist/components/operations.d.ts +97 -0
- package/dist/components/operations.js +556 -0
- package/dist/components/operations.js.map +1 -0
- package/dist/components/operationsValidation.d.ts +44 -0
- package/dist/components/operationsValidation.js +221 -0
- package/dist/components/operationsValidation.js.map +1 -0
- package/dist/components/packageComponent.d.ts +8 -0
- package/dist/components/packageComponent.js +42 -0
- package/dist/components/packageComponent.js.map +1 -0
- package/dist/components/requestRestart.d.ts +3 -0
- package/dist/components/requestRestart.js +27 -0
- package/dist/components/requestRestart.js.map +1 -0
- package/dist/components/resolveBaseURLPath.d.ts +15 -0
- package/dist/components/resolveBaseURLPath.js +38 -0
- package/dist/components/resolveBaseURLPath.js.map +1 -0
- package/dist/components/status/ComponentStatus.d.ts +61 -0
- package/dist/components/status/ComponentStatus.js +102 -0
- package/dist/components/status/ComponentStatus.js.map +1 -0
- package/dist/components/status/ComponentStatusRegistry.d.ts +89 -0
- package/dist/components/status/ComponentStatusRegistry.js +195 -0
- package/dist/components/status/ComponentStatusRegistry.js.map +1 -0
- package/dist/components/status/api.d.ts +104 -0
- package/dist/components/status/api.js +137 -0
- package/dist/components/status/api.js.map +1 -0
- package/dist/components/status/crossThread.d.ts +62 -0
- package/dist/components/status/crossThread.js +343 -0
- package/dist/components/status/crossThread.js.map +1 -0
- package/dist/components/status/errors.d.ts +68 -0
- package/dist/components/status/errors.js +123 -0
- package/dist/components/status/errors.js.map +1 -0
- package/dist/components/status/index.d.ts +35 -0
- package/dist/components/status/index.js +75 -0
- package/dist/components/status/index.js.map +1 -0
- package/dist/components/status/internal.d.ts +40 -0
- package/dist/components/status/internal.js +76 -0
- package/dist/components/status/internal.js.map +1 -0
- package/dist/components/status/registry.d.ts +10 -0
- package/dist/components/status/registry.js +14 -0
- package/dist/components/status/registry.js.map +1 -0
- package/dist/components/status/types.d.ts +94 -0
- package/dist/components/status/types.js +20 -0
- package/dist/components/status/types.js.map +1 -0
- package/dist/config/RootConfigWatcher.d.ts +10 -0
- package/dist/config/RootConfigWatcher.js +59 -0
- package/dist/config/RootConfigWatcher.js.map +1 -0
- package/dist/config/configHelpers.d.ts +6 -0
- package/dist/config/configHelpers.js +47 -0
- package/dist/config/configHelpers.js.map +1 -0
- package/dist/config/configUtils.d.ts +85 -0
- package/dist/config/configUtils.js +801 -0
- package/dist/config/configUtils.js.map +1 -0
- package/dist/config/harperConfigEnvVars.d.ts +46 -0
- package/dist/config/harperConfigEnvVars.js +527 -0
- package/dist/config/harperConfigEnvVars.js.map +1 -0
- package/dist/dataLayer/CreateAttributeObject.d.ts +19 -0
- package/dist/dataLayer/CreateAttributeObject.js +23 -0
- package/dist/dataLayer/CreateAttributeObject.js.map +1 -0
- package/dist/dataLayer/CreateTableObject.d.ts +7 -0
- package/dist/dataLayer/CreateTableObject.js +10 -0
- package/dist/dataLayer/CreateTableObject.js.map +1 -0
- package/dist/dataLayer/DataLayerObjects.d.ts +22 -0
- package/dist/dataLayer/DataLayerObjects.js +33 -0
- package/dist/dataLayer/DataLayerObjects.js.map +1 -0
- package/dist/dataLayer/DeleteBeforeObject.d.ts +18 -0
- package/dist/dataLayer/DeleteBeforeObject.js +21 -0
- package/dist/dataLayer/DeleteBeforeObject.js.map +1 -0
- package/dist/dataLayer/DeleteObject.d.ts +19 -0
- package/dist/dataLayer/DeleteObject.js +23 -0
- package/dist/dataLayer/DeleteObject.js.map +1 -0
- package/dist/dataLayer/DropAttributeObject.d.ts +7 -0
- package/dist/dataLayer/DropAttributeObject.js +10 -0
- package/dist/dataLayer/DropAttributeObject.js.map +1 -0
- package/dist/dataLayer/GetBackupObject.d.ts +16 -0
- package/dist/dataLayer/GetBackupObject.js +20 -0
- package/dist/dataLayer/GetBackupObject.js.map +1 -0
- package/dist/dataLayer/InsertObject.d.ts +20 -0
- package/dist/dataLayer/InsertObject.js +24 -0
- package/dist/dataLayer/InsertObject.js.map +1 -0
- package/dist/dataLayer/ReadAuditLogObject.d.ts +18 -0
- package/dist/dataLayer/ReadAuditLogObject.js +22 -0
- package/dist/dataLayer/ReadAuditLogObject.js.map +1 -0
- package/dist/dataLayer/SQLSearch.d.ts +171 -0
- package/dist/dataLayer/SQLSearch.js +1168 -0
- package/dist/dataLayer/SQLSearch.js.map +1 -0
- package/dist/dataLayer/SearchByConditionsObject.d.ts +85 -0
- package/dist/dataLayer/SearchByConditionsObject.js +57 -0
- package/dist/dataLayer/SearchByConditionsObject.js.map +1 -0
- package/dist/dataLayer/SearchByHashObject.d.ts +17 -0
- package/dist/dataLayer/SearchByHashObject.js +20 -0
- package/dist/dataLayer/SearchByHashObject.js.map +1 -0
- package/dist/dataLayer/SearchObject.d.ts +30 -0
- package/dist/dataLayer/SearchObject.js +33 -0
- package/dist/dataLayer/SearchObject.js.map +1 -0
- package/dist/dataLayer/SqlSearchObject.d.ts +10 -0
- package/dist/dataLayer/SqlSearchObject.js +13 -0
- package/dist/dataLayer/SqlSearchObject.js.map +1 -0
- package/dist/dataLayer/UpdateObject.d.ts +18 -0
- package/dist/dataLayer/UpdateObject.js +22 -0
- package/dist/dataLayer/UpdateObject.js.map +1 -0
- package/dist/dataLayer/UpsertObject.d.ts +18 -0
- package/dist/dataLayer/UpsertObject.js +22 -0
- package/dist/dataLayer/UpsertObject.js.map +1 -0
- package/dist/dataLayer/bulkLoad.d.ts +28 -0
- package/dist/dataLayer/bulkLoad.js +624 -0
- package/dist/dataLayer/bulkLoad.js.map +1 -0
- package/dist/dataLayer/dataObjects/BulkLoadObjects.d.ts +17 -0
- package/dist/dataLayer/dataObjects/BulkLoadObjects.js +25 -0
- package/dist/dataLayer/dataObjects/BulkLoadObjects.js.map +1 -0
- package/dist/dataLayer/dataObjects/UpsertObject.d.ts +18 -0
- package/dist/dataLayer/dataObjects/UpsertObject.js +22 -0
- package/dist/dataLayer/dataObjects/UpsertObject.js.map +1 -0
- package/dist/dataLayer/delete.d.ts +22 -0
- package/dist/dataLayer/delete.js +111 -0
- package/dist/dataLayer/delete.js.map +1 -0
- package/dist/dataLayer/export.d.ts +15 -0
- package/dist/dataLayer/export.js +302 -0
- package/dist/dataLayer/export.js.map +1 -0
- package/dist/dataLayer/getBackup.d.ts +8 -0
- package/dist/dataLayer/getBackup.js +28 -0
- package/dist/dataLayer/getBackup.js.map +1 -0
- package/dist/dataLayer/harperBridge/BridgeMethods.d.ts +24 -0
- package/dist/dataLayer/harperBridge/BridgeMethods.js +62 -0
- package/dist/dataLayer/harperBridge/BridgeMethods.js.map +1 -0
- package/dist/dataLayer/harperBridge/ResourceBridge.d.ts +104 -0
- package/dist/dataLayer/harperBridge/ResourceBridge.js +630 -0
- package/dist/dataLayer/harperBridge/ResourceBridge.js.map +1 -0
- package/dist/dataLayer/harperBridge/bridgeUtility/insertUpdateReturnObj.d.ts +14 -0
- package/dist/dataLayer/harperBridge/bridgeUtility/insertUpdateReturnObj.js +24 -0
- package/dist/dataLayer/harperBridge/bridgeUtility/insertUpdateReturnObj.js.map +1 -0
- package/dist/dataLayer/harperBridge/bridgeUtility/insertUpdateValidate.d.ts +11 -0
- package/dist/dataLayer/harperBridge/bridgeUtility/insertUpdateValidate.js +68 -0
- package/dist/dataLayer/harperBridge/bridgeUtility/insertUpdateValidate.js.map +1 -0
- package/dist/dataLayer/harperBridge/harperBridge.d.ts +2 -0
- package/dist/dataLayer/harperBridge/harperBridge.js +18 -0
- package/dist/dataLayer/harperBridge/harperBridge.js.map +1 -0
- package/dist/dataLayer/harperBridge/lmdbBridge/LMDBBridge.d.ts +47 -0
- package/dist/dataLayer/harperBridge/lmdbBridge/LMDBBridge.js +99 -0
- package/dist/dataLayer/harperBridge/lmdbBridge/LMDBBridge.js.map +1 -0
- package/dist/dataLayer/harperBridge/lmdbBridge/lmdbMethods/DeleteAuditLogsBeforeResults.d.ts +15 -0
- package/dist/dataLayer/harperBridge/lmdbBridge/lmdbMethods/DeleteAuditLogsBeforeResults.js +18 -0
- package/dist/dataLayer/harperBridge/lmdbBridge/lmdbMethods/DeleteAuditLogsBeforeResults.js.map +1 -0
- package/dist/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbCreateAttribute.d.ts +12 -0
- package/dist/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbCreateAttribute.js +74 -0
- package/dist/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbCreateAttribute.js.map +1 -0
- package/dist/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbCreateRecords.d.ts +13 -0
- package/dist/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbCreateRecords.js +54 -0
- package/dist/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbCreateRecords.js.map +1 -0
- package/dist/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbCreateSchema.d.ts +6 -0
- package/dist/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbCreateSchema.js +23 -0
- package/dist/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbCreateSchema.js.map +1 -0
- package/dist/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbCreateTable.d.ts +8 -0
- package/dist/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbCreateTable.js +62 -0
- package/dist/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbCreateTable.js.map +1 -0
- package/dist/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbDeleteAuditLogsBefore.d.ts +8 -0
- package/dist/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbDeleteAuditLogsBefore.js +82 -0
- package/dist/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbDeleteAuditLogsBefore.js.map +1 -0
- package/dist/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbDeleteRecords.d.ts +11 -0
- package/dist/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbDeleteRecords.js +76 -0
- package/dist/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbDeleteRecords.js.map +1 -0
- package/dist/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbDropAttribute.d.ts +9 -0
- package/dist/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbDropAttribute.js +83 -0
- package/dist/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbDropAttribute.js.map +1 -0
- package/dist/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbDropSchema.d.ts +6 -0
- package/dist/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbDropSchema.js +73 -0
- package/dist/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbDropSchema.js.map +1 -0
- package/dist/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbDropTable.d.ts +6 -0
- package/dist/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbDropTable.js +110 -0
- package/dist/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbDropTable.js.map +1 -0
- package/dist/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbFlush.d.ts +14 -0
- package/dist/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbFlush.js +33 -0
- package/dist/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbFlush.js.map +1 -0
- package/dist/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbGetBackup.d.ts +7 -0
- package/dist/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbGetBackup.js +110 -0
- package/dist/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbGetBackup.js.map +1 -0
- package/dist/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbGetDataByHash.d.ts +6 -0
- package/dist/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbGetDataByHash.js +21 -0
- package/dist/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbGetDataByHash.js.map +1 -0
- package/dist/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbGetDataByValue.d.ts +14 -0
- package/dist/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbGetDataByValue.js +25 -0
- package/dist/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbGetDataByValue.js.map +1 -0
- package/dist/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbReadAuditLog.d.ts +7 -0
- package/dist/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbReadAuditLog.js +180 -0
- package/dist/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbReadAuditLog.js.map +1 -0
- package/dist/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbSearchByConditions.d.ts +8 -0
- package/dist/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbSearchByConditions.js +134 -0
- package/dist/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbSearchByConditions.js.map +1 -0
- package/dist/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbSearchByHash.d.ts +6 -0
- package/dist/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbSearchByHash.js +14 -0
- package/dist/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbSearchByHash.js.map +1 -0
- package/dist/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbSearchByValue.d.ts +15 -0
- package/dist/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbSearchByValue.js +26 -0
- package/dist/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbSearchByValue.js.map +1 -0
- package/dist/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbTransaction.d.ts +8 -0
- package/dist/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbTransaction.js +17 -0
- package/dist/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbTransaction.js.map +1 -0
- package/dist/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbUpdateRecords.d.ts +12 -0
- package/dist/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbUpdateRecords.js +52 -0
- package/dist/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbUpdateRecords.js.map +1 -0
- package/dist/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbUpsertRecords.d.ts +15 -0
- package/dist/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbUpsertRecords.js +56 -0
- package/dist/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbUpsertRecords.js.map +1 -0
- package/dist/dataLayer/harperBridge/lmdbBridge/lmdbUtility/LMDBCreateAttributeObject.d.ts +16 -0
- package/dist/dataLayer/harperBridge/lmdbBridge/lmdbUtility/LMDBCreateAttributeObject.js +20 -0
- package/dist/dataLayer/harperBridge/lmdbBridge/lmdbUtility/LMDBCreateAttributeObject.js.map +1 -0
- package/dist/dataLayer/harperBridge/lmdbBridge/lmdbUtility/LMDBDeleteTransactionObject.d.ts +16 -0
- package/dist/dataLayer/harperBridge/lmdbBridge/lmdbUtility/LMDBDeleteTransactionObject.js +22 -0
- package/dist/dataLayer/harperBridge/lmdbBridge/lmdbUtility/LMDBDeleteTransactionObject.js.map +1 -0
- package/dist/dataLayer/harperBridge/lmdbBridge/lmdbUtility/LMDBInsertTransactionObject.d.ts +16 -0
- package/dist/dataLayer/harperBridge/lmdbBridge/lmdbUtility/LMDBInsertTransactionObject.js +21 -0
- package/dist/dataLayer/harperBridge/lmdbBridge/lmdbUtility/LMDBInsertTransactionObject.js.map +1 -0
- package/dist/dataLayer/harperBridge/lmdbBridge/lmdbUtility/LMDBTransactionObject.d.ts +19 -0
- package/dist/dataLayer/harperBridge/lmdbBridge/lmdbUtility/LMDBTransactionObject.js +22 -0
- package/dist/dataLayer/harperBridge/lmdbBridge/lmdbUtility/LMDBTransactionObject.js.map +1 -0
- package/dist/dataLayer/harperBridge/lmdbBridge/lmdbUtility/LMDBUpdateTransactionObject.d.ts +18 -0
- package/dist/dataLayer/harperBridge/lmdbBridge/lmdbUtility/LMDBUpdateTransactionObject.js +23 -0
- package/dist/dataLayer/harperBridge/lmdbBridge/lmdbUtility/LMDBUpdateTransactionObject.js.map +1 -0
- package/dist/dataLayer/harperBridge/lmdbBridge/lmdbUtility/LMDBUpsertTransactionObject.d.ts +18 -0
- package/dist/dataLayer/harperBridge/lmdbBridge/lmdbUtility/LMDBUpsertTransactionObject.js +23 -0
- package/dist/dataLayer/harperBridge/lmdbBridge/lmdbUtility/LMDBUpsertTransactionObject.js.map +1 -0
- package/dist/dataLayer/harperBridge/lmdbBridge/lmdbUtility/TableSizeObject.d.ts +21 -0
- package/dist/dataLayer/harperBridge/lmdbBridge/lmdbUtility/TableSizeObject.js +24 -0
- package/dist/dataLayer/harperBridge/lmdbBridge/lmdbUtility/TableSizeObject.js.map +1 -0
- package/dist/dataLayer/harperBridge/lmdbBridge/lmdbUtility/initializeHashSearch.d.ts +7 -0
- package/dist/dataLayer/harperBridge/lmdbBridge/lmdbUtility/initializeHashSearch.js +19 -0
- package/dist/dataLayer/harperBridge/lmdbBridge/lmdbUtility/initializeHashSearch.js.map +1 -0
- package/dist/dataLayer/harperBridge/lmdbBridge/lmdbUtility/initializePaths.d.ts +22 -0
- package/dist/dataLayer/harperBridge/lmdbBridge/lmdbUtility/initializePaths.js +137 -0
- package/dist/dataLayer/harperBridge/lmdbBridge/lmdbUtility/initializePaths.js.map +1 -0
- package/dist/dataLayer/harperBridge/lmdbBridge/lmdbUtility/lmdbCheckForNewAttributes.d.ts +9 -0
- package/dist/dataLayer/harperBridge/lmdbBridge/lmdbUtility/lmdbCheckForNewAttributes.js +73 -0
- package/dist/dataLayer/harperBridge/lmdbBridge/lmdbUtility/lmdbCheckForNewAttributes.js.map +1 -0
- package/dist/dataLayer/harperBridge/lmdbBridge/lmdbUtility/lmdbCreateTransactionsAuditEnvironment.d.ts +8 -0
- package/dist/dataLayer/harperBridge/lmdbBridge/lmdbUtility/lmdbCreateTransactionsAuditEnvironment.js +38 -0
- package/dist/dataLayer/harperBridge/lmdbBridge/lmdbUtility/lmdbCreateTransactionsAuditEnvironment.js.map +1 -0
- package/dist/dataLayer/harperBridge/lmdbBridge/lmdbUtility/lmdbGetTableSize.d.ts +8 -0
- package/dist/dataLayer/harperBridge/lmdbBridge/lmdbUtility/lmdbGetTableSize.js +29 -0
- package/dist/dataLayer/harperBridge/lmdbBridge/lmdbUtility/lmdbGetTableSize.js.map +1 -0
- package/dist/dataLayer/harperBridge/lmdbBridge/lmdbUtility/lmdbProcessRows.d.ts +17 -0
- package/dist/dataLayer/harperBridge/lmdbBridge/lmdbUtility/lmdbProcessRows.js +63 -0
- package/dist/dataLayer/harperBridge/lmdbBridge/lmdbUtility/lmdbProcessRows.js.map +1 -0
- package/dist/dataLayer/harperBridge/lmdbBridge/lmdbUtility/lmdbSearch.d.ts +106 -0
- package/dist/dataLayer/harperBridge/lmdbBridge/lmdbUtility/lmdbSearch.js +251 -0
- package/dist/dataLayer/harperBridge/lmdbBridge/lmdbUtility/lmdbSearch.js.map +1 -0
- package/dist/dataLayer/harperBridge/lmdbBridge/lmdbUtility/lmdbWriteTransaction.d.ts +8 -0
- package/dist/dataLayer/harperBridge/lmdbBridge/lmdbUtility/lmdbWriteTransaction.js +66 -0
- package/dist/dataLayer/harperBridge/lmdbBridge/lmdbUtility/lmdbWriteTransaction.js.map +1 -0
- package/dist/dataLayer/hdbInfoController.d.ts +28 -0
- package/dist/dataLayer/hdbInfoController.js +203 -0
- package/dist/dataLayer/hdbInfoController.js.map +1 -0
- package/dist/dataLayer/insert.d.ts +44 -0
- package/dist/dataLayer/insert.js +192 -0
- package/dist/dataLayer/insert.js.map +1 -0
- package/dist/dataLayer/readAuditLog.d.ts +8 -0
- package/dist/dataLayer/readAuditLog.js +37 -0
- package/dist/dataLayer/readAuditLog.js.map +1 -0
- package/dist/dataLayer/schema.d.ts +24 -0
- package/dist/dataLayer/schema.js +225 -0
- package/dist/dataLayer/schema.js.map +1 -0
- package/dist/dataLayer/schemaDescribe.d.ts +26 -0
- package/dist/dataLayer/schemaDescribe.js +265 -0
- package/dist/dataLayer/schemaDescribe.js.map +1 -0
- package/dist/dataLayer/search.d.ts +4 -0
- package/dist/dataLayer/search.js +56 -0
- package/dist/dataLayer/search.js.map +1 -0
- package/dist/dataLayer/transaction.d.ts +8 -0
- package/dist/dataLayer/transaction.js +16 -0
- package/dist/dataLayer/transaction.js.map +1 -0
- package/dist/dataLayer/update.d.ts +15 -0
- package/dist/dataLayer/update.js +107 -0
- package/dist/dataLayer/update.js.map +1 -0
- package/dist/globals.d.ts +7 -0
- package/dist/globals.js +12 -0
- package/dist/globals.js.map +1 -0
- package/dist/index.d.ts +7 -0
- package/dist/index.js +40 -0
- package/dist/index.js.map +1 -0
- package/dist/json/systemSchema.json +373 -0
- package/dist/launchServiceScripts/utility/checkNodeVersion.d.ts +4 -0
- package/dist/launchServiceScripts/utility/checkNodeVersion.js +13 -0
- package/dist/launchServiceScripts/utility/checkNodeVersion.js.map +1 -0
- package/dist/resources/DatabaseTransaction.d.ts +96 -0
- package/dist/resources/DatabaseTransaction.js +354 -0
- package/dist/resources/DatabaseTransaction.js.map +1 -0
- package/dist/resources/ErrorResource.d.ts +26 -0
- package/dist/resources/ErrorResource.js +60 -0
- package/dist/resources/ErrorResource.js.map +1 -0
- package/dist/resources/IterableEventQueue.d.ts +19 -0
- package/dist/resources/IterableEventQueue.js +103 -0
- package/dist/resources/IterableEventQueue.js.map +1 -0
- package/dist/resources/LMDBTransaction.d.ts +43 -0
- package/dist/resources/LMDBTransaction.js +371 -0
- package/dist/resources/LMDBTransaction.js.map +1 -0
- package/dist/resources/RecordEncoder.d.ts +65 -0
- package/dist/resources/RecordEncoder.js +700 -0
- package/dist/resources/RecordEncoder.js.map +1 -0
- package/dist/resources/RequestTarget.d.ts +57 -0
- package/dist/resources/RequestTarget.js +91 -0
- package/dist/resources/RequestTarget.js.map +1 -0
- package/dist/resources/Resource.d.ts +152 -0
- package/dist/resources/Resource.js +727 -0
- package/dist/resources/Resource.js.map +1 -0
- package/dist/resources/ResourceInterface.d.ts +162 -0
- package/dist/resources/ResourceInterface.js +3 -0
- package/dist/resources/ResourceInterface.js.map +1 -0
- package/dist/resources/ResourceInterfaceV2.d.ts +21 -0
- package/dist/resources/ResourceInterfaceV2.js +3 -0
- package/dist/resources/ResourceInterfaceV2.js.map +1 -0
- package/dist/resources/ResourceV2.d.ts +30 -0
- package/dist/resources/ResourceV2.js +27 -0
- package/dist/resources/ResourceV2.js.map +1 -0
- package/dist/resources/Resources.d.ts +36 -0
- package/dist/resources/Resources.js +155 -0
- package/dist/resources/Resources.js.map +1 -0
- package/dist/resources/RocksIndexStore.d.ts +24 -0
- package/dist/resources/RocksIndexStore.js +54 -0
- package/dist/resources/RocksIndexStore.js.map +1 -0
- package/dist/resources/RocksTransactionLogStore.d.ts +60 -0
- package/dist/resources/RocksTransactionLogStore.js +344 -0
- package/dist/resources/RocksTransactionLogStore.js.map +1 -0
- package/dist/resources/Table.d.ts +854 -0
- package/dist/resources/Table.js +4350 -0
- package/dist/resources/Table.js.map +1 -0
- package/dist/resources/analytics/hostnames.d.ts +16 -0
- package/dist/resources/analytics/hostnames.js +72 -0
- package/dist/resources/analytics/hostnames.js.map +1 -0
- package/dist/resources/analytics/metadata.d.ts +9 -0
- package/dist/resources/analytics/metadata.js +12 -0
- package/dist/resources/analytics/metadata.js.map +1 -0
- package/dist/resources/analytics/profile.d.ts +2 -0
- package/dist/resources/analytics/profile.js +144 -0
- package/dist/resources/analytics/profile.js.map +1 -0
- package/dist/resources/analytics/read.d.ts +41 -0
- package/dist/resources/analytics/read.js +189 -0
- package/dist/resources/analytics/read.js.map +1 -0
- package/dist/resources/analytics/write.d.ts +131 -0
- package/dist/resources/analytics/write.js +822 -0
- package/dist/resources/analytics/write.js.map +1 -0
- package/dist/resources/auditStore.d.ts +81 -0
- package/dist/resources/auditStore.js +572 -0
- package/dist/resources/auditStore.js.map +1 -0
- package/dist/resources/blob.d.ts +137 -0
- package/dist/resources/blob.js +1273 -0
- package/dist/resources/blob.js.map +1 -0
- package/dist/resources/crdt.d.ts +19 -0
- package/dist/resources/crdt.js +146 -0
- package/dist/resources/crdt.js.map +1 -0
- package/dist/resources/dataLoader.d.ts +98 -0
- package/dist/resources/dataLoader.js +461 -0
- package/dist/resources/dataLoader.js.map +1 -0
- package/dist/resources/databases.d.ts +131 -0
- package/dist/resources/databases.js +1220 -0
- package/dist/resources/databases.js.map +1 -0
- package/dist/resources/graphql.d.ts +19 -0
- package/dist/resources/graphql.js +223 -0
- package/dist/resources/graphql.js.map +1 -0
- package/dist/resources/indexes/HierarchicalNavigableSmallWorld.d.ts +87 -0
- package/dist/resources/indexes/HierarchicalNavigableSmallWorld.js +598 -0
- package/dist/resources/indexes/HierarchicalNavigableSmallWorld.js.map +1 -0
- package/dist/resources/indexes/customIndexes.d.ts +4 -0
- package/dist/resources/indexes/customIndexes.js +10 -0
- package/dist/resources/indexes/customIndexes.js.map +1 -0
- package/dist/resources/indexes/vector.d.ts +2 -0
- package/dist/resources/indexes/vector.js +40 -0
- package/dist/resources/indexes/vector.js.map +1 -0
- package/dist/resources/jsResource.d.ts +24 -0
- package/dist/resources/jsResource.js +82 -0
- package/dist/resources/jsResource.js.map +1 -0
- package/dist/resources/loadEnv.d.ts +5 -0
- package/dist/resources/loadEnv.js +28 -0
- package/dist/resources/loadEnv.js.map +1 -0
- package/dist/resources/login.d.ts +3 -0
- package/dist/resources/login.js +22 -0
- package/dist/resources/login.js.map +1 -0
- package/dist/resources/openApi.d.ts +27 -0
- package/dist/resources/openApi.js +327 -0
- package/dist/resources/openApi.js.map +1 -0
- package/dist/resources/registrationDeprecated.d.ts +4 -0
- package/dist/resources/registrationDeprecated.js +11 -0
- package/dist/resources/registrationDeprecated.js.map +1 -0
- package/dist/resources/replayLogs.d.ts +2 -0
- package/dist/resources/replayLogs.js +170 -0
- package/dist/resources/replayLogs.js.map +1 -0
- package/dist/resources/roles.d.ts +11 -0
- package/dist/resources/roles.js +102 -0
- package/dist/resources/roles.js.map +1 -0
- package/dist/resources/search.d.ts +39 -0
- package/dist/resources/search.js +1333 -0
- package/dist/resources/search.js.map +1 -0
- package/dist/resources/tracked.d.ts +49 -0
- package/dist/resources/tracked.js +665 -0
- package/dist/resources/tracked.js.map +1 -0
- package/dist/resources/transaction.d.ts +9 -0
- package/dist/resources/transaction.js +89 -0
- package/dist/resources/transaction.js.map +1 -0
- package/dist/resources/transactionBroadcast.d.ts +38 -0
- package/dist/resources/transactionBroadcast.js +263 -0
- package/dist/resources/transactionBroadcast.js.map +1 -0
- package/dist/security/auth.d.ts +9 -0
- package/dist/security/auth.js +408 -0
- package/dist/security/auth.js.map +1 -0
- package/dist/security/certificateVerification/certificateVerificationSource.d.ts +18 -0
- package/dist/security/certificateVerification/certificateVerificationSource.js +78 -0
- package/dist/security/certificateVerification/certificateVerificationSource.js.map +1 -0
- package/dist/security/certificateVerification/configValidation.d.ts +14 -0
- package/dist/security/certificateVerification/configValidation.js +101 -0
- package/dist/security/certificateVerification/configValidation.js.map +1 -0
- package/dist/security/certificateVerification/crlVerification.d.ts +29 -0
- package/dist/security/certificateVerification/crlVerification.js +564 -0
- package/dist/security/certificateVerification/crlVerification.js.map +1 -0
- package/dist/security/certificateVerification/index.d.ts +31 -0
- package/dist/security/certificateVerification/index.js +111 -0
- package/dist/security/certificateVerification/index.js.map +1 -0
- package/dist/security/certificateVerification/ocspVerification.d.ts +23 -0
- package/dist/security/certificateVerification/ocspVerification.js +117 -0
- package/dist/security/certificateVerification/ocspVerification.js.map +1 -0
- package/dist/security/certificateVerification/pkijs-ed25519-patch.d.ts +14 -0
- package/dist/security/certificateVerification/pkijs-ed25519-patch.js +183 -0
- package/dist/security/certificateVerification/pkijs-ed25519-patch.js.map +1 -0
- package/dist/security/certificateVerification/types.d.ts +105 -0
- package/dist/security/certificateVerification/types.js +6 -0
- package/dist/security/certificateVerification/types.js.map +1 -0
- package/dist/security/certificateVerification/verificationConfig.d.ts +29 -0
- package/dist/security/certificateVerification/verificationConfig.js +121 -0
- package/dist/security/certificateVerification/verificationConfig.js.map +1 -0
- package/dist/security/certificateVerification/verificationUtils.d.ts +79 -0
- package/dist/security/certificateVerification/verificationUtils.js +441 -0
- package/dist/security/certificateVerification/verificationUtils.js.map +1 -0
- package/dist/security/cryptoHash.d.ts +2 -0
- package/dist/security/cryptoHash.js +35 -0
- package/dist/security/cryptoHash.js.map +1 -0
- package/dist/security/data_objects/PermissionAttributeResponseObject.d.ts +11 -0
- package/dist/security/data_objects/PermissionAttributeResponseObject.js +14 -0
- package/dist/security/data_objects/PermissionAttributeResponseObject.js.map +1 -0
- package/dist/security/data_objects/PermissionResponseObject.d.ts +57 -0
- package/dist/security/data_objects/PermissionResponseObject.js +105 -0
- package/dist/security/data_objects/PermissionResponseObject.js.map +1 -0
- package/dist/security/data_objects/PermissionTableResponseObject.d.ts +16 -0
- package/dist/security/data_objects/PermissionTableResponseObject.js +19 -0
- package/dist/security/data_objects/PermissionTableResponseObject.js.map +1 -0
- package/dist/security/fastifyAuth.d.ts +2 -0
- package/dist/security/fastifyAuth.js +135 -0
- package/dist/security/fastifyAuth.js.map +1 -0
- package/dist/security/impersonation.d.ts +11 -0
- package/dist/security/impersonation.js +139 -0
- package/dist/security/impersonation.js.map +1 -0
- package/dist/security/jsLoader.d.ts +9 -0
- package/dist/security/jsLoader.js +522 -0
- package/dist/security/jsLoader.js.map +1 -0
- package/dist/security/keys.d.ts +119 -0
- package/dist/security/keys.js +866 -0
- package/dist/security/keys.js.map +1 -0
- package/dist/security/permissionsTranslator.d.ts +9 -0
- package/dist/security/permissionsTranslator.js +269 -0
- package/dist/security/permissionsTranslator.js.map +1 -0
- package/dist/security/role.d.ts +5 -0
- package/dist/security/role.js +160 -0
- package/dist/security/role.js.map +1 -0
- package/dist/security/tokenAuthentication.d.ts +38 -0
- package/dist/security/tokenAuthentication.js +205 -0
- package/dist/security/tokenAuthentication.js.map +1 -0
- package/dist/security/user.d.ts +77 -0
- package/dist/security/user.js +349 -0
- package/dist/security/user.js.map +1 -0
- package/dist/server/DurableSubscriptionsSession.d.ts +74 -0
- package/dist/server/DurableSubscriptionsSession.js +511 -0
- package/dist/server/DurableSubscriptionsSession.js.map +1 -0
- package/dist/server/REST.d.ts +16 -0
- package/dist/server/REST.js +423 -0
- package/dist/server/REST.js.map +1 -0
- package/dist/server/Server.d.ts +62 -0
- package/dist/server/Server.js +27 -0
- package/dist/server/Server.js.map +1 -0
- package/dist/server/fastifyRoutes/helpers/getCORSOptions.d.ts +11 -0
- package/dist/server/fastifyRoutes/helpers/getCORSOptions.js +32 -0
- package/dist/server/fastifyRoutes/helpers/getCORSOptions.js.map +1 -0
- package/dist/server/fastifyRoutes/helpers/getHeaderTimeoutConfig.d.ts +6 -0
- package/dist/server/fastifyRoutes/helpers/getHeaderTimeoutConfig.js +13 -0
- package/dist/server/fastifyRoutes/helpers/getHeaderTimeoutConfig.js.map +1 -0
- package/dist/server/fastifyRoutes/helpers/getServerOptions.d.ts +12 -0
- package/dist/server/fastifyRoutes/helpers/getServerOptions.js +30 -0
- package/dist/server/fastifyRoutes/helpers/getServerOptions.js.map +1 -0
- package/dist/server/fastifyRoutes/plugins/hdbCore.d.ts +2 -0
- package/dist/server/fastifyRoutes/plugins/hdbCore.js +31 -0
- package/dist/server/fastifyRoutes/plugins/hdbCore.js.map +1 -0
- package/dist/server/fastifyRoutes.d.ts +25 -0
- package/dist/server/fastifyRoutes.js +235 -0
- package/dist/server/fastifyRoutes.js.map +1 -0
- package/dist/server/graphqlQuerying.d.ts +1 -0
- package/dist/server/graphqlQuerying.js +630 -0
- package/dist/server/graphqlQuerying.js.map +1 -0
- package/dist/server/http.d.ts +15 -0
- package/dist/server/http.js +650 -0
- package/dist/server/http.js.map +1 -0
- package/dist/server/itc/serverHandlers.d.ts +10 -0
- package/dist/server/itc/serverHandlers.js +153 -0
- package/dist/server/itc/serverHandlers.js.map +1 -0
- package/dist/server/itc/utility/ITCEventObject.d.ts +6 -0
- package/dist/server/itc/utility/ITCEventObject.js +9 -0
- package/dist/server/itc/utility/ITCEventObject.js.map +1 -0
- package/dist/server/jobs/JobObject.d.ts +15 -0
- package/dist/server/jobs/JobObject.js +22 -0
- package/dist/server/jobs/JobObject.js.map +1 -0
- package/dist/server/jobs/jobProcess.d.ts +1 -0
- package/dist/server/jobs/jobProcess.js +66 -0
- package/dist/server/jobs/jobProcess.js.map +1 -0
- package/dist/server/jobs/jobRunner.d.ts +11 -0
- package/dist/server/jobs/jobRunner.js +160 -0
- package/dist/server/jobs/jobRunner.js.map +1 -0
- package/dist/server/jobs/jobs.d.ts +20 -0
- package/dist/server/jobs/jobs.js +267 -0
- package/dist/server/jobs/jobs.js.map +1 -0
- package/dist/server/loadRootComponents.d.ts +5 -0
- package/dist/server/loadRootComponents.js +45 -0
- package/dist/server/loadRootComponents.js.map +1 -0
- package/dist/server/mqtt.d.ts +9 -0
- package/dist/server/mqtt.js +466 -0
- package/dist/server/mqtt.js.map +1 -0
- package/dist/server/nodeName.d.ts +5 -0
- package/dist/server/nodeName.js +84 -0
- package/dist/server/nodeName.js.map +1 -0
- package/dist/server/operationsServer.d.ts +48 -0
- package/dist/server/operationsServer.js +265 -0
- package/dist/server/operationsServer.js.map +1 -0
- package/dist/server/serverHelpers/Headers.d.ts +20 -0
- package/dist/server/serverHelpers/Headers.js +134 -0
- package/dist/server/serverHelpers/Headers.js.map +1 -0
- package/dist/server/serverHelpers/JSONStream.d.ts +14 -0
- package/dist/server/serverHelpers/JSONStream.js +322 -0
- package/dist/server/serverHelpers/JSONStream.js.map +1 -0
- package/dist/server/serverHelpers/OperationFunctionObject.d.ts +9 -0
- package/dist/server/serverHelpers/OperationFunctionObject.js +17 -0
- package/dist/server/serverHelpers/OperationFunctionObject.js.map +1 -0
- package/dist/server/serverHelpers/Request.d.ts +69 -0
- package/dist/server/serverHelpers/Request.js +141 -0
- package/dist/server/serverHelpers/Request.js.map +1 -0
- package/dist/server/serverHelpers/contentTypes.d.ts +57 -0
- package/dist/server/serverHelpers/contentTypes.js +639 -0
- package/dist/server/serverHelpers/contentTypes.js.map +1 -0
- package/dist/server/serverHelpers/requestTimePlugin.d.ts +2 -0
- package/dist/server/serverHelpers/requestTimePlugin.js +56 -0
- package/dist/server/serverHelpers/requestTimePlugin.js.map +1 -0
- package/dist/server/serverHelpers/serverHandlers.d.ts +6 -0
- package/dist/server/serverHelpers/serverHandlers.js +130 -0
- package/dist/server/serverHelpers/serverHandlers.js.map +1 -0
- package/dist/server/serverHelpers/serverUtilities.d.ts +29 -0
- package/dist/server/serverHelpers/serverUtilities.js +356 -0
- package/dist/server/serverHelpers/serverUtilities.js.map +1 -0
- package/dist/server/serverRegistry.d.ts +3 -0
- package/dist/server/serverRegistry.js +11 -0
- package/dist/server/serverRegistry.js.map +1 -0
- package/dist/server/static.d.ts +16 -0
- package/dist/server/static.js +164 -0
- package/dist/server/static.js.map +1 -0
- package/dist/server/status/definitions.d.ts +27 -0
- package/dist/server/status/definitions.js +22 -0
- package/dist/server/status/definitions.js.map +1 -0
- package/dist/server/status/index.d.ts +26 -0
- package/dist/server/status/index.js +89 -0
- package/dist/server/status/index.js.map +1 -0
- package/dist/server/storageReclamation.d.ts +18 -0
- package/dist/server/storageReclamation.js +96 -0
- package/dist/server/storageReclamation.js.map +1 -0
- package/dist/server/threads/itc.d.ts +53 -0
- package/dist/server/threads/itc.js +81 -0
- package/dist/server/threads/itc.js.map +1 -0
- package/dist/server/threads/manageThreads.d.ts +30 -0
- package/dist/server/threads/manageThreads.js +579 -0
- package/dist/server/threads/manageThreads.js.map +1 -0
- package/dist/server/threads/socketRouter.d.ts +6 -0
- package/dist/server/threads/socketRouter.js +395 -0
- package/dist/server/threads/socketRouter.js.map +1 -0
- package/dist/server/threads/threadServer.d.ts +5 -0
- package/dist/server/threads/threadServer.js +288 -0
- package/dist/server/threads/threadServer.js.map +1 -0
- package/dist/server/throttle.d.ts +7 -0
- package/dist/server/throttle.js +71 -0
- package/dist/server/throttle.js.map +1 -0
- package/dist/sqlTranslator/SelectValidator.d.ts +79 -0
- package/dist/sqlTranslator/SelectValidator.js +274 -0
- package/dist/sqlTranslator/SelectValidator.js.map +1 -0
- package/dist/sqlTranslator/alasqlFunctionImporter.d.ts +2 -0
- package/dist/sqlTranslator/alasqlFunctionImporter.js +55 -0
- package/dist/sqlTranslator/alasqlFunctionImporter.js.map +1 -0
- package/dist/sqlTranslator/deleteTranslator.d.ts +2 -0
- package/dist/sqlTranslator/deleteTranslator.js +56 -0
- package/dist/sqlTranslator/deleteTranslator.js.map +1 -0
- package/dist/sqlTranslator/index.d.ts +16 -0
- package/dist/sqlTranslator/index.js +215 -0
- package/dist/sqlTranslator/index.js.map +1 -0
- package/dist/sqlTranslator/sql_statement_bucket.d.ts +46 -0
- package/dist/sqlTranslator/sql_statement_bucket.js +430 -0
- package/dist/sqlTranslator/sql_statement_bucket.js.map +1 -0
- package/dist/upgrade/UpgradeObjects.d.ts +5 -0
- package/dist/upgrade/UpgradeObjects.js +12 -0
- package/dist/upgrade/UpgradeObjects.js.map +1 -0
- package/dist/upgrade/directives/directivesController.d.ts +30 -0
- package/dist/upgrade/directives/directivesController.js +76 -0
- package/dist/upgrade/directives/directivesController.js.map +1 -0
- package/dist/upgrade/directivesManager.d.ts +7 -0
- package/dist/upgrade/directivesManager.js +125 -0
- package/dist/upgrade/directivesManager.js.map +1 -0
- package/dist/upgrade/upgradePrompt.d.ts +13 -0
- package/dist/upgrade/upgradePrompt.js +102 -0
- package/dist/upgrade/upgradePrompt.js.map +1 -0
- package/dist/upgrade/upgradeUtilities.d.ts +10 -0
- package/dist/upgrade/upgradeUtilities.js +26 -0
- package/dist/upgrade/upgradeUtilities.js.map +1 -0
- package/dist/utility/AWS/AWSConnector.d.ts +2 -0
- package/dist/utility/AWS/AWSConnector.js +26 -0
- package/dist/utility/AWS/AWSConnector.js.map +1 -0
- package/dist/utility/OperationFunctionCaller.d.ts +9 -0
- package/dist/utility/OperationFunctionCaller.js +58 -0
- package/dist/utility/OperationFunctionCaller.js.map +1 -0
- package/dist/utility/assignCmdEnvVariables.d.ts +10 -0
- package/dist/utility/assignCmdEnvVariables.js +55 -0
- package/dist/utility/assignCmdEnvVariables.js.map +1 -0
- package/dist/utility/common_utils.d.ts +264 -0
- package/dist/utility/common_utils.js +806 -0
- package/dist/utility/common_utils.js.map +1 -0
- package/dist/utility/environment/environmentManager.d.ts +41 -0
- package/dist/utility/environment/environmentManager.js +179 -0
- package/dist/utility/environment/environmentManager.js.map +1 -0
- package/dist/utility/environment/systemInformation.d.ts +67 -0
- package/dist/utility/environment/systemInformation.js +326 -0
- package/dist/utility/environment/systemInformation.js.map +1 -0
- package/dist/utility/errors/commonErrors.d.ts +171 -0
- package/dist/utility/errors/commonErrors.js +230 -0
- package/dist/utility/errors/commonErrors.js.map +1 -0
- package/dist/utility/errors/hdbError.d.ts +76 -0
- package/dist/utility/errors/hdbError.js +128 -0
- package/dist/utility/errors/hdbError.js.map +1 -0
- package/dist/utility/functions/date/dateFunctions.d.ts +11 -0
- package/dist/utility/functions/date/dateFunctions.js +64 -0
- package/dist/utility/functions/date/dateFunctions.js.map +1 -0
- package/dist/utility/functions/geo.d.ts +74 -0
- package/dist/utility/functions/geo.js +311 -0
- package/dist/utility/functions/geo.js.map +1 -0
- package/dist/utility/functions/sql/alaSQLExtension.d.ts +13 -0
- package/dist/utility/functions/sql/alaSQLExtension.js +96 -0
- package/dist/utility/functions/sql/alaSQLExtension.js.map +1 -0
- package/dist/utility/globalSchema.d.ts +151 -0
- package/dist/utility/globalSchema.js +34 -0
- package/dist/utility/globalSchema.js.map +1 -0
- package/dist/utility/hdbTerms.d.ts +737 -0
- package/dist/utility/hdbTerms.js +756 -0
- package/dist/utility/hdbTerms.js.map +1 -0
- package/dist/utility/install/checkJWTTokensExist.d.ts +5 -0
- package/dist/utility/install/checkJWTTokensExist.js +53 -0
- package/dist/utility/install/checkJWTTokensExist.js.map +1 -0
- package/dist/utility/install/installer.d.ts +17 -0
- package/dist/utility/install/installer.js +569 -0
- package/dist/utility/install/installer.js.map +1 -0
- package/dist/utility/installation.d.ts +12 -0
- package/dist/utility/installation.js +64 -0
- package/dist/utility/installation.js.map +1 -0
- package/dist/utility/lmdb/DBIDefinition.d.ts +16 -0
- package/dist/utility/lmdb/DBIDefinition.js +19 -0
- package/dist/utility/lmdb/DBIDefinition.js.map +1 -0
- package/dist/utility/lmdb/DeleteRecordsResponseObject.d.ts +21 -0
- package/dist/utility/lmdb/DeleteRecordsResponseObject.js +24 -0
- package/dist/utility/lmdb/DeleteRecordsResponseObject.js.map +1 -0
- package/dist/utility/lmdb/InsertRecordsResponseObject.d.ts +18 -0
- package/dist/utility/lmdb/InsertRecordsResponseObject.js +21 -0
- package/dist/utility/lmdb/InsertRecordsResponseObject.js.map +1 -0
- package/dist/utility/lmdb/OpenDBIObject.d.ts +23 -0
- package/dist/utility/lmdb/OpenDBIObject.js +29 -0
- package/dist/utility/lmdb/OpenDBIObject.js.map +1 -0
- package/dist/utility/lmdb/OpenEnvironmentObject.d.ts +22 -0
- package/dist/utility/lmdb/OpenEnvironmentObject.js +40 -0
- package/dist/utility/lmdb/OpenEnvironmentObject.js.map +1 -0
- package/dist/utility/lmdb/UpdateRecordsResponseObject.d.ts +21 -0
- package/dist/utility/lmdb/UpdateRecordsResponseObject.js +24 -0
- package/dist/utility/lmdb/UpdateRecordsResponseObject.js.map +1 -0
- package/dist/utility/lmdb/UpsertRecordsResponseObject.d.ts +18 -0
- package/dist/utility/lmdb/UpsertRecordsResponseObject.js +21 -0
- package/dist/utility/lmdb/UpsertRecordsResponseObject.js.map +1 -0
- package/dist/utility/lmdb/cleanLMDBMap.d.ts +6 -0
- package/dist/utility/lmdb/cleanLMDBMap.js +63 -0
- package/dist/utility/lmdb/cleanLMDBMap.js.map +1 -0
- package/dist/utility/lmdb/commonUtility.d.ts +28 -0
- package/dist/utility/lmdb/commonUtility.js +120 -0
- package/dist/utility/lmdb/commonUtility.js.map +1 -0
- package/dist/utility/lmdb/deleteUtility.d.ts +10 -0
- package/dist/utility/lmdb/deleteUtility.js +115 -0
- package/dist/utility/lmdb/deleteUtility.js.map +1 -0
- package/dist/utility/lmdb/environmentUtility.d.ts +81 -0
- package/dist/utility/lmdb/environmentUtility.js +432 -0
- package/dist/utility/lmdb/environmentUtility.js.map +1 -0
- package/dist/utility/lmdb/searchCursorFunctions.d.ts +93 -0
- package/dist/utility/lmdb/searchCursorFunctions.js +174 -0
- package/dist/utility/lmdb/searchCursorFunctions.js.map +1 -0
- package/dist/utility/lmdb/searchUtility.d.ts +204 -0
- package/dist/utility/lmdb/searchUtility.js +724 -0
- package/dist/utility/lmdb/searchUtility.js.map +1 -0
- package/dist/utility/lmdb/terms.d.ts +34 -0
- package/dist/utility/lmdb/terms.js +52 -0
- package/dist/utility/lmdb/terms.js.map +1 -0
- package/dist/utility/lmdb/writeUtility.d.ts +32 -0
- package/dist/utility/lmdb/writeUtility.js +360 -0
- package/dist/utility/lmdb/writeUtility.js.map +1 -0
- package/dist/utility/logging/harper_logger.d.ts +141 -0
- package/dist/utility/logging/harper_logger.js +862 -0
- package/dist/utility/logging/harper_logger.js.map +1 -0
- package/dist/utility/logging/logRotator.d.ts +19 -0
- package/dist/utility/logging/logRotator.js +146 -0
- package/dist/utility/logging/logRotator.js.map +1 -0
- package/dist/utility/logging/logger.d.ts +11 -0
- package/dist/utility/logging/logger.js +19 -0
- package/dist/utility/logging/logger.js.map +1 -0
- package/dist/utility/logging/readLog.d.ts +8 -0
- package/dist/utility/logging/readLog.js +339 -0
- package/dist/utility/logging/readLog.js.map +1 -0
- package/dist/utility/logging/transactionLog.d.ts +8 -0
- package/dist/utility/logging/transactionLog.js +46 -0
- package/dist/utility/logging/transactionLog.js.map +1 -0
- package/dist/utility/mount_hdb.d.ts +2 -0
- package/dist/utility/mount_hdb.js +51 -0
- package/dist/utility/mount_hdb.js.map +1 -0
- package/dist/utility/npmUtilities.d.ts +6 -0
- package/dist/utility/npmUtilities.js +91 -0
- package/dist/utility/npmUtilities.js.map +1 -0
- package/dist/utility/operationPermissions.d.ts +36 -0
- package/dist/utility/operationPermissions.js +116 -0
- package/dist/utility/operationPermissions.js.map +1 -0
- package/dist/utility/operation_authorization.d.ts +18 -0
- package/dist/utility/operation_authorization.js +667 -0
- package/dist/utility/operation_authorization.js.map +1 -0
- package/dist/utility/packageUtils.d.ts +9 -0
- package/dist/utility/packageUtils.js +52 -0
- package/dist/utility/packageUtils.js.map +1 -0
- package/dist/utility/password.d.ts +20 -0
- package/dist/utility/password.js +119 -0
- package/dist/utility/password.js.map +1 -0
- package/dist/utility/processManagement/processManagement.d.ts +35 -0
- package/dist/utility/processManagement/processManagement.js +188 -0
- package/dist/utility/processManagement/processManagement.js.map +1 -0
- package/dist/utility/processManagement/servicesConfig.d.ts +29 -0
- package/dist/utility/processManagement/servicesConfig.js +52 -0
- package/dist/utility/processManagement/servicesConfig.js.map +1 -0
- package/dist/utility/scripts/restartHdb.d.ts +1 -0
- package/dist/utility/scripts/restartHdb.js +23 -0
- package/dist/utility/scripts/restartHdb.js.map +1 -0
- package/dist/utility/signalling.d.ts +2 -0
- package/dist/utility/signalling.js +35 -0
- package/dist/utility/signalling.js.map +1 -0
- package/dist/utility/terms/certificates.d.ts +46 -0
- package/dist/utility/terms/certificates.js +65 -0
- package/dist/utility/terms/certificates.js.map +1 -0
- package/dist/utility/when.d.ts +3 -0
- package/dist/utility/when.js +18 -0
- package/dist/utility/when.js.map +1 -0
- package/dist/validation/bulkDeleteValidator.d.ts +2 -0
- package/dist/validation/bulkDeleteValidator.js +21 -0
- package/dist/validation/bulkDeleteValidator.js.map +1 -0
- package/dist/validation/check_permissions.d.ts +2 -0
- package/dist/validation/check_permissions.js +20 -0
- package/dist/validation/check_permissions.js.map +1 -0
- package/dist/validation/common_validators.d.ts +19 -0
- package/dist/validation/common_validators.js +76 -0
- package/dist/validation/common_validators.js.map +1 -0
- package/dist/validation/configValidator.d.ts +8 -0
- package/dist/validation/configValidator.js +292 -0
- package/dist/validation/configValidator.js.map +1 -0
- package/dist/validation/deleteValidator.d.ts +2 -0
- package/dist/validation/deleteValidator.js +15 -0
- package/dist/validation/deleteValidator.js.map +1 -0
- package/dist/validation/fileLoadValidator.d.ts +4 -0
- package/dist/validation/fileLoadValidator.js +138 -0
- package/dist/validation/fileLoadValidator.js.map +1 -0
- package/dist/validation/insertValidator.d.ts +2 -0
- package/dist/validation/insertValidator.js +38 -0
- package/dist/validation/insertValidator.js.map +1 -0
- package/dist/validation/installValidator.d.ts +7 -0
- package/dist/validation/installValidator.js +28 -0
- package/dist/validation/installValidator.js.map +1 -0
- package/dist/validation/readLogValidator.d.ts +2 -0
- package/dist/validation/readLogValidator.js +48 -0
- package/dist/validation/readLogValidator.js.map +1 -0
- package/dist/validation/role_validation.d.ts +3 -0
- package/dist/validation/role_validation.js +284 -0
- package/dist/validation/role_validation.js.map +1 -0
- package/dist/validation/schemaMetadataValidator.d.ts +16 -0
- package/dist/validation/schemaMetadataValidator.js +38 -0
- package/dist/validation/schemaMetadataValidator.js.map +1 -0
- package/dist/validation/searchValidator.d.ts +2 -0
- package/dist/validation/searchValidator.js +141 -0
- package/dist/validation/searchValidator.js.map +1 -0
- package/dist/validation/statusValidator.d.ts +19 -0
- package/dist/validation/statusValidator.js +95 -0
- package/dist/validation/statusValidator.js.map +1 -0
- package/dist/validation/transactionLogValidator.d.ts +2 -0
- package/dist/validation/transactionLogValidator.js +28 -0
- package/dist/validation/transactionLogValidator.js.map +1 -0
- package/dist/validation/user_validation.d.ts +3 -0
- package/dist/validation/user_validation.js +52 -0
- package/dist/validation/user_validation.js.map +1 -0
- package/dist/validation/validationWrapper.d.ts +15 -0
- package/dist/validation/validationWrapper.js +95 -0
- package/dist/validation/validationWrapper.js.map +1 -0
- package/package.json +225 -0
- package/static/README.md +13 -0
- package/static/ascii_logo.txt +21 -0
- package/static/defaultConfig.yaml +75 -0
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Configuration parsing and default values for certificate verification
|
|
4
|
+
*/
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.CRL_USER_AGENT = exports.ERROR_CACHE_TTL = exports.CRL_DEFAULT_VALIDITY_PERIOD = void 0;
|
|
7
|
+
exports.getCachedCertificateVerificationConfig = getCachedCertificateVerificationConfig;
|
|
8
|
+
const logger_ts_1 = require("../../utility/logging/logger.js");
|
|
9
|
+
const packageUtils_js_1 = require("../../utility/packageUtils.js");
|
|
10
|
+
const configValidation_ts_1 = require("./configValidation.js");
|
|
11
|
+
const logger = (0, logger_ts_1.loggerWithTag)('cert-verification-config');
|
|
12
|
+
// Constants for hardcoded values
|
|
13
|
+
exports.CRL_DEFAULT_VALIDITY_PERIOD = 7 * 24 * 60 * 60 * 1000; // 7 days in milliseconds
|
|
14
|
+
exports.ERROR_CACHE_TTL = 300000; // 5 minutes for error caching
|
|
15
|
+
exports.CRL_USER_AGENT = `Harper/${packageUtils_js_1.packageJson.version} CRL-Client`;
|
|
16
|
+
// Configuration cache to avoid redundant parsing on every certificate verification
|
|
17
|
+
// Using WeakMap to prevent memory leaks from holding strong references to config objects
|
|
18
|
+
// This allows garbage collection of config objects when they're no longer referenced elsewhere
|
|
19
|
+
const configCache = new WeakMap();
|
|
20
|
+
let lastPrimitiveConfig = null;
|
|
21
|
+
let lastPrimitiveResult = null;
|
|
22
|
+
// Track validation errors to prevent repeated error logging and provide graceful degradation
|
|
23
|
+
// Maps config object to the error that occurred during validation
|
|
24
|
+
const validationErrorCache = new WeakMap();
|
|
25
|
+
let lastPrimitiveValidationError = null;
|
|
26
|
+
/**
|
|
27
|
+
* Cached version of getCertificateVerificationConfig to avoid redundant parsing
|
|
28
|
+
* This is the recommended function to use in hot paths like certificate verification.
|
|
29
|
+
*
|
|
30
|
+
* MEMORY SAFETY:
|
|
31
|
+
* - Uses WeakMap for object configs to prevent memory leaks
|
|
32
|
+
* - Config objects can be garbage collected when no longer referenced elsewhere
|
|
33
|
+
* - Primitive values (boolean, null, undefined) use simple reference equality
|
|
34
|
+
* - No strong references held to config objects, preventing memory accumulation
|
|
35
|
+
*
|
|
36
|
+
* ERROR HANDLING:
|
|
37
|
+
* - Invalid config causes validation errors to be thrown on first access
|
|
38
|
+
* - Validation errors are logged once and then cached
|
|
39
|
+
* - Subsequent accesses with the same invalid config return false (disabled) to prevent
|
|
40
|
+
* repeated error logging and allow the application to continue running
|
|
41
|
+
* - This provides fail-safe behavior: invalid security config defaults to disabled
|
|
42
|
+
* rather than crashing on every request
|
|
43
|
+
*
|
|
44
|
+
* @param mtlsConfig - The mTLS configuration from env.get()
|
|
45
|
+
* @returns Configuration object or false if verification is disabled or invalid
|
|
46
|
+
*/
|
|
47
|
+
function getCachedCertificateVerificationConfig(mtlsConfig) {
|
|
48
|
+
// Handle primitive values (boolean, null, undefined) with simple caching
|
|
49
|
+
if (typeof mtlsConfig === 'boolean' || mtlsConfig == null) {
|
|
50
|
+
// Check if we've already seen a validation error for this primitive config
|
|
51
|
+
if (mtlsConfig === lastPrimitiveConfig && lastPrimitiveValidationError) {
|
|
52
|
+
logger.trace?.('Using cached validation error result (primitive) - returning disabled');
|
|
53
|
+
return false;
|
|
54
|
+
}
|
|
55
|
+
if (mtlsConfig === lastPrimitiveConfig && lastPrimitiveResult !== null) {
|
|
56
|
+
logger.trace?.('Using cached certificate verification config (primitive)');
|
|
57
|
+
return lastPrimitiveResult;
|
|
58
|
+
}
|
|
59
|
+
logger.trace?.('Parsing and caching certificate verification config (primitive)');
|
|
60
|
+
lastPrimitiveConfig = mtlsConfig;
|
|
61
|
+
try {
|
|
62
|
+
lastPrimitiveResult = getCertificateVerificationConfig(mtlsConfig);
|
|
63
|
+
lastPrimitiveValidationError = null; // Clear any previous error
|
|
64
|
+
return lastPrimitiveResult;
|
|
65
|
+
}
|
|
66
|
+
catch (error) {
|
|
67
|
+
// Cache the validation error to prevent repeated logging
|
|
68
|
+
lastPrimitiveValidationError = error;
|
|
69
|
+
logger.error?.(`Certificate verification config validation failed - defaulting to disabled: ${error.message}`);
|
|
70
|
+
return false; // Fail-safe: invalid config = disabled verification
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
// Check for cached validation error
|
|
74
|
+
const cachedError = validationErrorCache.get(mtlsConfig);
|
|
75
|
+
if (cachedError) {
|
|
76
|
+
logger.trace?.('Using cached validation error result (object) - returning disabled');
|
|
77
|
+
return false;
|
|
78
|
+
}
|
|
79
|
+
const cached = configCache.get(mtlsConfig);
|
|
80
|
+
if (cached !== undefined) {
|
|
81
|
+
logger.trace?.('Using cached certificate verification config (object)');
|
|
82
|
+
return cached;
|
|
83
|
+
}
|
|
84
|
+
// Cache miss: parse and store the result
|
|
85
|
+
logger.trace?.('Parsing and caching certificate verification config (object)');
|
|
86
|
+
try {
|
|
87
|
+
const result = getCertificateVerificationConfig(mtlsConfig);
|
|
88
|
+
configCache.set(mtlsConfig, result);
|
|
89
|
+
return result;
|
|
90
|
+
}
|
|
91
|
+
catch (error) {
|
|
92
|
+
// Cache the validation error to prevent repeated logging
|
|
93
|
+
validationErrorCache.set(mtlsConfig, error);
|
|
94
|
+
logger.error?.(`Certificate verification config validation failed - defaulting to disabled: ${error.message}`);
|
|
95
|
+
return false; // Fail-safe: invalid config = disabled verification
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
/**
|
|
99
|
+
* Determine if certificate verification should be performed based on configuration
|
|
100
|
+
* @param mtlsConfig - The mTLS configuration (can be boolean or object)
|
|
101
|
+
* @returns Configuration object or false if verification is disabled
|
|
102
|
+
*/
|
|
103
|
+
function getCertificateVerificationConfig(mtlsConfig) {
|
|
104
|
+
logger.trace?.(`getCertificateVerificationConfig called with: ${JSON.stringify({ mtlsConfig })}`);
|
|
105
|
+
if (!mtlsConfig)
|
|
106
|
+
return false;
|
|
107
|
+
const verificationConfig = mtlsConfig === true ? undefined : mtlsConfig.certificateVerification;
|
|
108
|
+
logger.trace?.(`Certificate verification config: ${JSON.stringify({ verificationConfig })}`);
|
|
109
|
+
// Default to disabled for initial rollout to allow intentional real-world testing
|
|
110
|
+
// Users must explicitly enable certificate verification with certificateVerification: true or config object
|
|
111
|
+
if (verificationConfig == null || verificationConfig === false)
|
|
112
|
+
return false;
|
|
113
|
+
// Pass through validator for enabled cases (true or object)
|
|
114
|
+
// Convert true to empty object so validator applies all defaults
|
|
115
|
+
// This ensures we always get a complete config with crl and ocsp defaults
|
|
116
|
+
const configToValidate = verificationConfig === true ? {} : verificationConfig;
|
|
117
|
+
// Let validation errors propagate up to getCachedCertificateVerificationConfig
|
|
118
|
+
// which will log them once and cache the error
|
|
119
|
+
return (0, configValidation_ts_1.validateAndParseCertificateVerificationConfig)(configToValidate);
|
|
120
|
+
}
|
|
121
|
+
//# sourceMappingURL=verificationConfig.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"verificationConfig.js","sourceRoot":"","sources":["../../../security/certificateVerification/verificationConfig.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AA+CH,wFA2DC;AAxGD,+DAAgE;AAChE,mEAA4D;AAE5D,+DAAsF;AAEtF,MAAM,MAAM,GAAG,IAAA,yBAAa,EAAC,0BAA0B,CAAC,CAAC;AAEzD,iCAAiC;AACpB,QAAA,2BAA2B,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,yBAAyB;AAChF,QAAA,eAAe,GAAG,MAAM,CAAC,CAAC,8BAA8B;AACxD,QAAA,cAAc,GAAG,UAAU,6BAAW,CAAC,OAAO,aAAa,CAAC;AAEzE,mFAAmF;AACnF,yFAAyF;AACzF,+FAA+F;AAC/F,MAAM,WAAW,GAAG,IAAI,OAAO,EAA8D,CAAC;AAC9F,IAAI,mBAAmB,GAA+B,IAAI,CAAC;AAC3D,IAAI,mBAAmB,GAAiD,IAAI,CAAC;AAE7E,6FAA6F;AAC7F,kEAAkE;AAClE,MAAM,oBAAoB,GAAG,IAAI,OAAO,EAA8B,CAAC;AACvE,IAAI,4BAA4B,GAAiB,IAAI,CAAC;AAEtD;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,SAAgB,sCAAsC,CACrD,UAAiD;IAEjD,yEAAyE;IACzE,IAAI,OAAO,UAAU,KAAK,SAAS,IAAI,UAAU,IAAI,IAAI,EAAE,CAAC;QAC3D,2EAA2E;QAC3E,IAAI,UAAU,KAAK,mBAAmB,IAAI,4BAA4B,EAAE,CAAC;YACxE,MAAM,CAAC,KAAK,EAAE,CAAC,uEAAuE,CAAC,CAAC;YACxF,OAAO,KAAK,CAAC;QACd,CAAC;QAED,IAAI,UAAU,KAAK,mBAAmB,IAAI,mBAAmB,KAAK,IAAI,EAAE,CAAC;YACxE,MAAM,CAAC,KAAK,EAAE,CAAC,0DAA0D,CAAC,CAAC;YAC3E,OAAO,mBAAmB,CAAC;QAC5B,CAAC;QAED,MAAM,CAAC,KAAK,EAAE,CAAC,iEAAiE,CAAC,CAAC;QAClF,mBAAmB,GAAG,UAAwC,CAAC;QAC/D,IAAI,CAAC;YACJ,mBAAmB,GAAG,gCAAgC,CAAC,UAAU,CAAC,CAAC;YACnE,4BAA4B,GAAG,IAAI,CAAC,CAAC,2BAA2B;YAChE,OAAO,mBAAmB,CAAC;QAC5B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAChB,yDAAyD;YACzD,4BAA4B,GAAG,KAAc,CAAC;YAC9C,MAAM,CAAC,KAAK,EAAE,CACb,+EAAgF,KAAe,CAAC,OAAO,EAAE,CACzG,CAAC;YACF,OAAO,KAAK,CAAC,CAAC,oDAAoD;QACnE,CAAC;IACF,CAAC;IAED,oCAAoC;IACpC,MAAM,WAAW,GAAG,oBAAoB,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IACzD,IAAI,WAAW,EAAE,CAAC;QACjB,MAAM,CAAC,KAAK,EAAE,CAAC,oEAAoE,CAAC,CAAC;QACrF,OAAO,KAAK,CAAC;IACd,CAAC;IAED,MAAM,MAAM,GAAG,WAAW,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IAC3C,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QAC1B,MAAM,CAAC,KAAK,EAAE,CAAC,uDAAuD,CAAC,CAAC;QACxE,OAAO,MAAM,CAAC;IACf,CAAC;IAED,yCAAyC;IACzC,MAAM,CAAC,KAAK,EAAE,CAAC,8DAA8D,CAAC,CAAC;IAC/E,IAAI,CAAC;QACJ,MAAM,MAAM,GAAG,gCAAgC,CAAC,UAAU,CAAC,CAAC;QAC5D,WAAW,CAAC,GAAG,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;QACpC,OAAO,MAAM,CAAC;IACf,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QAChB,yDAAyD;QACzD,oBAAoB,CAAC,GAAG,CAAC,UAAU,EAAE,KAAc,CAAC,CAAC;QACrD,MAAM,CAAC,KAAK,EAAE,CACb,+EAAgF,KAAe,CAAC,OAAO,EAAE,CACzG,CAAC;QACF,OAAO,KAAK,CAAC,CAAC,oDAAoD;IACnE,CAAC;AACF,CAAC;AAED;;;;GAIG;AACH,SAAS,gCAAgC,CACxC,UAAiD;IAEjD,MAAM,CAAC,KAAK,EAAE,CAAC,iDAAiD,IAAI,CAAC,SAAS,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,CAAC,CAAC;IAElG,IAAI,CAAC,UAAU;QAAE,OAAO,KAAK,CAAC;IAE9B,MAAM,kBAAkB,GAAG,UAAU,KAAK,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,uBAAuB,CAAC;IAChG,MAAM,CAAC,KAAK,EAAE,CAAC,oCAAoC,IAAI,CAAC,SAAS,CAAC,EAAE,kBAAkB,EAAE,CAAC,EAAE,CAAC,CAAC;IAE7F,kFAAkF;IAClF,4GAA4G;IAC5G,IAAI,kBAAkB,IAAI,IAAI,IAAI,kBAAkB,KAAK,KAAK;QAAE,OAAO,KAAK,CAAC;IAE7E,4DAA4D;IAC5D,iEAAiE;IACjE,0EAA0E;IAC1E,MAAM,gBAAgB,GAAG,kBAAkB,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,kBAAkB,CAAC;IAE/E,+EAA+E;IAC/E,+CAA+C;IAC/C,OAAO,IAAA,mEAA6C,EAAC,gBAAgB,CAAC,CAAC;AACxE,CAAC"}
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared utilities for certificate verification
|
|
3
|
+
*/
|
|
4
|
+
import type { PeerCertificate, CertificateChainEntry } from './types.ts';
|
|
5
|
+
/**
|
|
6
|
+
* Convert a buffer to PEM format
|
|
7
|
+
* @param buffer - Certificate data as buffer
|
|
8
|
+
* @param type - Certificate type (e.g., 'CERTIFICATE')
|
|
9
|
+
* @returns PEM formatted string
|
|
10
|
+
*/
|
|
11
|
+
export declare function bufferToPem(buffer: Buffer, type: string): string;
|
|
12
|
+
/**
|
|
13
|
+
* Extract certificate chain from peer certificate object
|
|
14
|
+
* @param peerCertificate - Peer certificate object from TLS connection
|
|
15
|
+
* @returns Certificate chain with issuer relationships
|
|
16
|
+
*/
|
|
17
|
+
export declare function extractCertificateChain(peerCertificate: PeerCertificate): CertificateChainEntry[];
|
|
18
|
+
/**
|
|
19
|
+
* Extract CRL Distribution Points from a certificate using PKI.js
|
|
20
|
+
* @param certPem - Certificate in PEM format
|
|
21
|
+
* @returns Array of CRL distribution point URLs
|
|
22
|
+
*/
|
|
23
|
+
export declare function extractCRLDistributionPoints(certPem: string): string[];
|
|
24
|
+
/**
|
|
25
|
+
* Extract both CRL and OCSP URLs from a certificate in a single parse operation
|
|
26
|
+
* @param certPem - Certificate in PEM format
|
|
27
|
+
* @returns Object containing arrays of CRL and OCSP URLs
|
|
28
|
+
*/
|
|
29
|
+
export declare function extractRevocationUrls(certPem: string): {
|
|
30
|
+
crlUrls: string[];
|
|
31
|
+
ocspUrls: string[];
|
|
32
|
+
};
|
|
33
|
+
/**
|
|
34
|
+
* Extract OCSP responder URLs from a certificate
|
|
35
|
+
* @param certPem - Certificate in PEM format
|
|
36
|
+
* @returns Array of OCSP responder URLs
|
|
37
|
+
*/
|
|
38
|
+
export declare function extractOCSPUrls(certPem: string): string[];
|
|
39
|
+
/**
|
|
40
|
+
* Convert PEM string to buffer for PKI.js parsing
|
|
41
|
+
* @param pem - PEM formatted certificate
|
|
42
|
+
* @returns Buffer containing certificate data
|
|
43
|
+
*/
|
|
44
|
+
export declare function pemToBuffer(pem: string): ArrayBuffer;
|
|
45
|
+
/**
|
|
46
|
+
* Create a cache key for certificate verification
|
|
47
|
+
* @param certPem - Certificate in PEM format
|
|
48
|
+
* @param issuerPem - Issuer certificate in PEM format
|
|
49
|
+
* @param method - Verification method (ocsp, crl)
|
|
50
|
+
* @param additionalData - Additional data to include in hash
|
|
51
|
+
* @returns Cache key string
|
|
52
|
+
*/
|
|
53
|
+
export declare function createCacheKey(certPem: string, issuerPem: string, method: 'ocsp' | 'crl', additionalData?: Record<string, any>): string;
|
|
54
|
+
/**
|
|
55
|
+
* Create a cache key for CRL storage
|
|
56
|
+
* @param distributionPoint - CRL distribution point URL
|
|
57
|
+
* @returns Cache key string
|
|
58
|
+
*/
|
|
59
|
+
export declare function createCRLCacheKey(distributionPoint: string): string;
|
|
60
|
+
/**
|
|
61
|
+
* Create a composite ID for revoked certificate lookup
|
|
62
|
+
* @param issuerKeyId - Issuer key identifier or DN hash
|
|
63
|
+
* @param serialNumber - Certificate serial number
|
|
64
|
+
* @returns Composite ID string
|
|
65
|
+
*/
|
|
66
|
+
export declare function createRevokedCertificateId(issuerKeyId: string, serialNumber: string): string;
|
|
67
|
+
/**
|
|
68
|
+
* Extract serial number from a certificate
|
|
69
|
+
* @param certPem - Certificate in PEM format
|
|
70
|
+
* @returns Certificate serial number as string
|
|
71
|
+
*/
|
|
72
|
+
export declare function extractSerialNumber(certPem: string): string;
|
|
73
|
+
/**
|
|
74
|
+
* Extract issuer key identifier from a certificate
|
|
75
|
+
* @param certPem - Certificate in PEM format
|
|
76
|
+
* @returns Issuer key identifier as hex string, or hash of issuer DN if not available
|
|
77
|
+
*/
|
|
78
|
+
export declare function extractIssuerKeyId(certPem: string): string;
|
|
79
|
+
export declare function getCertificateCacheTable(): unknown;
|
|
@@ -0,0 +1,441 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Shared utilities for certificate verification
|
|
4
|
+
*/
|
|
5
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
6
|
+
if (k2 === undefined) k2 = k;
|
|
7
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
8
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
9
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
10
|
+
}
|
|
11
|
+
Object.defineProperty(o, k2, desc);
|
|
12
|
+
}) : (function(o, m, k, k2) {
|
|
13
|
+
if (k2 === undefined) k2 = k;
|
|
14
|
+
o[k2] = m[k];
|
|
15
|
+
}));
|
|
16
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
17
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
18
|
+
}) : function(o, v) {
|
|
19
|
+
o["default"] = v;
|
|
20
|
+
});
|
|
21
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
22
|
+
var ownKeys = function(o) {
|
|
23
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
24
|
+
var ar = [];
|
|
25
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
26
|
+
return ar;
|
|
27
|
+
};
|
|
28
|
+
return ownKeys(o);
|
|
29
|
+
};
|
|
30
|
+
return function (mod) {
|
|
31
|
+
if (mod && mod.__esModule) return mod;
|
|
32
|
+
var result = {};
|
|
33
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
34
|
+
__setModuleDefault(result, mod);
|
|
35
|
+
return result;
|
|
36
|
+
};
|
|
37
|
+
})();
|
|
38
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
|
+
exports.bufferToPem = bufferToPem;
|
|
40
|
+
exports.extractCertificateChain = extractCertificateChain;
|
|
41
|
+
exports.extractCRLDistributionPoints = extractCRLDistributionPoints;
|
|
42
|
+
exports.extractRevocationUrls = extractRevocationUrls;
|
|
43
|
+
exports.extractOCSPUrls = extractOCSPUrls;
|
|
44
|
+
exports.pemToBuffer = pemToBuffer;
|
|
45
|
+
exports.createCacheKey = createCacheKey;
|
|
46
|
+
exports.createCRLCacheKey = createCRLCacheKey;
|
|
47
|
+
exports.createRevokedCertificateId = createRevokedCertificateId;
|
|
48
|
+
exports.extractSerialNumber = extractSerialNumber;
|
|
49
|
+
exports.extractIssuerKeyId = extractIssuerKeyId;
|
|
50
|
+
exports.getCertificateCacheTable = getCertificateCacheTable;
|
|
51
|
+
const node_crypto_1 = require("node:crypto");
|
|
52
|
+
const pkijs = __importStar(require("pkijs"));
|
|
53
|
+
const asn1js = __importStar(require("asn1js"));
|
|
54
|
+
const logger_ts_1 = require("../../utility/logging/logger.js");
|
|
55
|
+
const databases_ts_1 = require("../../resources/databases.js");
|
|
56
|
+
const logger = (0, logger_ts_1.loggerWithTag)('cert-verification-utils');
|
|
57
|
+
/**
|
|
58
|
+
* Convert a buffer to PEM format
|
|
59
|
+
* @param buffer - Certificate data as buffer
|
|
60
|
+
* @param type - Certificate type (e.g., 'CERTIFICATE')
|
|
61
|
+
* @returns PEM formatted string
|
|
62
|
+
*/
|
|
63
|
+
function bufferToPem(buffer, type) {
|
|
64
|
+
const base64 = buffer.toString('base64');
|
|
65
|
+
const lines = [`-----BEGIN ${type}-----`];
|
|
66
|
+
// Split into 64-char lines
|
|
67
|
+
for (let i = 0; i < base64.length; i += 64) {
|
|
68
|
+
lines.push(base64.substring(i, i + 64));
|
|
69
|
+
}
|
|
70
|
+
lines.push(`-----END ${type}-----`);
|
|
71
|
+
return lines.join('\n');
|
|
72
|
+
}
|
|
73
|
+
/**
|
|
74
|
+
* Extract certificate chain from peer certificate object
|
|
75
|
+
* @param peerCertificate - Peer certificate object from TLS connection
|
|
76
|
+
* @returns Certificate chain with issuer relationships
|
|
77
|
+
*/
|
|
78
|
+
function extractCertificateChain(peerCertificate) {
|
|
79
|
+
const chain = [];
|
|
80
|
+
let current = peerCertificate;
|
|
81
|
+
while (current?.raw) {
|
|
82
|
+
const entry = { cert: current.raw };
|
|
83
|
+
// Get issuer if available and different from self
|
|
84
|
+
if (current.issuerCertificate && current.issuerCertificate !== current && current.issuerCertificate.raw) {
|
|
85
|
+
entry.issuer = current.issuerCertificate.raw;
|
|
86
|
+
}
|
|
87
|
+
chain.push(entry);
|
|
88
|
+
// Move to next in chain
|
|
89
|
+
if (current.issuerCertificate && current.issuerCertificate !== current) {
|
|
90
|
+
current = current.issuerCertificate;
|
|
91
|
+
}
|
|
92
|
+
else {
|
|
93
|
+
break;
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
return chain;
|
|
97
|
+
}
|
|
98
|
+
/**
|
|
99
|
+
* Extract CRL Distribution Points from a certificate using PKI.js
|
|
100
|
+
* @param certPem - Certificate in PEM format
|
|
101
|
+
* @returns Array of CRL distribution point URLs
|
|
102
|
+
*/
|
|
103
|
+
function extractCRLDistributionPoints(certPem) {
|
|
104
|
+
try {
|
|
105
|
+
// Parse the certificate using PKI.js
|
|
106
|
+
const certBuffer = pemToBuffer(certPem);
|
|
107
|
+
const cert = pkijs.Certificate.fromBER(certBuffer);
|
|
108
|
+
// Look for CRL Distribution Points extension (OID: 2.5.29.31)
|
|
109
|
+
const crlDistExt = cert.extensions?.find((ext) => ext.extnID === '2.5.29.31');
|
|
110
|
+
if (!crlDistExt) {
|
|
111
|
+
logger.debug?.('Certificate has no CRL Distribution Points extension');
|
|
112
|
+
return [];
|
|
113
|
+
}
|
|
114
|
+
// Parse the extension value
|
|
115
|
+
const asn1 = asn1js.fromBER(crlDistExt.extnValue.valueBlock.valueHexView);
|
|
116
|
+
if (asn1.offset === -1) {
|
|
117
|
+
throw new Error('Failed to parse ASN.1 structure in CRL Distribution Points extension');
|
|
118
|
+
}
|
|
119
|
+
const crlDistPoints = new pkijs.CRLDistributionPoints({
|
|
120
|
+
schema: asn1.result,
|
|
121
|
+
});
|
|
122
|
+
const distributionPoints = [];
|
|
123
|
+
// Extract distribution point URLs
|
|
124
|
+
for (const distPoint of crlDistPoints.distributionPoints) {
|
|
125
|
+
if (distPoint.distributionPoint && Array.isArray(distPoint.distributionPoint)) {
|
|
126
|
+
// Handle the actual PKI.js structure where distributionPoint is an array
|
|
127
|
+
for (const dp of distPoint.distributionPoint) {
|
|
128
|
+
if (dp.type === 6 && typeof dp.value === 'string') {
|
|
129
|
+
// uniformResourceIdentifier
|
|
130
|
+
const url = dp.value;
|
|
131
|
+
if (url.startsWith('http://') || url.startsWith('https://')) {
|
|
132
|
+
distributionPoints.push(url);
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
logger.debug?.(`Found ${distributionPoints.length} CRL distribution points: ${distributionPoints}`);
|
|
139
|
+
return distributionPoints;
|
|
140
|
+
}
|
|
141
|
+
catch (error) {
|
|
142
|
+
// Parsing failures are treated as "no CRL URLs available"
|
|
143
|
+
// Rationale: The certificate was already validated by Node.js TLS (signature, trust chain)
|
|
144
|
+
// If PKI.js can't parse it, it's likely a library incompatibility or unsupported extension format
|
|
145
|
+
// Not a security issue since TLS already validated the cert - we just can't extract revocation URLs
|
|
146
|
+
// The higher-level fail-open/fail-closed configuration determines final behavior when no URLs found
|
|
147
|
+
logger.warn?.(`Failed to extract CRL distribution points: ${error}`);
|
|
148
|
+
return [];
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
/**
|
|
152
|
+
* Extract both CRL and OCSP URLs from a certificate in a single parse operation
|
|
153
|
+
* @param certPem - Certificate in PEM format
|
|
154
|
+
* @returns Object containing arrays of CRL and OCSP URLs
|
|
155
|
+
*/
|
|
156
|
+
function extractRevocationUrls(certPem) {
|
|
157
|
+
try {
|
|
158
|
+
// Parse the certificate using PKI.js (single parse for both URL types)
|
|
159
|
+
const certBuffer = pemToBuffer(certPem);
|
|
160
|
+
const cert = pkijs.Certificate.fromBER(certBuffer);
|
|
161
|
+
const crlUrls = [];
|
|
162
|
+
const ocspUrls = [];
|
|
163
|
+
// Single pass through extensions to extract both CRL and OCSP URLs
|
|
164
|
+
for (const ext of cert.extensions || []) {
|
|
165
|
+
if (ext.extnID === '2.5.29.31') {
|
|
166
|
+
// CRL Distribution Points extension
|
|
167
|
+
try {
|
|
168
|
+
const asn1 = asn1js.fromBER(ext.extnValue.valueBlock.valueHexView);
|
|
169
|
+
if (asn1.offset !== -1) {
|
|
170
|
+
const crlDistPoints = new pkijs.CRLDistributionPoints({
|
|
171
|
+
schema: asn1.result,
|
|
172
|
+
});
|
|
173
|
+
// Extract CRL distribution point URLs
|
|
174
|
+
for (const distPoint of crlDistPoints.distributionPoints) {
|
|
175
|
+
if (distPoint.distributionPoint && Array.isArray(distPoint.distributionPoint)) {
|
|
176
|
+
// Handle the actual PKI.js structure where distributionPoint is an array
|
|
177
|
+
for (const dp of distPoint.distributionPoint) {
|
|
178
|
+
if (dp.type === 6 && typeof dp.value === 'string') {
|
|
179
|
+
// uniformResourceIdentifier
|
|
180
|
+
const url = dp.value;
|
|
181
|
+
if (url.startsWith('http://') || url.startsWith('https://')) {
|
|
182
|
+
crlUrls.push(url);
|
|
183
|
+
}
|
|
184
|
+
}
|
|
185
|
+
}
|
|
186
|
+
}
|
|
187
|
+
}
|
|
188
|
+
}
|
|
189
|
+
}
|
|
190
|
+
catch (crlError) {
|
|
191
|
+
logger.warn?.(`Failed to parse CRL Distribution Points extension: ${crlError}`);
|
|
192
|
+
}
|
|
193
|
+
}
|
|
194
|
+
else if (ext.extnID === '1.3.6.1.5.5.7.1.1') {
|
|
195
|
+
// Authority Information Access extension
|
|
196
|
+
try {
|
|
197
|
+
const asn1 = asn1js.fromBER(ext.extnValue.valueBlock.valueHexView);
|
|
198
|
+
if (asn1.offset !== -1 && asn1.result instanceof asn1js.Sequence) {
|
|
199
|
+
for (const accessDesc of asn1.result.valueBlock.value) {
|
|
200
|
+
if (accessDesc instanceof asn1js.Sequence && accessDesc.valueBlock.value.length >= 2) {
|
|
201
|
+
const accessMethod = accessDesc.valueBlock.value[0];
|
|
202
|
+
const accessLocation = accessDesc.valueBlock.value[1];
|
|
203
|
+
// Check if accessMethod is OCSP (OID 1.3.6.1.5.5.7.48.1)
|
|
204
|
+
if (accessMethod instanceof asn1js.ObjectIdentifier &&
|
|
205
|
+
accessMethod.valueBlock.toString() === '1.3.6.1.5.5.7.48.1') {
|
|
206
|
+
// Check if accessLocation is a URI (context tag 6)
|
|
207
|
+
if (accessLocation.idBlock.tagNumber === 6) {
|
|
208
|
+
const url = String.fromCharCode(...Array.from(accessLocation.valueBlock.valueHexView));
|
|
209
|
+
if (url.startsWith('http://') || url.startsWith('https://')) {
|
|
210
|
+
ocspUrls.push(url);
|
|
211
|
+
}
|
|
212
|
+
}
|
|
213
|
+
}
|
|
214
|
+
}
|
|
215
|
+
}
|
|
216
|
+
}
|
|
217
|
+
}
|
|
218
|
+
catch (ocspError) {
|
|
219
|
+
logger.warn?.(`Failed to parse Authority Information Access extension: ${ocspError}`);
|
|
220
|
+
}
|
|
221
|
+
}
|
|
222
|
+
}
|
|
223
|
+
logger.debug?.(`Found ${crlUrls.length} CRL distribution points and ${ocspUrls.length} OCSP responder URLs`);
|
|
224
|
+
return { crlUrls, ocspUrls };
|
|
225
|
+
}
|
|
226
|
+
catch (error) {
|
|
227
|
+
// Parsing failures are treated as "no revocation URLs available"
|
|
228
|
+
// Rationale: The certificate was already validated by Node.js TLS (signature, trust chain)
|
|
229
|
+
// If PKI.js can't parse it, it's likely a library incompatibility or unsupported extension format
|
|
230
|
+
// Not a security issue since TLS already validated the cert - we just can't extract revocation URLs
|
|
231
|
+
// The higher-level fail-open/fail-closed configuration determines final behavior when no URLs found
|
|
232
|
+
logger.warn?.(`Failed to extract revocation URLs: ${error}`);
|
|
233
|
+
return { crlUrls: [], ocspUrls: [] };
|
|
234
|
+
}
|
|
235
|
+
}
|
|
236
|
+
/**
|
|
237
|
+
* Extract OCSP responder URLs from a certificate
|
|
238
|
+
* @param certPem - Certificate in PEM format
|
|
239
|
+
* @returns Array of OCSP responder URLs
|
|
240
|
+
*/
|
|
241
|
+
function extractOCSPUrls(certPem) {
|
|
242
|
+
try {
|
|
243
|
+
// Parse the certificate using PKI.js
|
|
244
|
+
const certBuffer = pemToBuffer(certPem);
|
|
245
|
+
const cert = pkijs.Certificate.fromBER(certBuffer);
|
|
246
|
+
// Look for Authority Information Access extension (OID: 1.3.6.1.5.5.7.1.1)
|
|
247
|
+
const aiaExt = cert.extensions?.find((ext) => ext.extnID === '1.3.6.1.5.5.7.1.1');
|
|
248
|
+
if (!aiaExt) {
|
|
249
|
+
logger.debug?.('Certificate has no Authority Information Access extension');
|
|
250
|
+
return [];
|
|
251
|
+
}
|
|
252
|
+
// Parse the extension value using asn1js
|
|
253
|
+
const asn1 = asn1js.fromBER(aiaExt.extnValue.valueBlock.valueHexView);
|
|
254
|
+
if (asn1.offset === -1) {
|
|
255
|
+
throw new Error('Failed to parse ASN.1 structure in Authority Information Access extension');
|
|
256
|
+
}
|
|
257
|
+
const ocspUrls = [];
|
|
258
|
+
// The AIA extension contains a sequence of AccessDescription entries
|
|
259
|
+
// Each AccessDescription has: accessMethod (OID) and accessLocation (GeneralName)
|
|
260
|
+
if (asn1.result instanceof asn1js.Sequence) {
|
|
261
|
+
for (const accessDesc of asn1.result.valueBlock.value) {
|
|
262
|
+
if (accessDesc instanceof asn1js.Sequence && accessDesc.valueBlock.value.length >= 2) {
|
|
263
|
+
const accessMethod = accessDesc.valueBlock.value[0];
|
|
264
|
+
const accessLocation = accessDesc.valueBlock.value[1];
|
|
265
|
+
// Check if accessMethod is OCSP (OID 1.3.6.1.5.5.7.48.1)
|
|
266
|
+
if (accessMethod instanceof asn1js.ObjectIdentifier &&
|
|
267
|
+
accessMethod.valueBlock.toString() === '1.3.6.1.5.5.7.48.1') {
|
|
268
|
+
// Check if accessLocation is a URI (context tag 6)
|
|
269
|
+
if (accessLocation.idBlock.tagNumber === 6) {
|
|
270
|
+
const url = String.fromCharCode(...Array.from(accessLocation.valueBlock.valueHexView));
|
|
271
|
+
if (url.startsWith('http://') || url.startsWith('https://')) {
|
|
272
|
+
ocspUrls.push(url);
|
|
273
|
+
}
|
|
274
|
+
}
|
|
275
|
+
}
|
|
276
|
+
}
|
|
277
|
+
}
|
|
278
|
+
}
|
|
279
|
+
logger.debug?.(`Found ${ocspUrls.length} OCSP responder URLs: ${ocspUrls}`);
|
|
280
|
+
return ocspUrls;
|
|
281
|
+
}
|
|
282
|
+
catch (error) {
|
|
283
|
+
logger.error?.(`Failed to extract OCSP URLs: ${error}`);
|
|
284
|
+
return [];
|
|
285
|
+
}
|
|
286
|
+
}
|
|
287
|
+
/**
|
|
288
|
+
* Convert PEM string to buffer for PKI.js parsing
|
|
289
|
+
* @param pem - PEM formatted certificate
|
|
290
|
+
* @returns Buffer containing certificate data
|
|
291
|
+
*/
|
|
292
|
+
function pemToBuffer(pem) {
|
|
293
|
+
// Remove PEM headers and whitespace
|
|
294
|
+
const base64 = pem
|
|
295
|
+
.replace(/-----BEGIN [^-]+-----/g, '')
|
|
296
|
+
.replace(/-----END [^-]+-----/g, '')
|
|
297
|
+
.replace(/\s/g, '');
|
|
298
|
+
// Convert to buffer
|
|
299
|
+
const binaryString = atob(base64);
|
|
300
|
+
const buffer = new ArrayBuffer(binaryString.length);
|
|
301
|
+
const view = new Uint8Array(buffer);
|
|
302
|
+
for (let i = 0; i < binaryString.length; i++) {
|
|
303
|
+
view[i] = binaryString.charCodeAt(i);
|
|
304
|
+
}
|
|
305
|
+
return buffer;
|
|
306
|
+
}
|
|
307
|
+
/**
|
|
308
|
+
* Create a cache key for certificate verification
|
|
309
|
+
* @param certPem - Certificate in PEM format
|
|
310
|
+
* @param issuerPem - Issuer certificate in PEM format
|
|
311
|
+
* @param method - Verification method (ocsp, crl)
|
|
312
|
+
* @param additionalData - Additional data to include in hash
|
|
313
|
+
* @returns Cache key string
|
|
314
|
+
*/
|
|
315
|
+
function createCacheKey(certPem, issuerPem, method, additionalData) {
|
|
316
|
+
const cacheData = {
|
|
317
|
+
certPem,
|
|
318
|
+
issuerPem,
|
|
319
|
+
method,
|
|
320
|
+
...additionalData,
|
|
321
|
+
};
|
|
322
|
+
const cacheKeyHash = (0, node_crypto_1.createHash)('sha256').update(JSON.stringify(cacheData)).digest('hex');
|
|
323
|
+
return `${method}:${cacheKeyHash}`;
|
|
324
|
+
}
|
|
325
|
+
/**
|
|
326
|
+
* Create a cache key for CRL storage
|
|
327
|
+
* @param distributionPoint - CRL distribution point URL
|
|
328
|
+
* @returns Cache key string
|
|
329
|
+
*/
|
|
330
|
+
function createCRLCacheKey(distributionPoint) {
|
|
331
|
+
const hash = (0, node_crypto_1.createHash)('sha256').update(distributionPoint).digest('hex');
|
|
332
|
+
return `crl:${hash}`;
|
|
333
|
+
}
|
|
334
|
+
/**
|
|
335
|
+
* Create a composite ID for revoked certificate lookup
|
|
336
|
+
* @param issuerKeyId - Issuer key identifier or DN hash
|
|
337
|
+
* @param serialNumber - Certificate serial number
|
|
338
|
+
* @returns Composite ID string
|
|
339
|
+
*/
|
|
340
|
+
function createRevokedCertificateId(issuerKeyId, serialNumber) {
|
|
341
|
+
return `${issuerKeyId}:${serialNumber}`;
|
|
342
|
+
}
|
|
343
|
+
/**
|
|
344
|
+
* Extract serial number from a certificate
|
|
345
|
+
* @param certPem - Certificate in PEM format
|
|
346
|
+
* @returns Certificate serial number as string
|
|
347
|
+
*/
|
|
348
|
+
function extractSerialNumber(certPem) {
|
|
349
|
+
try {
|
|
350
|
+
const certBuffer = pemToBuffer(certPem);
|
|
351
|
+
const cert = pkijs.Certificate.fromBER(certBuffer);
|
|
352
|
+
// Convert serial number to string
|
|
353
|
+
const serialNumber = cert.serialNumber.valueBlock.valueHexView;
|
|
354
|
+
return Array.from(serialNumber)
|
|
355
|
+
.map((b) => b.toString(16).padStart(2, '0'))
|
|
356
|
+
.join('');
|
|
357
|
+
}
|
|
358
|
+
catch (error) {
|
|
359
|
+
logger.error?.(`Failed to extract serial number: ${error}`);
|
|
360
|
+
throw new Error(`Failed to extract certificate serial number: ${error.message}`);
|
|
361
|
+
}
|
|
362
|
+
}
|
|
363
|
+
/**
|
|
364
|
+
* Extract issuer key identifier from a certificate
|
|
365
|
+
* @param certPem - Certificate in PEM format
|
|
366
|
+
* @returns Issuer key identifier as hex string, or hash of issuer DN if not available
|
|
367
|
+
*/
|
|
368
|
+
function extractIssuerKeyId(certPem) {
|
|
369
|
+
try {
|
|
370
|
+
const certBuffer = pemToBuffer(certPem);
|
|
371
|
+
const cert = pkijs.Certificate.fromBER(certBuffer);
|
|
372
|
+
// Look for Authority Key Identifier extension (OID: 2.5.29.35)
|
|
373
|
+
const akiExt = cert.extensions?.find((ext) => ext.extnID === '2.5.29.35');
|
|
374
|
+
if (akiExt) {
|
|
375
|
+
try {
|
|
376
|
+
// Parse the extension value manually since parsedValue may be undefined for Ed25519 certs
|
|
377
|
+
const asn1 = asn1js.fromBER(akiExt.extnValue.valueBlock.valueHexView);
|
|
378
|
+
if (asn1.offset !== -1) {
|
|
379
|
+
const aki = new pkijs.AuthorityKeyIdentifier({
|
|
380
|
+
schema: asn1.result,
|
|
381
|
+
});
|
|
382
|
+
if (aki.keyIdentifier) {
|
|
383
|
+
const keyId = aki.keyIdentifier.valueBlock.valueHexView;
|
|
384
|
+
return Array.from(keyId)
|
|
385
|
+
.map((b) => b.toString(16).padStart(2, '0'))
|
|
386
|
+
.join('');
|
|
387
|
+
}
|
|
388
|
+
}
|
|
389
|
+
}
|
|
390
|
+
catch (parseError) {
|
|
391
|
+
logger.debug?.(`Failed to parse Authority Key Identifier: ${parseError}, falling back to hash`);
|
|
392
|
+
}
|
|
393
|
+
}
|
|
394
|
+
// Fall back to hash of issuer DN
|
|
395
|
+
const issuerDN = cert.issuer.typesAndValues.map((tv) => `${tv.type}=${tv.value.valueBlock.value}`).join(',');
|
|
396
|
+
return (0, node_crypto_1.createHash)('sha256').update(issuerDN).digest('hex');
|
|
397
|
+
}
|
|
398
|
+
catch (error) {
|
|
399
|
+
logger.error?.(`Failed to extract issuer key ID: ${error}`);
|
|
400
|
+
throw new Error(`Failed to extract issuer key ID: ${error.message}`);
|
|
401
|
+
}
|
|
402
|
+
}
|
|
403
|
+
/**
|
|
404
|
+
* Get shared certificate verification cache table
|
|
405
|
+
* @returns Harper table instance for certificate verification cache
|
|
406
|
+
*/
|
|
407
|
+
// Cache the certificate cache table instance to avoid recreating it
|
|
408
|
+
let certificateCacheTable = null;
|
|
409
|
+
function getCertificateCacheTable() {
|
|
410
|
+
if (!certificateCacheTable) {
|
|
411
|
+
certificateCacheTable = (0, databases_ts_1.table)({
|
|
412
|
+
table: 'hdb_certificate_cache',
|
|
413
|
+
database: 'system',
|
|
414
|
+
attributes: [
|
|
415
|
+
{
|
|
416
|
+
name: 'certificate_id',
|
|
417
|
+
isPrimaryKey: true,
|
|
418
|
+
},
|
|
419
|
+
{
|
|
420
|
+
name: 'status', // 'good', 'revoked', 'unknown'
|
|
421
|
+
},
|
|
422
|
+
{
|
|
423
|
+
name: 'reason',
|
|
424
|
+
},
|
|
425
|
+
{
|
|
426
|
+
name: 'checked_at',
|
|
427
|
+
},
|
|
428
|
+
{
|
|
429
|
+
name: 'expiresAt',
|
|
430
|
+
expiresAt: true,
|
|
431
|
+
indexed: true,
|
|
432
|
+
},
|
|
433
|
+
{
|
|
434
|
+
name: 'method', // 'ocsp' or 'crl'
|
|
435
|
+
},
|
|
436
|
+
],
|
|
437
|
+
});
|
|
438
|
+
}
|
|
439
|
+
return certificateCacheTable;
|
|
440
|
+
}
|
|
441
|
+
//# sourceMappingURL=verificationUtils.js.map
|