@digitaldefiance/ecies-lib 4.4.13 → 4.4.15
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/package.json +5 -4
- package/src/builders/ecies-builder.d.ts +18 -0
- package/src/builders/ecies-builder.d.ts.map +1 -0
- package/src/builders/ecies-builder.js +34 -0
- package/src/builders/ecies-builder.js.map +1 -0
- package/src/builders/{index.ts → index.d.ts} +1 -1
- package/src/builders/index.d.ts.map +1 -0
- package/src/builders/index.js +9 -0
- package/src/builders/index.js.map +1 -0
- package/src/builders/member-builder.d.ts +51 -0
- package/src/builders/member-builder.d.ts.map +1 -0
- package/src/builders/member-builder.js +101 -0
- package/src/builders/member-builder.js.map +1 -0
- package/src/constants.d.ts +60 -0
- package/src/constants.d.ts.map +1 -0
- package/src/constants.js +457 -0
- package/src/constants.js.map +1 -0
- package/src/core/errors/crypto-error.d.ts +34 -0
- package/src/core/errors/crypto-error.d.ts.map +1 -0
- package/src/core/errors/crypto-error.js +60 -0
- package/src/core/errors/crypto-error.js.map +1 -0
- package/src/core/{index.ts → index.d.ts} +1 -1
- package/src/core/index.d.ts.map +1 -0
- package/src/core/index.js +9 -0
- package/src/core/index.js.map +1 -0
- package/src/core/types/result.d.ts +16 -0
- package/src/core/types/result.d.ts.map +1 -0
- package/src/core/types/result.js +16 -0
- package/src/core/types/result.js.map +1 -0
- package/src/email-string.d.ts +42 -0
- package/src/email-string.d.ts.map +1 -0
- package/src/email-string.js +72 -0
- package/src/email-string.js.map +1 -0
- package/src/enumerations/disposed-error-type.d.ts +12 -0
- package/src/enumerations/disposed-error-type.d.ts.map +1 -0
- package/src/enumerations/disposed-error-type.js +16 -0
- package/src/enumerations/disposed-error-type.js.map +1 -0
- package/src/enumerations/ecies-cipher-suite.d.ts +4 -0
- package/src/enumerations/ecies-cipher-suite.d.ts.map +1 -0
- package/src/enumerations/ecies-cipher-suite.js +9 -0
- package/src/enumerations/ecies-cipher-suite.js.map +1 -0
- package/src/enumerations/ecies-encryption-type.d.ts +11 -0
- package/src/enumerations/ecies-encryption-type.d.ts.map +1 -0
- package/src/enumerations/ecies-encryption-type.js +30 -0
- package/src/enumerations/ecies-encryption-type.js.map +1 -0
- package/src/enumerations/ecies-error-type.d.ts +44 -0
- package/src/enumerations/ecies-error-type.d.ts.map +1 -0
- package/src/enumerations/ecies-error-type.js +48 -0
- package/src/enumerations/ecies-error-type.js.map +1 -0
- package/src/enumerations/ecies-string-key.d.ts +192 -0
- package/src/enumerations/ecies-string-key.d.ts.map +1 -0
- package/src/enumerations/ecies-string-key.js +202 -0
- package/src/enumerations/ecies-string-key.js.map +1 -0
- package/src/enumerations/ecies-version.d.ts +4 -0
- package/src/enumerations/ecies-version.d.ts.map +1 -0
- package/src/enumerations/ecies-version.js +8 -0
- package/src/enumerations/ecies-version.js.map +1 -0
- package/src/enumerations/guid-brand-type.d.ts +27 -0
- package/src/enumerations/guid-brand-type.d.ts.map +1 -0
- package/src/enumerations/guid-brand-type.js +31 -0
- package/src/enumerations/guid-brand-type.js.map +1 -0
- package/src/enumerations/guid-error-type.d.ts +7 -0
- package/src/enumerations/guid-error-type.d.ts.map +1 -0
- package/src/enumerations/guid-error-type.js +11 -0
- package/src/enumerations/guid-error-type.js.map +1 -0
- package/src/enumerations/id-provider-error-type.d.ts +43 -0
- package/src/enumerations/id-provider-error-type.d.ts.map +1 -0
- package/src/enumerations/id-provider-error-type.js +47 -0
- package/src/enumerations/id-provider-error-type.js.map +1 -0
- package/src/enumerations/{index.ts → index.d.ts} +1 -0
- package/src/enumerations/index.d.ts.map +1 -0
- package/src/enumerations/index.js +21 -0
- package/src/enumerations/index.js.map +1 -0
- package/src/enumerations/invalid-email-type.d.ts +6 -0
- package/src/enumerations/invalid-email-type.d.ts.map +1 -0
- package/src/enumerations/invalid-email-type.js +10 -0
- package/src/enumerations/invalid-email-type.js.map +1 -0
- package/src/enumerations/length-encoding-type.d.ts +7 -0
- package/src/enumerations/length-encoding-type.d.ts.map +1 -0
- package/src/enumerations/length-encoding-type.js +11 -0
- package/src/enumerations/length-encoding-type.js.map +1 -0
- package/src/enumerations/length-error-type.d.ts +6 -0
- package/src/enumerations/length-error-type.d.ts.map +1 -0
- package/src/enumerations/length-error-type.js +10 -0
- package/src/enumerations/length-error-type.js.map +1 -0
- package/src/enumerations/member-error-type.d.ts +87 -0
- package/src/enumerations/member-error-type.d.ts.map +1 -0
- package/src/enumerations/member-error-type.js +91 -0
- package/src/enumerations/member-error-type.js.map +1 -0
- package/src/enumerations/{member-type.ts → member-type.d.ts} +6 -7
- package/src/enumerations/member-type.d.ts.map +1 -0
- package/src/enumerations/member-type.js +19 -0
- package/src/enumerations/member-type.js.map +1 -0
- package/src/enumerations/password-login-error-type.d.ts +5 -0
- package/src/enumerations/password-login-error-type.d.ts.map +1 -0
- package/src/enumerations/password-login-error-type.js +9 -0
- package/src/enumerations/password-login-error-type.js.map +1 -0
- package/src/enumerations/pbkdf2-error-type.d.ts +6 -0
- package/src/enumerations/pbkdf2-error-type.d.ts.map +1 -0
- package/src/enumerations/pbkdf2-error-type.js +10 -0
- package/src/enumerations/pbkdf2-error-type.js.map +1 -0
- package/src/enumerations/pbkdf2-profile.d.ts +6 -0
- package/src/enumerations/pbkdf2-profile.d.ts.map +1 -0
- package/src/enumerations/pbkdf2-profile.js +10 -0
- package/src/enumerations/pbkdf2-profile.js.map +1 -0
- package/src/enumerations/secure-storage-error-type.d.ts +6 -0
- package/src/enumerations/secure-storage-error-type.d.ts.map +1 -0
- package/src/enumerations/secure-storage-error-type.js +10 -0
- package/src/enumerations/secure-storage-error-type.js.map +1 -0
- package/src/errors/disposed.d.ts +22 -0
- package/src/errors/disposed.d.ts.map +1 -0
- package/src/errors/disposed.js +32 -0
- package/src/errors/disposed.js.map +1 -0
- package/src/errors/ecies.d.ts +52 -0
- package/src/errors/ecies.d.ts.map +1 -0
- package/src/errors/ecies.js +82 -0
- package/src/errors/ecies.js.map +1 -0
- package/src/errors/guid.d.ts +49 -0
- package/src/errors/guid.d.ts.map +1 -0
- package/src/errors/guid.js +100 -0
- package/src/errors/guid.js.map +1 -0
- package/src/errors/id-provider.d.ts +23 -0
- package/src/errors/id-provider.d.ts.map +1 -0
- package/src/errors/id-provider.js +33 -0
- package/src/errors/id-provider.js.map +1 -0
- package/src/errors/{index.ts → index.d.ts} +1 -0
- package/src/errors/index.d.ts.map +1 -0
- package/src/errors/index.js +13 -0
- package/src/errors/index.js.map +1 -0
- package/src/errors/invalid-email.d.ts +8 -0
- package/src/errors/invalid-email.d.ts.map +1 -0
- package/src/errors/invalid-email.js +19 -0
- package/src/errors/invalid-email.js.map +1 -0
- package/src/errors/length.d.ts +7 -0
- package/src/errors/length.d.ts.map +1 -0
- package/src/errors/length.js +15 -0
- package/src/errors/length.js.map +1 -0
- package/src/errors/member.d.ts +7 -0
- package/src/errors/member.d.ts.map +1 -0
- package/src/errors/member.js +15 -0
- package/src/errors/member.js.map +1 -0
- package/src/errors/pbkdf2.d.ts +7 -0
- package/src/errors/pbkdf2.d.ts.map +1 -0
- package/src/errors/pbkdf2.js +15 -0
- package/src/errors/pbkdf2.js.map +1 -0
- package/src/errors/secure-storage.d.ts +7 -0
- package/src/errors/secure-storage.d.ts.map +1 -0
- package/src/errors/secure-storage.js +16 -0
- package/src/errors/secure-storage.js.map +1 -0
- package/src/errors/simple-ecies.d.ts +6 -0
- package/src/errors/simple-ecies.d.ts.map +1 -0
- package/src/errors/simple-ecies.js +16 -0
- package/src/errors/simple-ecies.js.map +1 -0
- package/src/errors/simple-test-error.d.ts +4 -0
- package/src/errors/simple-test-error.d.ts.map +1 -0
- package/src/errors/simple-test-error.js +11 -0
- package/src/errors/simple-test-error.js.map +1 -0
- package/src/i18n-setup.d.ts +32 -0
- package/src/i18n-setup.d.ts.map +1 -0
- package/src/i18n-setup.js +109 -0
- package/src/i18n-setup.js.map +1 -0
- package/src/{index.ts → index.d.ts} +12 -72
- package/src/index.d.ts.map +1 -0
- package/src/index.js +146 -0
- package/src/index.js.map +1 -0
- package/src/interfaces/checksum-config.d.ts +5 -0
- package/src/interfaces/checksum-config.d.ts.map +1 -0
- package/src/interfaces/checksum-config.js +3 -0
- package/src/interfaces/checksum-config.js.map +1 -0
- package/src/interfaces/checksum-consts.d.ts +11 -0
- package/src/interfaces/checksum-consts.d.ts.map +1 -0
- package/src/interfaces/checksum-consts.js +3 -0
- package/src/interfaces/checksum-consts.js.map +1 -0
- package/src/interfaces/configuration-provenance.d.ts +43 -0
- package/src/interfaces/configuration-provenance.d.ts.map +1 -0
- package/src/interfaces/configuration-provenance.js +8 -0
- package/src/interfaces/configuration-provenance.js.map +1 -0
- package/src/interfaces/constants.d.ts +70 -0
- package/src/interfaces/constants.d.ts.map +1 -0
- package/src/interfaces/constants.js +3 -0
- package/src/interfaces/constants.js.map +1 -0
- package/src/interfaces/ecies-config.d.ts +9 -0
- package/src/interfaces/ecies-config.d.ts.map +1 -0
- package/src/interfaces/ecies-config.js +3 -0
- package/src/interfaces/ecies-config.js.map +1 -0
- package/src/interfaces/ecies-consts.d.ts +61 -0
- package/src/interfaces/ecies-consts.d.ts.map +1 -0
- package/src/interfaces/ecies-consts.js +3 -0
- package/src/interfaces/ecies-consts.js.map +1 -0
- package/src/interfaces/ecies-file-service.d.ts +7 -0
- package/src/interfaces/ecies-file-service.d.ts.map +1 -0
- package/src/interfaces/ecies-file-service.js +3 -0
- package/src/interfaces/ecies-file-service.js.map +1 -0
- package/src/interfaces/encrypted-chunk.d.ts +55 -0
- package/src/interfaces/encrypted-chunk.d.ts.map +1 -0
- package/src/interfaces/encrypted-chunk.js +15 -0
- package/src/interfaces/encrypted-chunk.js.map +1 -0
- package/src/interfaces/encryption-state.d.ts +18 -0
- package/src/interfaces/encryption-state.d.ts.map +1 -0
- package/src/interfaces/encryption-state.js +5 -0
- package/src/interfaces/encryption-state.js.map +1 -0
- package/src/interfaces/frontend-member-operational.d.ts +51 -0
- package/src/interfaces/frontend-member-operational.d.ts.map +1 -0
- package/src/interfaces/frontend-member-operational.js +3 -0
- package/src/interfaces/frontend-member-operational.js.map +1 -0
- package/src/interfaces/guid.d.ts +78 -0
- package/src/interfaces/guid.d.ts.map +1 -0
- package/src/interfaces/guid.js +3 -0
- package/src/interfaces/guid.js.map +1 -0
- package/src/interfaces/id-provider.d.ts +107 -0
- package/src/interfaces/id-provider.d.ts.map +1 -0
- package/src/interfaces/id-provider.js +56 -0
- package/src/interfaces/id-provider.js.map +1 -0
- package/src/interfaces/{index.ts → index.d.ts} +1 -0
- package/src/interfaces/index.d.ts.map +1 -0
- package/src/interfaces/index.js +16 -0
- package/src/interfaces/index.js.map +1 -0
- package/src/interfaces/invariant.d.ts +46 -0
- package/src/interfaces/invariant.d.ts.map +1 -0
- package/src/interfaces/invariant.js +22 -0
- package/src/interfaces/invariant.js.map +1 -0
- package/src/interfaces/library-error.d.ts +23 -0
- package/src/interfaces/library-error.d.ts.map +1 -0
- package/src/interfaces/library-error.js +3 -0
- package/src/interfaces/library-error.js.map +1 -0
- package/src/interfaces/{member-storage.ts → member-storage.d.ts} +10 -11
- package/src/interfaces/member-storage.d.ts.map +1 -0
- package/src/interfaces/member-storage.js +3 -0
- package/src/interfaces/member-storage.js.map +1 -0
- package/src/interfaces/{member-with-mnemonic.ts → member-with-mnemonic.d.ts} +3 -3
- package/src/interfaces/member-with-mnemonic.d.ts.map +1 -0
- package/src/interfaces/member-with-mnemonic.js +3 -0
- package/src/interfaces/member-with-mnemonic.js.map +1 -0
- package/src/interfaces/member.d.ts +55 -0
- package/src/interfaces/member.d.ts.map +1 -0
- package/src/interfaces/member.js +3 -0
- package/src/interfaces/member.js.map +1 -0
- package/src/interfaces/multi-recipient-chunk.d.ts +54 -0
- package/src/interfaces/multi-recipient-chunk.d.ts.map +1 -0
- package/src/interfaces/multi-recipient-chunk.js +16 -0
- package/src/interfaces/multi-recipient-chunk.js.map +1 -0
- package/src/interfaces/pbkdf2-config.d.ts +7 -0
- package/src/interfaces/pbkdf2-config.d.ts.map +1 -0
- package/src/interfaces/pbkdf2-config.js +3 -0
- package/src/interfaces/pbkdf2-config.js.map +1 -0
- package/src/interfaces/pbkdf2-consts.d.ts +9 -0
- package/src/interfaces/pbkdf2-consts.d.ts.map +1 -0
- package/src/interfaces/pbkdf2-consts.js +3 -0
- package/src/interfaces/pbkdf2-consts.js.map +1 -0
- package/src/interfaces/pbkdf2-result.d.ts +6 -0
- package/src/interfaces/pbkdf2-result.d.ts.map +1 -0
- package/src/interfaces/pbkdf2-result.js +3 -0
- package/src/interfaces/pbkdf2-result.js.map +1 -0
- package/src/interfaces/stream-config.d.ts +14 -0
- package/src/interfaces/stream-config.d.ts.map +1 -0
- package/src/interfaces/stream-config.js +11 -0
- package/src/interfaces/stream-config.js.map +1 -0
- package/src/interfaces/stream-header.d.ts +29 -0
- package/src/interfaces/stream-header.d.ts.map +1 -0
- package/src/interfaces/stream-header.js +12 -0
- package/src/interfaces/stream-header.js.map +1 -0
- package/src/interfaces/stream-progress.d.ts +33 -0
- package/src/interfaces/stream-progress.d.ts.map +1 -0
- package/src/interfaces/stream-progress.js +3 -0
- package/src/interfaces/stream-progress.js.map +1 -0
- package/src/lib/configuration-provenance-utils.d.ts +11 -0
- package/src/lib/configuration-provenance-utils.d.ts.map +1 -0
- package/src/lib/configuration-provenance-utils.js +30 -0
- package/src/lib/configuration-provenance-utils.js.map +1 -0
- package/src/lib/crypto-container.d.ts +25 -0
- package/src/lib/crypto-container.d.ts.map +1 -0
- package/src/lib/crypto-container.js +50 -0
- package/src/lib/crypto-container.js.map +1 -0
- package/src/lib/guid.d.ts +344 -0
- package/src/lib/guid.d.ts.map +1 -0
- package/src/lib/guid.js +919 -0
- package/src/lib/guid.js.map +1 -0
- package/src/lib/id-providers/custom-provider.d.ts +46 -0
- package/src/lib/id-providers/custom-provider.d.ts.map +1 -0
- package/src/lib/id-providers/custom-provider.js +89 -0
- package/src/lib/id-providers/custom-provider.js.map +1 -0
- package/src/lib/id-providers/guidv4-provider.d.ts +56 -0
- package/src/lib/id-providers/guidv4-provider.d.ts.map +1 -0
- package/src/lib/id-providers/guidv4-provider.js +126 -0
- package/src/lib/id-providers/guidv4-provider.js.map +1 -0
- package/src/lib/id-providers/{index.ts → index.d.ts} +5 -6
- package/src/lib/id-providers/index.d.ts.map +1 -0
- package/src/lib/id-providers/index.js +37 -0
- package/src/lib/id-providers/index.js.map +1 -0
- package/src/lib/id-providers/objectid-provider.d.ts +43 -0
- package/src/lib/id-providers/objectid-provider.d.ts.map +1 -0
- package/src/lib/id-providers/objectid-provider.js +108 -0
- package/src/lib/id-providers/objectid-provider.js.map +1 -0
- package/src/lib/id-providers/uuid-provider.d.ts +52 -0
- package/src/lib/id-providers/uuid-provider.d.ts.map +1 -0
- package/src/lib/id-providers/uuid-provider.js +114 -0
- package/src/lib/id-providers/uuid-provider.js.map +1 -0
- package/src/lib/{index.ts → index.d.ts} +2 -2
- package/src/lib/index.d.ts.map +1 -0
- package/src/lib/index.js +9 -0
- package/src/lib/index.js.map +1 -0
- package/src/lib/invariant-validator.d.ts +59 -0
- package/src/lib/invariant-validator.d.ts.map +1 -0
- package/src/lib/invariant-validator.js +101 -0
- package/src/lib/invariant-validator.js.map +1 -0
- package/src/lib/invariants/encryption-algorithm-consistency.d.ts +17 -0
- package/src/lib/invariants/encryption-algorithm-consistency.d.ts.map +1 -0
- package/src/lib/invariants/encryption-algorithm-consistency.js +53 -0
- package/src/lib/invariants/encryption-algorithm-consistency.js.map +1 -0
- package/src/lib/invariants/{index.ts → index.d.ts} +1 -0
- package/src/lib/invariants/index.d.ts.map +1 -0
- package/src/lib/invariants/index.js +7 -0
- package/src/lib/invariants/index.js.map +1 -0
- package/src/lib/invariants/pbkdf2-profiles-validity.d.ts +16 -0
- package/src/lib/invariants/pbkdf2-profiles-validity.d.ts.map +1 -0
- package/src/lib/invariants/pbkdf2-profiles-validity.js +62 -0
- package/src/lib/invariants/pbkdf2-profiles-validity.js.map +1 -0
- package/src/lib/invariants/recipient-id-consistency.d.ts +18 -0
- package/src/lib/invariants/recipient-id-consistency.d.ts.map +1 -0
- package/src/lib/invariants/recipient-id-consistency.js +35 -0
- package/src/lib/invariants/recipient-id-consistency.js.map +1 -0
- package/src/lib/multi-recipient-chunk-utils.d.ts +38 -0
- package/src/lib/multi-recipient-chunk-utils.d.ts.map +1 -0
- package/src/lib/multi-recipient-chunk-utils.js +45 -0
- package/src/lib/multi-recipient-chunk-utils.js.map +1 -0
- package/src/member.d.ts +92 -0
- package/src/member.d.ts.map +1 -0
- package/src/member.js +327 -0
- package/src/member.js.map +1 -0
- package/src/{pbkdf2-profiles.ts → pbkdf2-profiles.d.ts} +2 -2
- package/src/pbkdf2-profiles.d.ts.map +1 -0
- package/src/pbkdf2-profiles.js +3 -0
- package/src/pbkdf2-profiles.js.map +1 -0
- package/src/phone-number.d.ts +6 -0
- package/src/phone-number.d.ts.map +1 -0
- package/src/phone-number.js +22 -0
- package/src/phone-number.js.map +1 -0
- package/src/regexes.d.ts +7 -0
- package/src/regexes.d.ts.map +1 -0
- package/src/regexes.js +10 -0
- package/src/regexes.js.map +1 -0
- package/src/secure-buffer.d.ts +61 -0
- package/src/secure-buffer.d.ts.map +1 -0
- package/src/secure-buffer.js +205 -0
- package/src/secure-buffer.js.map +1 -0
- package/src/secure-string.d.ts +46 -0
- package/src/secure-string.d.ts.map +1 -0
- package/src/secure-string.js +210 -0
- package/src/secure-string.js.map +1 -0
- package/src/services/aes-gcm.d.ts +57 -0
- package/src/services/aes-gcm.d.ts.map +1 -0
- package/src/services/aes-gcm.js +146 -0
- package/src/services/aes-gcm.js.map +1 -0
- package/src/services/chunk-processor.d.ts +31 -0
- package/src/services/chunk-processor.d.ts.map +1 -0
- package/src/services/chunk-processor.js +149 -0
- package/src/services/chunk-processor.js.map +1 -0
- package/src/services/ecies/crypto-core.d.ts +72 -0
- package/src/services/ecies/crypto-core.d.ts.map +1 -0
- package/src/services/ecies/crypto-core.js +209 -0
- package/src/services/ecies/crypto-core.js.map +1 -0
- package/src/services/ecies/example.d.ts +25 -0
- package/src/services/ecies/example.d.ts.map +1 -0
- package/src/services/ecies/example.js +128 -0
- package/src/services/ecies/example.js.map +1 -0
- package/src/services/ecies/file.d.ts +18 -0
- package/src/services/ecies/file.d.ts.map +1 -0
- package/src/services/ecies/file.js +110 -0
- package/src/services/ecies/file.js.map +1 -0
- package/src/services/ecies/{index.ts → index.d.ts} +1 -3
- package/src/services/ecies/index.d.ts.map +1 -0
- package/src/services/ecies/index.js +44 -0
- package/src/services/ecies/index.js.map +1 -0
- package/src/services/ecies/integration.d.ts +59 -0
- package/src/services/ecies/integration.d.ts.map +1 -0
- package/src/services/ecies/integration.js +172 -0
- package/src/services/ecies/integration.js.map +1 -0
- package/src/services/ecies/interfaces.d.ts +54 -0
- package/src/services/ecies/interfaces.d.ts.map +1 -0
- package/src/services/ecies/interfaces.js +6 -0
- package/src/services/ecies/interfaces.js.map +1 -0
- package/src/services/ecies/manual-test.d.ts +29 -0
- package/src/services/ecies/manual-test.d.ts.map +1 -0
- package/src/services/ecies/manual-test.js +171 -0
- package/src/services/ecies/manual-test.js.map +1 -0
- package/src/services/ecies/multi-recipient.d.ts +56 -0
- package/src/services/ecies/multi-recipient.d.ts.map +1 -0
- package/src/services/ecies/multi-recipient.js +348 -0
- package/src/services/ecies/multi-recipient.js.map +1 -0
- package/src/services/ecies/service.d.ts +120 -0
- package/src/services/ecies/service.d.ts.map +1 -0
- package/src/services/ecies/service.js +214 -0
- package/src/services/ecies/service.js.map +1 -0
- package/src/services/ecies/signature.d.ts +27 -0
- package/src/services/ecies/signature.d.ts.map +1 -0
- package/src/services/ecies/signature.js +76 -0
- package/src/services/ecies/signature.js.map +1 -0
- package/src/services/ecies/single-recipient.d.ts +46 -0
- package/src/services/ecies/single-recipient.d.ts.map +1 -0
- package/src/services/ecies/single-recipient.js +326 -0
- package/src/services/ecies/single-recipient.js.map +1 -0
- package/src/services/encryption-stream.d.ts +71 -0
- package/src/services/encryption-stream.d.ts.map +1 -0
- package/src/services/encryption-stream.js +299 -0
- package/src/services/encryption-stream.js.map +1 -0
- package/src/services/{index.ts → index.d.ts} +1 -0
- package/src/services/index.d.ts.map +1 -0
- package/src/services/index.js +14 -0
- package/src/services/index.js.map +1 -0
- package/src/services/multi-recipient-processor.d.ts +35 -0
- package/src/services/multi-recipient-processor.d.ts.map +1 -0
- package/src/services/multi-recipient-processor.js +293 -0
- package/src/services/multi-recipient-processor.js.map +1 -0
- package/src/services/password-login.d.ts +47 -0
- package/src/services/password-login.d.ts.map +1 -0
- package/src/services/password-login.js +119 -0
- package/src/services/password-login.js.map +1 -0
- package/src/services/pbkdf2.d.ts +54 -0
- package/src/services/pbkdf2.d.ts.map +1 -0
- package/src/services/pbkdf2.js +112 -0
- package/src/services/pbkdf2.js.map +1 -0
- package/src/services/progress-tracker.d.ts +23 -0
- package/src/services/progress-tracker.d.ts.map +1 -0
- package/src/services/progress-tracker.js +107 -0
- package/src/services/progress-tracker.js.map +1 -0
- package/src/services/resumable-encryption.d.ts +19 -0
- package/src/services/resumable-encryption.d.ts.map +1 -0
- package/src/services/resumable-encryption.js +109 -0
- package/src/services/resumable-encryption.js.map +1 -0
- package/src/services/xor.d.ts +37 -0
- package/src/services/xor.d.ts.map +1 -0
- package/src/services/xor.js +67 -0
- package/src/services/xor.js.map +1 -0
- package/src/test-mocks/index.d.ts +2 -0
- package/src/test-mocks/index.d.ts.map +1 -0
- package/src/test-mocks/index.js +5 -0
- package/src/test-mocks/index.js.map +1 -0
- package/src/test-mocks/mock-frontend-member.d.ts +85 -0
- package/src/test-mocks/mock-frontend-member.d.ts.map +1 -0
- package/src/test-mocks/mock-frontend-member.js +194 -0
- package/src/test-mocks/mock-frontend-member.js.map +1 -0
- package/src/testing.d.ts +2 -0
- package/src/testing.d.ts.map +1 -0
- package/src/testing.js +6 -0
- package/src/testing.js.map +1 -0
- package/src/translations/de.d.ts +4 -0
- package/src/translations/de.d.ts.map +1 -0
- package/src/translations/de.js +207 -0
- package/src/translations/de.js.map +1 -0
- package/src/translations/en-US.d.ts +4 -0
- package/src/translations/en-US.d.ts.map +1 -0
- package/src/translations/en-US.js +207 -0
- package/src/translations/en-US.js.map +1 -0
- package/src/translations/es.d.ts +4 -0
- package/src/translations/es.d.ts.map +1 -0
- package/src/translations/es.js +207 -0
- package/src/translations/es.js.map +1 -0
- package/src/translations/fr.d.ts +4 -0
- package/src/translations/fr.d.ts.map +1 -0
- package/src/translations/fr.js +207 -0
- package/src/translations/fr.js.map +1 -0
- package/src/translations/ja.d.ts +4 -0
- package/src/translations/ja.d.ts.map +1 -0
- package/src/translations/ja.js +206 -0
- package/src/translations/ja.js.map +1 -0
- package/src/translations/uk.d.ts +4 -0
- package/src/translations/uk.d.ts.map +1 -0
- package/src/translations/uk.js +209 -0
- package/src/translations/uk.js.map +1 -0
- package/src/translations/zh-cn.d.ts +4 -0
- package/src/translations/zh-cn.d.ts.map +1 -0
- package/src/translations/zh-cn.js +206 -0
- package/src/translations/zh-cn.js.map +1 -0
- package/src/types/deep-partial.d.ts +4 -0
- package/src/types/deep-partial.d.ts.map +1 -0
- package/src/types/deep-partial.js +3 -0
- package/src/types/deep-partial.js.map +1 -0
- package/src/{types.ts → types.d.ts} +7 -15
- package/src/types.d.ts.map +1 -0
- package/src/types.js +3 -0
- package/src/types.js.map +1 -0
- package/src/utils/encryption-type-utils.d.ts +29 -0
- package/src/utils/encryption-type-utils.d.ts.map +1 -0
- package/src/utils/encryption-type-utils.js +67 -0
- package/src/utils/encryption-type-utils.js.map +1 -0
- package/src/utils.d.ts +68 -0
- package/src/utils.d.ts.map +1 -0
- package/src/utils.js +291 -0
- package/src/utils.js.map +1 -0
- package/LICENSE +0 -21
- package/src/builders/ecies-builder.ts +0 -39
- package/src/builders/member-builder.ts +0 -155
- package/src/constants.ts +0 -609
- package/src/core/errors/crypto-error.ts +0 -78
- package/src/core/types/result.ts +0 -19
- package/src/email-string.ts +0 -82
- package/src/enumerations/disposed-error-type.ts +0 -11
- package/src/enumerations/ecies-cipher-suite.ts +0 -4
- package/src/enumerations/ecies-encryption-type.ts +0 -41
- package/src/enumerations/ecies-error-type.ts +0 -43
- package/src/enumerations/ecies-string-key.ts +0 -205
- package/src/enumerations/ecies-version.ts +0 -3
- package/src/enumerations/guid-brand-type.ts +0 -26
- package/src/enumerations/guid-error-type.ts +0 -6
- package/src/enumerations/id-provider-error-type.ts +0 -50
- package/src/enumerations/invalid-email-type.ts +0 -5
- package/src/enumerations/length-encoding-type.ts +0 -6
- package/src/enumerations/length-error-type.ts +0 -5
- package/src/enumerations/member-error-type.ts +0 -106
- package/src/enumerations/password-login-error-type.ts +0 -4
- package/src/enumerations/pbkdf2-error-type.ts +0 -5
- package/src/enumerations/pbkdf2-profile.ts +0 -5
- package/src/enumerations/secure-storage-error-type.ts +0 -5
- package/src/errors/disposed.ts +0 -36
- package/src/errors/ecies.ts +0 -153
- package/src/errors/guid.ts +0 -130
- package/src/errors/id-provider.ts +0 -40
- package/src/errors/invalid-email.ts +0 -23
- package/src/errors/length.ts +0 -19
- package/src/errors/member.ts +0 -20
- package/src/errors/pbkdf2.ts +0 -20
- package/src/errors/secure-storage.ts +0 -17
- package/src/errors/simple-ecies.ts +0 -21
- package/src/errors/simple-test-error.ts +0 -6
- package/src/i18n-setup.ts +0 -130
- package/src/interfaces/checksum-config.ts +0 -4
- package/src/interfaces/checksum-consts.ts +0 -13
- package/src/interfaces/configuration-provenance.ts +0 -54
- package/src/interfaces/constants.ts +0 -75
- package/src/interfaces/ecies-config.ts +0 -8
- package/src/interfaces/ecies-consts.ts +0 -76
- package/src/interfaces/ecies-file-service.ts +0 -6
- package/src/interfaces/encrypted-chunk.ts +0 -64
- package/src/interfaces/encryption-state.ts +0 -19
- package/src/interfaces/frontend-member-operational.ts +0 -77
- package/src/interfaces/guid.ts +0 -86
- package/src/interfaces/id-provider.ts +0 -152
- package/src/interfaces/invariant.ts +0 -60
- package/src/interfaces/library-error.ts +0 -23
- package/src/interfaces/member.ts +0 -84
- package/src/interfaces/multi-recipient-chunk.ts +0 -61
- package/src/interfaces/pbkdf2-config.ts +0 -6
- package/src/interfaces/pbkdf2-consts.ts +0 -10
- package/src/interfaces/pbkdf2-result.ts +0 -5
- package/src/interfaces/stream-config.ts +0 -17
- package/src/interfaces/stream-header.ts +0 -34
- package/src/interfaces/stream-progress.ts +0 -31
- package/src/lib/configuration-provenance-utils.ts +0 -29
- package/src/lib/crypto-container.ts +0 -64
- package/src/lib/guid.ts +0 -1097
- package/src/lib/id-providers/custom-provider.ts +0 -109
- package/src/lib/id-providers/guidv4-provider.ts +0 -141
- package/src/lib/id-providers/objectid-provider.ts +0 -125
- package/src/lib/id-providers/uuid-provider.ts +0 -133
- package/src/lib/invariant-validator.ts +0 -133
- package/src/lib/invariants/encryption-algorithm-consistency.ts +0 -73
- package/src/lib/invariants/pbkdf2-profiles-validity.ts +0 -78
- package/src/lib/invariants/recipient-id-consistency.ts +0 -46
- package/src/lib/multi-recipient-chunk-utils.ts +0 -63
- package/src/member.ts +0 -495
- package/src/phone-number.ts +0 -18
- package/src/regexes.ts +0 -10
- package/src/secure-buffer.ts +0 -226
- package/src/secure-string.ts +0 -244
- package/src/services/aes-gcm.ts +0 -220
- package/src/services/chunk-processor.ts +0 -188
- package/src/services/ecies/README.md +0 -147
- package/src/services/ecies/crypto-core.ts +0 -292
- package/src/services/ecies/example.ts +0 -185
- package/src/services/ecies/file.ts +0 -167
- package/src/services/ecies/integration.ts +0 -241
- package/src/services/ecies/interfaces.ts +0 -62
- package/src/services/ecies/manual-test.ts +0 -219
- package/src/services/ecies/multi-recipient.ts +0 -545
- package/src/services/ecies/service.ts +0 -370
- package/src/services/ecies/signature.ts +0 -93
- package/src/services/ecies/single-recipient.ts +0 -476
- package/src/services/encryption-stream.ts +0 -435
- package/src/services/multi-recipient-processor.ts +0 -377
- package/src/services/password-login.ts +0 -226
- package/src/services/pbkdf2.ts +0 -169
- package/src/services/progress-tracker.ts +0 -128
- package/src/services/resumable-encryption.ts +0 -135
- package/src/services/xor.ts +0 -65
- package/src/test-mocks/index.ts +0 -1
- package/src/test-mocks/mock-frontend-member.ts +0 -276
- package/src/testing.ts +0 -2
- package/src/translations/de.ts +0 -260
- package/src/translations/en-US.ts +0 -262
- package/src/translations/es.ts +0 -271
- package/src/translations/fr.ts +0 -269
- package/src/translations/ja.ts +0 -259
- package/src/translations/uk.ts +0 -271
- package/src/translations/zh-cn.ts +0 -234
- package/src/types/deep-partial.ts +0 -11
- package/src/utils/encryption-type-utils.ts +0 -76
- package/src/utils.ts +0 -329
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Standardized error interface for Digital Defiance libraries
|
|
3
|
-
* Ensures consistent error handling across the ecosystem
|
|
4
|
-
*/
|
|
5
|
-
export interface LibraryError extends Error {
|
|
6
|
-
/** The library that generated this error */
|
|
7
|
-
readonly library: string;
|
|
8
|
-
/** Unique error code for programmatic handling */
|
|
9
|
-
readonly errorCode: string;
|
|
10
|
-
/** HTTP-style status code */
|
|
11
|
-
readonly statusCode: number;
|
|
12
|
-
}
|
|
13
|
-
|
|
14
|
-
/**
|
|
15
|
-
* Interface for resources that can be disposed
|
|
16
|
-
* Ensures consistent memory management across libraries
|
|
17
|
-
*/
|
|
18
|
-
export interface DisposableResource {
|
|
19
|
-
/** Dispose of the resource and clean up memory */
|
|
20
|
-
dispose(): void;
|
|
21
|
-
/** Whether the resource has been disposed */
|
|
22
|
-
readonly isDisposed: boolean;
|
|
23
|
-
}
|
package/src/interfaces/member.ts
DELETED
|
@@ -1,84 +0,0 @@
|
|
|
1
|
-
import type { Wallet } from '@ethereumjs/wallet';
|
|
2
|
-
import type { EmailString } from '../email-string';
|
|
3
|
-
import type MemberType from '../enumerations/member-type';
|
|
4
|
-
import type { SecureBuffer } from '../secure-buffer';
|
|
5
|
-
import type { SecureString } from '../secure-string';
|
|
6
|
-
import type { SignatureUint8Array } from '../types';
|
|
7
|
-
import type { IECIESConstants } from './ecies-consts';
|
|
8
|
-
import type { IEncryptedChunk } from './encrypted-chunk';
|
|
9
|
-
|
|
10
|
-
/**
|
|
11
|
-
* Interface representing a member with cryptographic capabilities.
|
|
12
|
-
* This interface defines the contract for member operations without
|
|
13
|
-
* referencing concrete class implementations.
|
|
14
|
-
*/
|
|
15
|
-
export interface IMember {
|
|
16
|
-
// Required properties
|
|
17
|
-
readonly id: Uint8Array;
|
|
18
|
-
readonly type: MemberType;
|
|
19
|
-
readonly name: string;
|
|
20
|
-
readonly email: EmailString;
|
|
21
|
-
readonly publicKey: Uint8Array;
|
|
22
|
-
readonly creatorId: Uint8Array;
|
|
23
|
-
readonly dateCreated: Date;
|
|
24
|
-
readonly dateUpdated: Date;
|
|
25
|
-
|
|
26
|
-
// Optional private data properties
|
|
27
|
-
readonly privateKey: SecureBuffer | undefined;
|
|
28
|
-
readonly wallet: Wallet;
|
|
29
|
-
|
|
30
|
-
// State properties
|
|
31
|
-
readonly hasPrivateKey: boolean;
|
|
32
|
-
|
|
33
|
-
// Key management methods
|
|
34
|
-
unloadPrivateKey(): void;
|
|
35
|
-
unloadWallet(): void;
|
|
36
|
-
unloadWalletAndPrivateKey(): void;
|
|
37
|
-
loadWallet(mnemonic: SecureString, eciesParams?: IECIESConstants): void;
|
|
38
|
-
loadPrivateKey(privateKey: SecureBuffer): void;
|
|
39
|
-
|
|
40
|
-
// Cryptographic methods
|
|
41
|
-
sign(data: Uint8Array): SignatureUint8Array;
|
|
42
|
-
signData(data: Uint8Array): SignatureUint8Array;
|
|
43
|
-
verify(signature: SignatureUint8Array, data: Uint8Array): boolean;
|
|
44
|
-
verifySignature(
|
|
45
|
-
data: Uint8Array,
|
|
46
|
-
signature: Uint8Array,
|
|
47
|
-
publicKey: Uint8Array,
|
|
48
|
-
): boolean;
|
|
49
|
-
|
|
50
|
-
// Encryption/Decryption methods
|
|
51
|
-
encryptDataStream(
|
|
52
|
-
source: AsyncIterable<Uint8Array> | ReadableStream<Uint8Array>,
|
|
53
|
-
options?: {
|
|
54
|
-
recipientPublicKey?: Uint8Array;
|
|
55
|
-
onProgress?: (progress: {
|
|
56
|
-
bytesProcessed: number;
|
|
57
|
-
chunksProcessed: number;
|
|
58
|
-
}) => void;
|
|
59
|
-
signal?: AbortSignal;
|
|
60
|
-
},
|
|
61
|
-
): AsyncGenerator<IEncryptedChunk, void, unknown>;
|
|
62
|
-
|
|
63
|
-
decryptDataStream(
|
|
64
|
-
source: AsyncIterable<Uint8Array> | ReadableStream<Uint8Array>,
|
|
65
|
-
options?: {
|
|
66
|
-
onProgress?: (progress: {
|
|
67
|
-
bytesProcessed: number;
|
|
68
|
-
chunksProcessed: number;
|
|
69
|
-
}) => void;
|
|
70
|
-
signal?: AbortSignal;
|
|
71
|
-
},
|
|
72
|
-
): AsyncGenerator<Uint8Array, void, unknown>;
|
|
73
|
-
|
|
74
|
-
encryptData(
|
|
75
|
-
data: string | Uint8Array,
|
|
76
|
-
recipientPublicKey?: Uint8Array,
|
|
77
|
-
): Promise<Uint8Array>;
|
|
78
|
-
|
|
79
|
-
decryptData(encryptedData: Uint8Array): Promise<Uint8Array>;
|
|
80
|
-
|
|
81
|
-
// Serialization methods
|
|
82
|
-
toJson(): string;
|
|
83
|
-
dispose(): void;
|
|
84
|
-
}
|
|
@@ -1,61 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Multi-recipient encrypted chunk format
|
|
3
|
-
*
|
|
4
|
-
* Structure:
|
|
5
|
-
* - Header (32 bytes): magic, version, recipientCount, chunkIndex, etc.
|
|
6
|
-
* - Recipient headers (variable): encrypted symmetric keys for each recipient
|
|
7
|
-
* - Encrypted data (variable): data encrypted with symmetric key
|
|
8
|
-
*/
|
|
9
|
-
|
|
10
|
-
/**
|
|
11
|
-
* Multi-recipient chunk header (32 bytes)
|
|
12
|
-
*/
|
|
13
|
-
export interface IMultiRecipientChunkHeader {
|
|
14
|
-
/** Magic bytes: 0x4D524543 ("MREC") */
|
|
15
|
-
magic: number;
|
|
16
|
-
/** Version: 0x0001 */
|
|
17
|
-
version: number;
|
|
18
|
-
/** Number of recipients */
|
|
19
|
-
recipientCount: number;
|
|
20
|
-
/** Chunk index */
|
|
21
|
-
chunkIndex: number;
|
|
22
|
-
/** Original data size */
|
|
23
|
-
originalSize: number;
|
|
24
|
-
/** Encrypted data size */
|
|
25
|
-
encryptedSize: number;
|
|
26
|
-
/** Flags (bit 0: isLast, bit 1: hasChecksum) */
|
|
27
|
-
flags: number;
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
/**
|
|
31
|
-
* Recipient header (variable size)
|
|
32
|
-
*/
|
|
33
|
-
export interface IRecipientHeader {
|
|
34
|
-
/** Recipient ID (size determined by ID provider) */
|
|
35
|
-
id: Uint8Array;
|
|
36
|
-
/** Encrypted symmetric key size (2 bytes) */
|
|
37
|
-
keySize: number;
|
|
38
|
-
/** Encrypted symmetric key (variable) */
|
|
39
|
-
encryptedKey: Uint8Array;
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
/**
|
|
43
|
-
* Multi-recipient encrypted chunk
|
|
44
|
-
*/
|
|
45
|
-
export interface IMultiRecipientChunk {
|
|
46
|
-
/** Chunk index */
|
|
47
|
-
index: number;
|
|
48
|
-
/** Complete chunk data (header + recipient headers + encrypted data) */
|
|
49
|
-
data: Uint8Array;
|
|
50
|
-
/** Whether this is the last chunk */
|
|
51
|
-
isLast: boolean;
|
|
52
|
-
/** Number of recipients */
|
|
53
|
-
recipientCount: number;
|
|
54
|
-
}
|
|
55
|
-
|
|
56
|
-
// Re-export interface (type-only), utility function and constant from lib
|
|
57
|
-
export {
|
|
58
|
-
MULTI_RECIPIENT_CONSTANTS,
|
|
59
|
-
getMultiRecipientConstants,
|
|
60
|
-
} from '../lib/multi-recipient-chunk-utils';
|
|
61
|
-
export type { IMultiRecipientConstants } from '../lib/multi-recipient-chunk-utils';
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
export interface IPBkdf2Consts {
|
|
2
|
-
/** Hash algorithm (sha512) */
|
|
3
|
-
ALGORITHM: string;
|
|
4
|
-
|
|
5
|
-
/** Number of bytes in a salt. */
|
|
6
|
-
SALT_BYTES: number;
|
|
7
|
-
|
|
8
|
-
/** Expected number of pbkdf2 iterations per second when hashing a password. */
|
|
9
|
-
ITERATIONS_PER_SECOND: number;
|
|
10
|
-
}
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Configuration for streaming encryption operations
|
|
3
|
-
*/
|
|
4
|
-
export interface IStreamConfig {
|
|
5
|
-
/** Chunk size in bytes (default: 1MB) */
|
|
6
|
-
chunkSize: number;
|
|
7
|
-
/** Whether to include checksums for each chunk */
|
|
8
|
-
includeChecksums: boolean;
|
|
9
|
-
}
|
|
10
|
-
|
|
11
|
-
/**
|
|
12
|
-
* Default streaming configuration
|
|
13
|
-
*/
|
|
14
|
-
export const DEFAULT_STREAM_CONFIG: IStreamConfig = {
|
|
15
|
-
chunkSize: 1024 * 1024, // 1MB
|
|
16
|
-
includeChecksums: false,
|
|
17
|
-
};
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
import type { EciesEncryptionTypeEnum } from '../enumerations/ecies-encryption-type';
|
|
2
|
-
|
|
3
|
-
/**
|
|
4
|
-
* Stream header structure (128 bytes fixed)
|
|
5
|
-
*/
|
|
6
|
-
export interface IStreamHeader {
|
|
7
|
-
/** Magic bytes: 0x45435354 ("ECST") */
|
|
8
|
-
magic: number;
|
|
9
|
-
/** Version: 0x0001 */
|
|
10
|
-
version: number;
|
|
11
|
-
/** Encryption type */
|
|
12
|
-
encryptionType: EciesEncryptionTypeEnum;
|
|
13
|
-
/** Chunk size in bytes */
|
|
14
|
-
chunkSize: number;
|
|
15
|
-
/** Total number of chunks (0 if unknown) */
|
|
16
|
-
totalChunks: number;
|
|
17
|
-
/** Total bytes to process (0 if unknown) */
|
|
18
|
-
totalBytes: number;
|
|
19
|
-
/** Timestamp when stream started */
|
|
20
|
-
timestamp: number;
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
/**
|
|
24
|
-
* Constants for stream header format
|
|
25
|
-
*/
|
|
26
|
-
export const STREAM_HEADER_CONSTANTS: {
|
|
27
|
-
readonly MAGIC: 0x45435354;
|
|
28
|
-
readonly VERSION: 0x0001;
|
|
29
|
-
readonly HEADER_SIZE: 128;
|
|
30
|
-
} = {
|
|
31
|
-
MAGIC: 0x45435354, // "ECST"
|
|
32
|
-
VERSION: 0x0001,
|
|
33
|
-
HEADER_SIZE: 128,
|
|
34
|
-
} as const;
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Progress information for streaming operations
|
|
3
|
-
*/
|
|
4
|
-
export interface IStreamProgress {
|
|
5
|
-
/** Total bytes processed so far */
|
|
6
|
-
bytesProcessed: number;
|
|
7
|
-
/** Total bytes to process (undefined for unknown-length streams) */
|
|
8
|
-
totalBytes?: number;
|
|
9
|
-
/** Number of chunks processed */
|
|
10
|
-
chunksProcessed: number;
|
|
11
|
-
/** Percentage complete (0-100, undefined if totalBytes unknown) */
|
|
12
|
-
percentComplete?: number;
|
|
13
|
-
/** Current throughput in bytes per second */
|
|
14
|
-
throughputBytesPerSec: number;
|
|
15
|
-
/** Estimated time remaining in seconds (undefined if totalBytes unknown) */
|
|
16
|
-
estimatedTimeRemaining?: number;
|
|
17
|
-
/** Timestamp when operation started */
|
|
18
|
-
startTime: number;
|
|
19
|
-
/** Elapsed time in milliseconds */
|
|
20
|
-
elapsedTime: number;
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
/**
|
|
24
|
-
* Callback function for progress updates
|
|
25
|
-
*/
|
|
26
|
-
export type ProgressCallback = (progress: IStreamProgress) => void | Promise<void>;
|
|
27
|
-
|
|
28
|
-
/**
|
|
29
|
-
* Callback function for chunk completion
|
|
30
|
-
*/
|
|
31
|
-
export type ChunkCallback = (chunk: { index: number; size: number }) => void | Promise<void>;
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
import { sha256 } from '@noble/hashes/sha2.js';
|
|
2
|
-
import { bytesToHex } from '@noble/hashes/utils.js';
|
|
3
|
-
import type { IConstants } from '../interfaces/constants';
|
|
4
|
-
|
|
5
|
-
/**
|
|
6
|
-
* Calculates a checksum for a configuration object.
|
|
7
|
-
* Uses SHA-256 of JSON representation.
|
|
8
|
-
*/
|
|
9
|
-
export function calculateConfigChecksum(config: IConstants): string {
|
|
10
|
-
// Create a stable JSON representation with BigInt support
|
|
11
|
-
const replacer = (_key: string, value: any) =>
|
|
12
|
-
typeof value === 'bigint' ? value.toString() : value;
|
|
13
|
-
const stable = JSON.stringify(config, replacer);
|
|
14
|
-
const encoder = new TextEncoder();
|
|
15
|
-
const data = encoder.encode(stable);
|
|
16
|
-
return bytesToHex(sha256(data));
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
/**
|
|
20
|
-
* Captures a stack trace for provenance tracking
|
|
21
|
-
*/
|
|
22
|
-
export function captureCreationStack(): string {
|
|
23
|
-
const stack = new Error().stack;
|
|
24
|
-
if (!stack) return 'stack unavailable';
|
|
25
|
-
|
|
26
|
-
// Remove the first two lines (Error message and this function)
|
|
27
|
-
const lines = stack.split('\n').slice(2);
|
|
28
|
-
return lines.join('\n');
|
|
29
|
-
}
|
|
@@ -1,64 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Service Container for dependency injection
|
|
3
|
-
*/
|
|
4
|
-
|
|
5
|
-
import { I18nEngine } from '@digitaldefiance/i18n-lib';
|
|
6
|
-
import { Constants } from '../constants';
|
|
7
|
-
import { EciesStringKey } from '../enumerations/ecies-string-key';
|
|
8
|
-
import { EciesComponentId, getEciesI18nEngine } from '../i18n-setup';
|
|
9
|
-
import type { IConstants } from '../interfaces/constants';
|
|
10
|
-
|
|
11
|
-
export enum CryptoServiceKey {
|
|
12
|
-
ECIES = 'ecies',
|
|
13
|
-
PBKDF2 = 'pbkdf2',
|
|
14
|
-
AES_GCM = 'aes-gcm',
|
|
15
|
-
PASSWORD_LOGIN = 'password-login',
|
|
16
|
-
FILE = 'file',
|
|
17
|
-
XOR = 'xor',
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
export class CryptoContainer {
|
|
21
|
-
private services = new Map<CryptoServiceKey, unknown>();
|
|
22
|
-
private config: IConstants;
|
|
23
|
-
private i18n: I18nEngine;
|
|
24
|
-
|
|
25
|
-
private constructor(config: IConstants, i18n: I18nEngine) {
|
|
26
|
-
this.config = config;
|
|
27
|
-
this.i18n = i18n;
|
|
28
|
-
this.initServices();
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
static create(
|
|
32
|
-
config: IConstants = Constants,
|
|
33
|
-
i18n?: I18nEngine,
|
|
34
|
-
): CryptoContainer {
|
|
35
|
-
return new CryptoContainer(config, i18n || getEciesI18nEngine());
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
get<T>(key: CryptoServiceKey): T {
|
|
39
|
-
const service = this.services.get(key);
|
|
40
|
-
if (!service) {
|
|
41
|
-
throw new Error(
|
|
42
|
-
this.i18n.translate(
|
|
43
|
-
EciesComponentId,
|
|
44
|
-
EciesStringKey.Error_Container_ServiceNotFoundTemplate,
|
|
45
|
-
{ service: key },
|
|
46
|
-
),
|
|
47
|
-
);
|
|
48
|
-
}
|
|
49
|
-
return service as T;
|
|
50
|
-
}
|
|
51
|
-
|
|
52
|
-
private initServices(): void {
|
|
53
|
-
// Services will be lazily loaded to avoid circular dependencies
|
|
54
|
-
// Implementation will be added as services are migrated
|
|
55
|
-
}
|
|
56
|
-
|
|
57
|
-
getConfig(): IConstants {
|
|
58
|
-
return this.config;
|
|
59
|
-
}
|
|
60
|
-
|
|
61
|
-
getI18n(): I18nEngine {
|
|
62
|
-
return this.i18n;
|
|
63
|
-
}
|
|
64
|
-
}
|