@brightchain/brightchain-api-lib 0.2.0 → 0.5.0
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 +2 -2
- package/src/index.d.ts +11 -79
- package/src/index.d.ts.map +1 -1
- package/src/index.js +12 -82
- package/src/index.js.map +1 -1
- package/src/lib/__tests__/fixtures/mock-backend-brightchain-member.d.ts +1 -2
- package/src/lib/__tests__/fixtures/mock-backend-brightchain-member.d.ts.map +1 -1
- package/src/lib/__tests__/fixtures/mock-backend-brightchain-member.js +1 -1
- package/src/lib/__tests__/fixtures/mock-backend-brightchain-member.js.map +1 -1
- package/src/lib/application-base.d.ts +7 -6
- package/src/lib/application-base.d.ts.map +1 -1
- package/src/lib/application-base.js.map +1 -1
- package/src/lib/application.d.ts +7 -2
- package/src/lib/application.d.ts.map +1 -1
- package/src/lib/application.js +30 -0
- package/src/lib/application.js.map +1 -1
- package/src/lib/availability/discoveryProtocol.d.ts +0 -1
- package/src/lib/availability/discoveryProtocol.d.ts.map +1 -1
- package/src/lib/availability/discoveryProtocol.js +2 -4
- package/src/lib/availability/discoveryProtocol.js.map +1 -1
- package/src/lib/availability/gossipService.d.ts +0 -1
- package/src/lib/availability/gossipService.d.ts.map +1 -1
- package/src/lib/availability/gossipService.js +2 -4
- package/src/lib/availability/gossipService.js.map +1 -1
- package/src/lib/availability/heartbeatMonitor.d.ts +0 -1
- package/src/lib/availability/heartbeatMonitor.d.ts.map +1 -1
- package/src/lib/availability/heartbeatMonitor.js +2 -4
- package/src/lib/availability/heartbeatMonitor.js.map +1 -1
- package/src/lib/controllers/api/blocks.d.ts +246 -0
- package/src/lib/controllers/api/blocks.d.ts.map +1 -0
- package/src/lib/controllers/api/blocks.js +414 -0
- package/src/lib/controllers/api/blocks.js.map +1 -0
- package/src/lib/controllers/api/cbl.d.ts +88 -0
- package/src/lib/controllers/api/cbl.d.ts.map +1 -0
- package/src/lib/controllers/api/cbl.js +222 -0
- package/src/lib/controllers/api/cbl.js.map +1 -0
- package/src/lib/controllers/api/energy.d.ts +18 -0
- package/src/lib/controllers/api/energy.d.ts.map +1 -0
- package/src/lib/controllers/api/energy.js +96 -0
- package/src/lib/controllers/api/energy.js.map +1 -0
- package/src/lib/controllers/api/i18n.d.ts +19 -0
- package/src/lib/controllers/api/i18n.d.ts.map +1 -0
- package/src/lib/controllers/api/i18n.js +27 -0
- package/src/lib/controllers/api/i18n.js.map +1 -0
- package/src/lib/controllers/api/index.d.ts +9 -0
- package/src/lib/controllers/api/index.d.ts.map +1 -0
- package/src/lib/controllers/api/index.js +12 -0
- package/src/lib/controllers/api/index.js.map +1 -0
- package/src/lib/controllers/api/members.d.ts +19 -0
- package/src/lib/controllers/api/members.d.ts.map +1 -0
- package/src/lib/controllers/api/members.js +27 -0
- package/src/lib/controllers/api/members.js.map +1 -0
- package/src/lib/controllers/api/quorum.d.ts +369 -0
- package/src/lib/controllers/api/quorum.d.ts.map +1 -0
- package/src/lib/controllers/api/quorum.js +592 -0
- package/src/lib/controllers/api/quorum.js.map +1 -0
- package/src/lib/controllers/api/sessions.d.ts +21 -0
- package/src/lib/controllers/api/sessions.d.ts.map +1 -0
- package/src/lib/controllers/api/sessions.js +32 -0
- package/src/lib/controllers/api/sessions.js.map +1 -0
- package/src/lib/controllers/api/user.d.ts +20 -0
- package/src/lib/controllers/api/user.d.ts.map +1 -0
- package/src/lib/controllers/api/user.js +109 -0
- package/src/lib/controllers/api/user.js.map +1 -0
- package/src/lib/controllers/base.d.ts +6 -48
- package/src/lib/controllers/base.d.ts.map +1 -1
- package/src/lib/controllers/base.js +2 -225
- package/src/lib/controllers/base.js.map +1 -1
- package/src/lib/controllers/index.d.ts +3 -0
- package/src/lib/controllers/index.d.ts.map +1 -0
- package/src/lib/controllers/index.js +6 -0
- package/src/lib/controllers/index.js.map +1 -0
- package/src/lib/datastore/block-document-store.d.ts.map +1 -1
- package/src/lib/datastore/block-document-store.js +22 -18
- package/src/lib/datastore/block-document-store.js.map +1 -1
- package/src/lib/datastore/document-store.d.ts +1 -2
- package/src/lib/datastore/document-store.d.ts.map +1 -1
- package/src/lib/datastore/index.d.ts +6 -0
- package/src/lib/datastore/index.d.ts.map +1 -0
- package/src/lib/datastore/index.js +8 -0
- package/src/lib/datastore/index.js.map +1 -0
- package/src/lib/datastore/memory-document-store.d.ts.map +1 -1
- package/src/lib/datastore/memory-document-store.js.map +1 -1
- package/src/lib/documents/base.d.ts +3 -2
- package/src/lib/documents/base.d.ts.map +1 -1
- package/src/lib/enumerations/index.d.ts +5 -0
- package/src/lib/enumerations/index.d.ts.map +1 -0
- package/src/lib/enumerations/index.js +8 -0
- package/src/lib/enumerations/index.js.map +1 -0
- package/src/lib/enumerations/websocketMessageType.d.ts +44 -0
- package/src/lib/enumerations/websocketMessageType.d.ts.map +1 -0
- package/src/lib/enumerations/websocketMessageType.js +47 -0
- package/src/lib/enumerations/websocketMessageType.js.map +1 -0
- package/src/lib/environment.d.ts +4 -2
- package/src/lib/environment.d.ts.map +1 -1
- package/src/lib/environment.js.map +1 -1
- package/src/lib/errors/index.d.ts +20 -0
- package/src/lib/errors/index.d.ts.map +1 -0
- package/src/lib/errors/index.js +23 -0
- package/src/lib/errors/index.js.map +1 -0
- package/src/lib/interfaces/application.d.ts +19 -7
- package/src/lib/interfaces/application.d.ts.map +1 -1
- package/src/lib/interfaces/auth-credentials.d.ts +6 -0
- package/src/lib/interfaces/auth-credentials.d.ts.map +1 -0
- package/src/lib/interfaces/{server-init-result.js → auth-credentials.js} +1 -1
- package/src/lib/interfaces/auth-credentials.js.map +1 -0
- package/src/lib/interfaces/auth-token.d.ts +6 -0
- package/src/lib/interfaces/auth-token.d.ts.map +1 -0
- package/src/lib/interfaces/{ecies-consts.js → auth-token.js} +1 -1
- package/src/lib/interfaces/auth-token.js.map +1 -0
- package/src/lib/interfaces/backend-objects/index.d.ts +5 -0
- package/src/lib/interfaces/backend-objects/index.d.ts.map +1 -0
- package/src/lib/interfaces/backend-objects/index.js +8 -0
- package/src/lib/interfaces/backend-objects/index.js.map +1 -0
- package/src/lib/interfaces/bases/index.d.ts +5 -0
- package/src/lib/interfaces/bases/index.d.ts.map +1 -0
- package/src/lib/interfaces/bases/index.js +8 -0
- package/src/lib/interfaces/bases/index.js.map +1 -0
- package/src/lib/interfaces/blockRequest.d.ts +40 -0
- package/src/lib/interfaces/blockRequest.d.ts.map +1 -0
- package/src/lib/interfaces/{mongo-errors.js → blockRequest.js} +1 -1
- package/src/lib/interfaces/blockRequest.js.map +1 -0
- package/src/lib/interfaces/blockResponses.d.ts +32 -0
- package/src/lib/interfaces/blockResponses.d.ts.map +1 -0
- package/src/lib/interfaces/blockResponses.js +3 -0
- package/src/lib/interfaces/blockResponses.js.map +1 -0
- package/src/lib/interfaces/blockService.d.ts +16 -0
- package/src/lib/interfaces/blockService.d.ts.map +1 -0
- package/src/lib/interfaces/{pbkdf2-result.js → blockService.js} +1 -1
- package/src/lib/interfaces/blockService.js.map +1 -0
- package/src/lib/interfaces/blockStore.d.ts +7 -0
- package/src/lib/interfaces/blockStore.d.ts.map +1 -0
- package/src/lib/interfaces/blockStore.js +3 -0
- package/src/lib/interfaces/blockStore.js.map +1 -0
- package/src/lib/interfaces/blocksHandlers.d.ts +7 -0
- package/src/lib/interfaces/blocksHandlers.d.ts.map +1 -0
- package/src/lib/interfaces/blocksHandlers.js +3 -0
- package/src/lib/interfaces/blocksHandlers.js.map +1 -0
- package/src/lib/interfaces/cblHandlers.d.ts +7 -0
- package/src/lib/interfaces/cblHandlers.d.ts.map +1 -0
- package/src/lib/interfaces/cblHandlers.js +3 -0
- package/src/lib/interfaces/cblHandlers.js.map +1 -0
- package/src/lib/interfaces/environment.d.ts +4 -2
- package/src/lib/interfaces/environment.d.ts.map +1 -1
- package/src/lib/interfaces/index.d.ts +33 -0
- package/src/lib/interfaces/index.d.ts.map +1 -0
- package/src/lib/interfaces/index.js +36 -0
- package/src/lib/interfaces/index.js.map +1 -0
- package/src/lib/interfaces/member/index.d.ts +3 -0
- package/src/lib/interfaces/member/index.d.ts.map +1 -0
- package/src/lib/interfaces/member/index.js +6 -0
- package/src/lib/interfaces/member/index.js.map +1 -0
- package/src/lib/interfaces/member/operational.d.ts +1 -2
- package/src/lib/interfaces/member/operational.d.ts.map +1 -1
- package/src/lib/interfaces/membersResponse.d.ts +12 -0
- package/src/lib/interfaces/membersResponse.d.ts.map +1 -0
- package/src/lib/interfaces/membersResponse.js +3 -0
- package/src/lib/interfaces/membersResponse.js.map +1 -0
- package/src/lib/interfaces/responses/index.d.ts +0 -1
- package/src/lib/interfaces/responses/index.d.ts.map +1 -1
- package/src/lib/interfaces/status-code-response.d.ts +1 -1
- package/src/lib/interfaces/status-code-response.d.ts.map +1 -1
- package/src/lib/interfaces/token-payload.d.ts +9 -0
- package/src/lib/interfaces/token-payload.d.ts.map +1 -0
- package/src/lib/interfaces/token-payload.js +3 -0
- package/src/lib/interfaces/token-payload.js.map +1 -0
- package/src/lib/interfaces/websocketMessages.d.ts +222 -0
- package/src/lib/interfaces/websocketMessages.d.ts.map +1 -0
- package/src/lib/interfaces/websocketMessages.js +6 -0
- package/src/lib/interfaces/websocketMessages.js.map +1 -0
- package/src/lib/routers/api.d.ts +9 -4
- package/src/lib/routers/api.d.ts.map +1 -1
- package/src/lib/routers/api.js +18 -6
- package/src/lib/routers/api.js.map +1 -1
- package/src/lib/routers/app.d.ts +3 -2
- package/src/lib/routers/app.d.ts.map +1 -1
- package/src/lib/routers/app.js +5 -4
- package/src/lib/routers/app.js.map +1 -1
- package/src/lib/routers/base.d.ts +6 -4
- package/src/lib/routers/base.d.ts.map +1 -1
- package/src/lib/routers/base.js.map +1 -1
- package/src/lib/routers/index.d.ts +5 -0
- package/src/lib/routers/index.d.ts.map +1 -0
- package/src/lib/routers/index.js +8 -0
- package/src/lib/routers/index.js.map +1 -0
- package/src/lib/routers/messageRouter.js +2 -2
- package/src/lib/routers/messageRouter.js.map +1 -1
- package/src/lib/services/auth.d.ts +23 -0
- package/src/lib/services/auth.d.ts.map +1 -0
- package/src/lib/services/auth.js +93 -0
- package/src/lib/services/auth.js.map +1 -0
- package/src/lib/services/base.d.ts +12 -0
- package/src/lib/services/base.d.ts.map +1 -0
- package/src/lib/services/base.js +15 -0
- package/src/lib/services/base.js.map +1 -0
- package/src/lib/services/blockServiceFactory.d.ts +29 -0
- package/src/lib/services/blockServiceFactory.d.ts.map +1 -0
- package/src/lib/services/blockServiceFactory.js +42 -0
- package/src/lib/services/blockServiceFactory.js.map +1 -0
- package/src/lib/services/blockStore.d.ts +52 -0
- package/src/lib/services/blockStore.d.ts.map +1 -0
- package/src/lib/services/blockStore.js +105 -0
- package/src/lib/services/blockStore.js.map +1 -0
- package/src/lib/services/blocks.d.ts +26 -0
- package/src/lib/services/blocks.d.ts.map +1 -0
- package/src/lib/services/blocks.js +35 -0
- package/src/lib/services/blocks.js.map +1 -0
- package/src/lib/services/diskQuorumService.d.ts.map +1 -1
- package/src/lib/services/diskQuorumService.js.map +1 -1
- package/src/lib/services/email.d.ts +4 -3
- package/src/lib/services/email.d.ts.map +1 -1
- package/src/lib/services/email.js +4 -3
- package/src/lib/services/email.js.map +1 -1
- package/src/lib/services/index.d.ts +21 -0
- package/src/lib/services/index.d.ts.map +1 -0
- package/src/lib/services/index.js +26 -0
- package/src/lib/services/index.js.map +1 -0
- package/src/lib/services/messagePassingService.d.ts.map +1 -1
- package/src/lib/services/messagePassingService.js +1 -1
- package/src/lib/services/messagePassingService.js.map +1 -1
- package/src/lib/services/quorum.d.ts +44 -0
- package/src/lib/services/quorum.d.ts.map +1 -0
- package/src/lib/services/quorum.js +83 -0
- package/src/lib/services/quorum.js.map +1 -0
- package/src/lib/services/requestUser.d.ts +18 -0
- package/src/lib/services/requestUser.d.ts.map +1 -0
- package/src/lib/services/requestUser.js +22 -0
- package/src/lib/services/requestUser.js.map +1 -0
- package/src/lib/services/role.d.ts +19 -0
- package/src/lib/services/role.d.ts.map +1 -0
- package/src/lib/services/role.js +18 -0
- package/src/lib/services/role.js.map +1 -0
- package/src/lib/services/secureKeyStorage.d.ts +15 -0
- package/src/lib/services/secureKeyStorage.d.ts.map +1 -0
- package/src/lib/services/secureKeyStorage.js +46 -0
- package/src/lib/services/secureKeyStorage.js.map +1 -0
- package/src/lib/services/webSocketMessageServer.js +1 -1
- package/src/lib/services/webSocketMessageServer.js.map +1 -1
- package/src/lib/services/websocketHandler.d.ts +95 -0
- package/src/lib/services/websocketHandler.d.ts.map +1 -0
- package/src/lib/services/websocketHandler.js +269 -0
- package/src/lib/services/websocketHandler.js.map +1 -0
- package/src/lib/shared-types.d.ts +8 -34
- package/src/lib/shared-types.d.ts.map +1 -1
- package/src/lib/shared-types.js +0 -3
- package/src/lib/shared-types.js.map +1 -1
- package/src/lib/stores/availabilityAwareBlockStore.d.ts +45 -1
- package/src/lib/stores/availabilityAwareBlockStore.d.ts.map +1 -1
- package/src/lib/stores/availabilityAwareBlockStore.js +109 -0
- package/src/lib/stores/availabilityAwareBlockStore.js.map +1 -1
- package/src/lib/stores/diskBlockAsyncStore.d.ts +72 -1
- package/src/lib/stores/diskBlockAsyncStore.d.ts.map +1 -1
- package/src/lib/stores/diskBlockAsyncStore.js +300 -0
- package/src/lib/stores/diskBlockAsyncStore.js.map +1 -1
- package/src/lib/stores/diskBlockMetadataStore.d.ts.map +1 -1
- package/src/lib/stores/diskBlockMetadataStore.js +1 -2
- package/src/lib/stores/diskBlockMetadataStore.js.map +1 -1
- package/src/lib/transforms/index.d.ts +4 -0
- package/src/lib/transforms/index.d.ts.map +1 -0
- package/src/lib/transforms/index.js +7 -0
- package/src/lib/transforms/index.js.map +1 -0
- package/src/lib/utils/errorResponse.d.ts +180 -0
- package/src/lib/utils/errorResponse.d.ts.map +1 -0
- package/src/lib/utils/errorResponse.js +313 -0
- package/src/lib/utils/errorResponse.js.map +1 -0
- package/src/lib/controllers/user.d.ts +0 -9
- package/src/lib/controllers/user.d.ts.map +0 -1
- package/src/lib/controllers/user.js +0 -21
- package/src/lib/controllers/user.js.map +0 -1
- package/src/lib/interfaces/api-express-validation-error-response.d.ts +0 -7
- package/src/lib/interfaces/api-express-validation-error-response.d.ts.map +0 -1
- package/src/lib/interfaces/api-express-validation-error-response.js +0 -3
- package/src/lib/interfaces/api-express-validation-error-response.js.map +0 -1
- package/src/lib/interfaces/api-mongo-validation-error-response.d.ts +0 -6
- package/src/lib/interfaces/api-mongo-validation-error-response.d.ts.map +0 -1
- package/src/lib/interfaces/api-mongo-validation-error-response.js +0 -3
- package/src/lib/interfaces/api-mongo-validation-error-response.js.map +0 -1
- package/src/lib/interfaces/authenticated-cipher.d.ts +0 -10
- package/src/lib/interfaces/authenticated-cipher.d.ts.map +0 -1
- package/src/lib/interfaces/authenticated-cipher.js +0 -3
- package/src/lib/interfaces/authenticated-cipher.js.map +0 -1
- package/src/lib/interfaces/authenticated-decipher.d.ts +0 -9
- package/src/lib/interfaces/authenticated-decipher.d.ts.map +0 -1
- package/src/lib/interfaces/authenticated-decipher.js +0 -3
- package/src/lib/interfaces/authenticated-decipher.js.map +0 -1
- package/src/lib/interfaces/ecies-consts.d.ts +0 -88
- package/src/lib/interfaces/ecies-consts.d.ts.map +0 -1
- package/src/lib/interfaces/ecies-consts.js.map +0 -1
- package/src/lib/interfaces/mongo-errors.d.ts +0 -9
- package/src/lib/interfaces/mongo-errors.d.ts.map +0 -1
- package/src/lib/interfaces/mongo-errors.js.map +0 -1
- package/src/lib/interfaces/pbkdf2-result.d.ts +0 -6
- package/src/lib/interfaces/pbkdf2-result.d.ts.map +0 -1
- package/src/lib/interfaces/pbkdf2-result.js.map +0 -1
- package/src/lib/interfaces/server-init-result.d.ts +0 -34
- package/src/lib/interfaces/server-init-result.d.ts.map +0 -1
- package/src/lib/interfaces/server-init-result.js.map +0 -1
- package/src/lib/services/keyWrapping.d.ts +0 -61
- package/src/lib/services/keyWrapping.d.ts.map +0 -1
- package/src/lib/services/keyWrapping.js +0 -297
- package/src/lib/services/keyWrapping.js.map +0 -1
- package/src/lib/services/pbkdf2.d.ts +0 -6
- package/src/lib/services/pbkdf2.d.ts.map +0 -1
- package/src/lib/services/pbkdf2.js +0 -31
- package/src/lib/services/pbkdf2.js.map +0 -1
- package/src/lib/services/user.d.ts +0 -10
- package/src/lib/services/user.d.ts.map +0 -1
- package/src/lib/services/user.js +0 -11
- package/src/lib/services/user.js.map +0 -1
- /package/{README.md → brightchain-api-lib/README.md} +0 -0
|
@@ -1,61 +0,0 @@
|
|
|
1
|
-
import { SecureString } from '@digitaldefiance/ecies-lib';
|
|
2
|
-
import { SecureBuffer } from '@digitaldefiance/node-ecies-lib';
|
|
3
|
-
export interface WrappedKey {
|
|
4
|
-
salt: string;
|
|
5
|
-
iv: string;
|
|
6
|
-
authTag: string;
|
|
7
|
-
encryptedMasterKey: string;
|
|
8
|
-
iterations: number;
|
|
9
|
-
}
|
|
10
|
-
export interface PasswordWrappedSecret {
|
|
11
|
-
salt: string;
|
|
12
|
-
iv: string;
|
|
13
|
-
authTag: string;
|
|
14
|
-
ciphertext: string;
|
|
15
|
-
iterations: number;
|
|
16
|
-
}
|
|
17
|
-
export declare class KeyWrappingService {
|
|
18
|
-
private static inFlightUnwraps;
|
|
19
|
-
/**
|
|
20
|
-
* Generates a new master key and wraps it with the user's password
|
|
21
|
-
*/
|
|
22
|
-
wrapNewMasterKey(password: SecureString): {
|
|
23
|
-
masterKey: SecureBuffer;
|
|
24
|
-
wrappedKey: WrappedKey;
|
|
25
|
-
};
|
|
26
|
-
/**
|
|
27
|
-
* Wraps an existing master key with a password-derived key
|
|
28
|
-
*/
|
|
29
|
-
wrapMasterKey(masterKey: SecureBuffer, password: SecureString): WrappedKey;
|
|
30
|
-
/**
|
|
31
|
-
* Unwraps a master key using the user's password
|
|
32
|
-
*/
|
|
33
|
-
unwrapMasterKey(wrappedKey: WrappedKey, password: SecureString): SecureBuffer;
|
|
34
|
-
/**
|
|
35
|
-
* Async version of unwrapMasterKey that uses libuv threadpool via crypto.pbkdf2
|
|
36
|
-
* to avoid blocking the event loop during password verification.
|
|
37
|
-
*/
|
|
38
|
-
unwrapMasterKeyAsync(wrappedKey: WrappedKey, password: SecureString | string): Promise<SecureBuffer>;
|
|
39
|
-
/**
|
|
40
|
-
* Deduplicated async unwrap that coalesces concurrent identical PBKDF2 operations.
|
|
41
|
-
* Keyed by salt + iterations + a short hash of the password. Entry is removed after resolve/reject.
|
|
42
|
-
*/
|
|
43
|
-
unwrapMasterKeyAsyncDedup(wrappedKey: WrappedKey, password: string): Promise<SecureBuffer>;
|
|
44
|
-
/**
|
|
45
|
-
* Changes password by re-wrapping the master key
|
|
46
|
-
*/
|
|
47
|
-
changePassword(wrappedKey: WrappedKey, oldPassword: SecureString, newPassword: SecureString): WrappedKey;
|
|
48
|
-
/**
|
|
49
|
-
* Wraps arbitrary secret bytes with a password-derived key (AES-256-GCM)
|
|
50
|
-
*/
|
|
51
|
-
wrapSecret(secret: SecureBuffer, password: SecureString): PasswordWrappedSecret;
|
|
52
|
-
/**
|
|
53
|
-
* Unwraps a password-wrapped secret (sync)
|
|
54
|
-
*/
|
|
55
|
-
unwrapSecret(wrapped: PasswordWrappedSecret, password: SecureString): SecureBuffer;
|
|
56
|
-
/**
|
|
57
|
-
* Unwraps a password-wrapped secret (async PBKDF2)
|
|
58
|
-
*/
|
|
59
|
-
unwrapSecretAsync(wrapped: PasswordWrappedSecret, password: SecureString | string): Promise<SecureBuffer>;
|
|
60
|
-
}
|
|
61
|
-
//# sourceMappingURL=keyWrapping.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"keyWrapping.d.ts","sourceRoot":"","sources":["../../../../../brightchain-api-lib/src/lib/services/keyWrapping.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAE1D,OAAO,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAY/D,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,UAAU,EAAE,MAAM,CAAC;CACpB;AAGD,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,qBAAa,kBAAkB;IAG7B,OAAO,CAAC,MAAM,CAAC,eAAe,CAA2C;IAEzE;;OAEG;IACI,gBAAgB,CAAC,QAAQ,EAAE,YAAY,GAAG;QAC/C,SAAS,EAAE,YAAY,CAAC;QACxB,UAAU,EAAE,UAAU,CAAC;KACxB;IAQD;;OAEG;IACI,aAAa,CAClB,SAAS,EAAE,YAAY,EACvB,QAAQ,EAAE,YAAY,GACrB,UAAU;IA0Cb;;OAEG;IACI,eAAe,CACpB,UAAU,EAAE,UAAU,EACtB,QAAQ,EAAE,YAAY,GACrB,YAAY;IAwCf;;;OAGG;IACU,oBAAoB,CAC/B,UAAU,EAAE,UAAU,EACtB,QAAQ,EAAE,YAAY,GAAG,MAAM,GAC9B,OAAO,CAAC,YAAY,CAAC;IA+DxB;;;OAGG;IACU,yBAAyB,CACpC,UAAU,EAAE,UAAU,EACtB,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,YAAY,CAAC;IAmCxB;;OAEG;IACI,cAAc,CACnB,UAAU,EAAE,UAAU,EACtB,WAAW,EAAE,YAAY,EACzB,WAAW,EAAE,YAAY,GACxB,UAAU;IAYb;;OAEG;IACI,UAAU,CACf,MAAM,EAAE,YAAY,EACpB,QAAQ,EAAE,YAAY,GACrB,qBAAqB;IAwCxB;;OAEG;IACI,YAAY,CACjB,OAAO,EAAE,qBAAqB,EAC9B,QAAQ,EAAE,YAAY,GACrB,YAAY;IAqCf;;OAEG;IACU,iBAAiB,CAC5B,OAAO,EAAE,qBAAqB,EAC9B,QAAQ,EAAE,YAAY,GAAG,MAAM,GAC9B,OAAO,CAAC,YAAY,CAAC;CA8DzB"}
|
|
@@ -1,297 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.KeyWrappingService = void 0;
|
|
4
|
-
const ecies_lib_1 = require("@digitaldefiance/ecies-lib");
|
|
5
|
-
const i18n_lib_1 = require("@digitaldefiance/i18n-lib");
|
|
6
|
-
const node_ecies_lib_1 = require("@digitaldefiance/node-ecies-lib");
|
|
7
|
-
const suite_core_lib_1 = require("@digitaldefiance/suite-core-lib");
|
|
8
|
-
const crypto_1 = require("crypto");
|
|
9
|
-
const appConstants_1 = require("../appConstants");
|
|
10
|
-
const constants_1 = require("../constants");
|
|
11
|
-
const pbkdf2_1 = require("./pbkdf2");
|
|
12
|
-
class KeyWrappingService {
|
|
13
|
-
/**
|
|
14
|
-
* Generates a new master key and wraps it with the user's password
|
|
15
|
-
*/
|
|
16
|
-
wrapNewMasterKey(password) {
|
|
17
|
-
const masterKey = new node_ecies_lib_1.SecureBuffer((0, crypto_1.randomBytes)(constants_1.Constants.WRAPPED_KEY.MASTER_KEY_SIZE));
|
|
18
|
-
const wrappedKey = this.wrapMasterKey(masterKey, password);
|
|
19
|
-
return { masterKey, wrappedKey };
|
|
20
|
-
}
|
|
21
|
-
/**
|
|
22
|
-
* Wraps an existing master key with a password-derived key
|
|
23
|
-
*/
|
|
24
|
-
wrapMasterKey(masterKey, password) {
|
|
25
|
-
if (appConstants_1.AppConstants.PasswordRegex.test(password.value ?? '') === false) {
|
|
26
|
-
throw new i18n_lib_1.HandleableError(new Error(suite_core_lib_1.SuiteCoreStringKey.Validation_InvalidCredentials));
|
|
27
|
-
}
|
|
28
|
-
const salt = (0, crypto_1.randomBytes)(constants_1.Constants.WRAPPED_KEY.SALT_SIZE);
|
|
29
|
-
const iterations = constants_1.Constants.WRAPPED_KEY.MIN_ITERATIONS;
|
|
30
|
-
// Derive key from password using centralized PBKDF2 service
|
|
31
|
-
const derivedKey = pbkdf2_1.Pbkdf2Service.deriveKeyFromPassword(Buffer.from(password.value ?? ''), salt, iterations, constants_1.Constants.WRAPPED_KEY.SALT_SIZE, 32, // AES-256 key size
|
|
32
|
-
'sha256');
|
|
33
|
-
const passwordKeySecure = new node_ecies_lib_1.SecureBuffer(derivedKey.hash);
|
|
34
|
-
// Encrypt master key
|
|
35
|
-
const iv = (0, crypto_1.randomBytes)(constants_1.Constants.WRAPPED_KEY.IV_SIZE);
|
|
36
|
-
const cipher = (0, crypto_1.createCipheriv)('aes-256-gcm', passwordKeySecure.value, iv);
|
|
37
|
-
const encrypted = Buffer.concat([
|
|
38
|
-
cipher.update(masterKey.value),
|
|
39
|
-
cipher.final(),
|
|
40
|
-
]);
|
|
41
|
-
const authTag = cipher.getAuthTag();
|
|
42
|
-
passwordKeySecure.dispose();
|
|
43
|
-
return {
|
|
44
|
-
salt: salt.toString('hex'),
|
|
45
|
-
iv: iv.toString('hex'),
|
|
46
|
-
authTag: authTag.toString('hex'),
|
|
47
|
-
encryptedMasterKey: encrypted.toString('hex'),
|
|
48
|
-
iterations,
|
|
49
|
-
};
|
|
50
|
-
}
|
|
51
|
-
/**
|
|
52
|
-
* Unwraps a master key using the user's password
|
|
53
|
-
*/
|
|
54
|
-
unwrapMasterKey(wrappedKey, password) {
|
|
55
|
-
const salt = Buffer.from(wrappedKey.salt, 'hex');
|
|
56
|
-
const iv = Buffer.from(wrappedKey.iv, 'hex');
|
|
57
|
-
const authTag = Buffer.from(wrappedKey.authTag, 'hex');
|
|
58
|
-
const encrypted = Buffer.from(wrappedKey.encryptedMasterKey, 'hex');
|
|
59
|
-
// Derive the same key from password using centralized PBKDF2 service
|
|
60
|
-
const derivedKey = pbkdf2_1.Pbkdf2Service.deriveKeyFromPassword(Buffer.from(password.value ?? ''), salt, wrappedKey.iterations, salt.length, // Use actual salt size
|
|
61
|
-
32, // AES-256 key size
|
|
62
|
-
'sha256');
|
|
63
|
-
const passwordKeySecure = new node_ecies_lib_1.SecureBuffer(derivedKey.hash);
|
|
64
|
-
try {
|
|
65
|
-
const decipher = (0, crypto_1.createDecipheriv)('aes-256-gcm', passwordKeySecure.value, iv);
|
|
66
|
-
decipher.setAuthTag(authTag);
|
|
67
|
-
const decrypted = Buffer.concat([
|
|
68
|
-
decipher.update(encrypted),
|
|
69
|
-
decipher.final(),
|
|
70
|
-
]);
|
|
71
|
-
return new node_ecies_lib_1.SecureBuffer(decrypted);
|
|
72
|
-
}
|
|
73
|
-
catch {
|
|
74
|
-
throw new i18n_lib_1.HandleableError(new Error(suite_core_lib_1.SuiteCoreStringKey.Validation_InvalidCredentials));
|
|
75
|
-
}
|
|
76
|
-
finally {
|
|
77
|
-
passwordKeySecure.dispose();
|
|
78
|
-
}
|
|
79
|
-
}
|
|
80
|
-
/**
|
|
81
|
-
* Async version of unwrapMasterKey that uses libuv threadpool via crypto.pbkdf2
|
|
82
|
-
* to avoid blocking the event loop during password verification.
|
|
83
|
-
*/
|
|
84
|
-
async unwrapMasterKeyAsync(wrappedKey, password) {
|
|
85
|
-
const __perfEnabled = process.env['PERF_LOGS'] === '1';
|
|
86
|
-
const _t0 = __perfEnabled ? Date.now() : 0;
|
|
87
|
-
const salt = Buffer.from(wrappedKey.salt, 'hex');
|
|
88
|
-
const iv = Buffer.from(wrappedKey.iv, 'hex');
|
|
89
|
-
const authTag = Buffer.from(wrappedKey.authTag, 'hex');
|
|
90
|
-
const encrypted = Buffer.from(wrappedKey.encryptedMasterKey, 'hex');
|
|
91
|
-
// Accept either a SecureString (preferred) or a raw password string to avoid
|
|
92
|
-
// expensive SecureString construction in the hot login path.
|
|
93
|
-
const pwdBuffer = typeof password === 'string'
|
|
94
|
-
? Buffer.from(password, 'utf8')
|
|
95
|
-
: Buffer.from(password.value ?? '');
|
|
96
|
-
// Use centralized PBKDF2 service for async key derivation
|
|
97
|
-
const derivedKey = await pbkdf2_1.Pbkdf2Service.deriveKeyFromPasswordAsync(pwdBuffer, salt, wrappedKey.iterations, salt.length, // Use actual salt size
|
|
98
|
-
32, // AES-256 key size
|
|
99
|
-
'sha256');
|
|
100
|
-
const passwordKeySecure = new node_ecies_lib_1.SecureBuffer(derivedKey.hash);
|
|
101
|
-
try {
|
|
102
|
-
const decipher = (0, crypto_1.createDecipheriv)('aes-256-gcm', passwordKeySecure.value, iv);
|
|
103
|
-
decipher.setAuthTag(authTag);
|
|
104
|
-
const decrypted = Buffer.concat([
|
|
105
|
-
decipher.update(encrypted),
|
|
106
|
-
decipher.final(),
|
|
107
|
-
]);
|
|
108
|
-
if (__perfEnabled)
|
|
109
|
-
console.warn('[perf] unwrapMasterKeyAsync pbkdf2 iters=', wrappedKey.iterations, 'dt=', Date.now() - _t0, 'ms');
|
|
110
|
-
return new node_ecies_lib_1.SecureBuffer(decrypted);
|
|
111
|
-
}
|
|
112
|
-
catch {
|
|
113
|
-
throw new i18n_lib_1.HandleableError(new Error(suite_core_lib_1.SuiteCoreStringKey.Validation_InvalidCredentials));
|
|
114
|
-
}
|
|
115
|
-
finally {
|
|
116
|
-
// Best-effort zero the temporary password buffer
|
|
117
|
-
try {
|
|
118
|
-
pwdBuffer.fill(0);
|
|
119
|
-
}
|
|
120
|
-
catch {
|
|
121
|
-
// ignore
|
|
122
|
-
}
|
|
123
|
-
passwordKeySecure.dispose();
|
|
124
|
-
}
|
|
125
|
-
}
|
|
126
|
-
/**
|
|
127
|
-
* Deduplicated async unwrap that coalesces concurrent identical PBKDF2 operations.
|
|
128
|
-
* Keyed by salt + iterations + a short hash of the password. Entry is removed after resolve/reject.
|
|
129
|
-
*/
|
|
130
|
-
async unwrapMasterKeyAsyncDedup(wrappedKey, password) {
|
|
131
|
-
// Derive a short cache key; avoid storing raw password by hashing
|
|
132
|
-
const pwdKey = (0, crypto_1.createHash)('sha256')
|
|
133
|
-
.update(password, 'utf8')
|
|
134
|
-
.digest('base64url')
|
|
135
|
-
.slice(0, 24);
|
|
136
|
-
const cacheKey = `${wrappedKey.salt}:${wrappedKey.iterations}:${pwdKey}`;
|
|
137
|
-
let p = KeyWrappingService.inFlightUnwraps.get(cacheKey);
|
|
138
|
-
if (!p) {
|
|
139
|
-
// Compute once, extract raw bytes, dispose the shared SecureBuffer, and cache the bytes
|
|
140
|
-
p = (async () => {
|
|
141
|
-
const mk = await this.unwrapMasterKeyAsync(wrappedKey, password);
|
|
142
|
-
try {
|
|
143
|
-
const copy = Buffer.from(mk.value);
|
|
144
|
-
const b64 = copy.toString('base64');
|
|
145
|
-
// zeroize copy
|
|
146
|
-
copy.fill(0);
|
|
147
|
-
return b64;
|
|
148
|
-
}
|
|
149
|
-
finally {
|
|
150
|
-
mk.dispose();
|
|
151
|
-
}
|
|
152
|
-
})().finally(() => {
|
|
153
|
-
// Best-effort cleanup
|
|
154
|
-
KeyWrappingService.inFlightUnwraps.delete(cacheKey);
|
|
155
|
-
});
|
|
156
|
-
KeyWrappingService.inFlightUnwraps.set(cacheKey, p);
|
|
157
|
-
}
|
|
158
|
-
const b64 = await p;
|
|
159
|
-
// Return a fresh SecureBuffer per caller to avoid cross-disposal races
|
|
160
|
-
const buf = Buffer.from(b64, 'base64');
|
|
161
|
-
const secure = new node_ecies_lib_1.SecureBuffer(Buffer.from(buf));
|
|
162
|
-
buf.fill(0);
|
|
163
|
-
return secure;
|
|
164
|
-
}
|
|
165
|
-
/**
|
|
166
|
-
* Changes password by re-wrapping the master key
|
|
167
|
-
*/
|
|
168
|
-
changePassword(wrappedKey, oldPassword, newPassword) {
|
|
169
|
-
// Unwrap with old password
|
|
170
|
-
const masterKey = this.unwrapMasterKey(wrappedKey, oldPassword);
|
|
171
|
-
try {
|
|
172
|
-
// Re-wrap with new password
|
|
173
|
-
return this.wrapMasterKey(masterKey, newPassword);
|
|
174
|
-
}
|
|
175
|
-
finally {
|
|
176
|
-
masterKey.dispose();
|
|
177
|
-
}
|
|
178
|
-
}
|
|
179
|
-
/**
|
|
180
|
-
* Wraps arbitrary secret bytes with a password-derived key (AES-256-GCM)
|
|
181
|
-
*/
|
|
182
|
-
wrapSecret(secret, password) {
|
|
183
|
-
if (appConstants_1.AppConstants.PasswordRegex.test(password.value ?? '') === false) {
|
|
184
|
-
throw new i18n_lib_1.HandleableError(new Error(suite_core_lib_1.SuiteCoreStringKey.Validation_InvalidCredentials));
|
|
185
|
-
}
|
|
186
|
-
const salt = (0, crypto_1.randomBytes)(constants_1.Constants.WRAPPED_KEY.SALT_SIZE);
|
|
187
|
-
const iterations = constants_1.Constants.WRAPPED_KEY.MIN_ITERATIONS;
|
|
188
|
-
// Derive key from password using centralized PBKDF2 service
|
|
189
|
-
const derivedKey = pbkdf2_1.Pbkdf2Service.deriveKeyFromPassword(Buffer.from(password.value ?? ''), salt, iterations, constants_1.Constants.WRAPPED_KEY.SALT_SIZE, 32, // AES-256 key size
|
|
190
|
-
'sha256');
|
|
191
|
-
const passwordKeySecure = new node_ecies_lib_1.SecureBuffer(derivedKey.hash);
|
|
192
|
-
try {
|
|
193
|
-
const iv = (0, crypto_1.randomBytes)(constants_1.Constants.WRAPPED_KEY.IV_SIZE);
|
|
194
|
-
const cipher = (0, crypto_1.createCipheriv)('aes-256-gcm', passwordKeySecure.value, iv);
|
|
195
|
-
const encrypted = Buffer.concat([
|
|
196
|
-
cipher.update(secret.value),
|
|
197
|
-
cipher.final(),
|
|
198
|
-
]);
|
|
199
|
-
const authTag = cipher.getAuthTag();
|
|
200
|
-
return {
|
|
201
|
-
salt: salt.toString('hex'),
|
|
202
|
-
iv: iv.toString('hex'),
|
|
203
|
-
authTag: authTag.toString('hex'),
|
|
204
|
-
ciphertext: encrypted.toString('hex'),
|
|
205
|
-
iterations,
|
|
206
|
-
};
|
|
207
|
-
}
|
|
208
|
-
finally {
|
|
209
|
-
passwordKeySecure.dispose();
|
|
210
|
-
}
|
|
211
|
-
}
|
|
212
|
-
/**
|
|
213
|
-
* Unwraps a password-wrapped secret (sync)
|
|
214
|
-
*/
|
|
215
|
-
unwrapSecret(wrapped, password) {
|
|
216
|
-
const salt = Buffer.from(wrapped.salt, 'hex');
|
|
217
|
-
const iv = Buffer.from(wrapped.iv, 'hex');
|
|
218
|
-
const authTag = Buffer.from(wrapped.authTag, 'hex');
|
|
219
|
-
const encrypted = Buffer.from(wrapped.ciphertext, 'hex');
|
|
220
|
-
// Derive key from password using centralized PBKDF2 service
|
|
221
|
-
const derivedKey = pbkdf2_1.Pbkdf2Service.deriveKeyFromPassword(Buffer.from(password.value ?? ''), salt, wrapped.iterations, salt.length, // Use actual salt size
|
|
222
|
-
32, // AES-256 key size
|
|
223
|
-
'sha256');
|
|
224
|
-
const passwordKeySecure = new node_ecies_lib_1.SecureBuffer(derivedKey.hash);
|
|
225
|
-
try {
|
|
226
|
-
const decipher = (0, crypto_1.createDecipheriv)('aes-256-gcm', passwordKeySecure.value, iv);
|
|
227
|
-
decipher.setAuthTag(authTag);
|
|
228
|
-
const decrypted = Buffer.concat([
|
|
229
|
-
decipher.update(encrypted),
|
|
230
|
-
decipher.final(),
|
|
231
|
-
]);
|
|
232
|
-
return new node_ecies_lib_1.SecureBuffer(decrypted);
|
|
233
|
-
}
|
|
234
|
-
catch {
|
|
235
|
-
throw new i18n_lib_1.HandleableError(new Error(suite_core_lib_1.SuiteCoreStringKey.Validation_InvalidCredentials));
|
|
236
|
-
}
|
|
237
|
-
finally {
|
|
238
|
-
passwordKeySecure.dispose();
|
|
239
|
-
}
|
|
240
|
-
}
|
|
241
|
-
/**
|
|
242
|
-
* Unwraps a password-wrapped secret (async PBKDF2)
|
|
243
|
-
*/
|
|
244
|
-
async unwrapSecretAsync(wrapped, password) {
|
|
245
|
-
const salt = Buffer.from(wrapped.salt, 'hex');
|
|
246
|
-
const iv = Buffer.from(wrapped.iv, 'hex');
|
|
247
|
-
const authTag = Buffer.from(wrapped.authTag, 'hex');
|
|
248
|
-
const encrypted = Buffer.from(wrapped.ciphertext, 'hex');
|
|
249
|
-
// Validate password parameter before using it
|
|
250
|
-
if (typeof password === 'string') {
|
|
251
|
-
if (password === undefined || password === null) {
|
|
252
|
-
throw new Error('Password cannot be undefined or null');
|
|
253
|
-
}
|
|
254
|
-
}
|
|
255
|
-
else if (!(password instanceof ecies_lib_1.SecureString)) {
|
|
256
|
-
throw new Error('Password must be provided as string or SecureString');
|
|
257
|
-
}
|
|
258
|
-
const pwdBuffer = typeof password === 'string'
|
|
259
|
-
? Buffer.from(password, 'utf8')
|
|
260
|
-
: Buffer.from(password.value ?? '');
|
|
261
|
-
// Additional safety check
|
|
262
|
-
if (!pwdBuffer) {
|
|
263
|
-
throw new Error('Failed to create password buffer - password may be invalid');
|
|
264
|
-
}
|
|
265
|
-
// Use centralized PBKDF2 service for async key derivation
|
|
266
|
-
const derivedKey = await pbkdf2_1.Pbkdf2Service.deriveKeyFromPasswordAsync(Buffer.from(pwdBuffer), salt, wrapped.iterations, salt.length, // Use actual salt size
|
|
267
|
-
32, // AES-256 key size
|
|
268
|
-
'sha256');
|
|
269
|
-
const passwordKeySecure = new node_ecies_lib_1.SecureBuffer(derivedKey.hash);
|
|
270
|
-
try {
|
|
271
|
-
const decipher = (0, crypto_1.createDecipheriv)('aes-256-gcm', passwordKeySecure.value, iv);
|
|
272
|
-
decipher.setAuthTag(authTag);
|
|
273
|
-
const decrypted = Buffer.concat([
|
|
274
|
-
decipher.update(encrypted),
|
|
275
|
-
decipher.final(),
|
|
276
|
-
]);
|
|
277
|
-
return new node_ecies_lib_1.SecureBuffer(decrypted);
|
|
278
|
-
}
|
|
279
|
-
catch {
|
|
280
|
-
throw new i18n_lib_1.HandleableError(new Error(suite_core_lib_1.SuiteCoreStringKey.Validation_InvalidCredentials));
|
|
281
|
-
}
|
|
282
|
-
finally {
|
|
283
|
-
try {
|
|
284
|
-
pwdBuffer.fill(0);
|
|
285
|
-
}
|
|
286
|
-
catch {
|
|
287
|
-
// ignore
|
|
288
|
-
}
|
|
289
|
-
passwordKeySecure.dispose();
|
|
290
|
-
}
|
|
291
|
-
}
|
|
292
|
-
}
|
|
293
|
-
exports.KeyWrappingService = KeyWrappingService;
|
|
294
|
-
// In-flight de-duplication map to share PBKDF2 work across concurrent identical requests
|
|
295
|
-
// Store a promise of the raw master key bytes, so each caller can get an independent SecureBuffer
|
|
296
|
-
KeyWrappingService.inFlightUnwraps = new Map();
|
|
297
|
-
//# sourceMappingURL=keyWrapping.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"keyWrapping.js","sourceRoot":"","sources":["../../../../../brightchain-api-lib/src/lib/services/keyWrapping.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
import { IPbkdf2Result } from '../interfaces/pbkdf2-result';
|
|
2
|
-
export declare class Pbkdf2Service {
|
|
3
|
-
static deriveKeyFromPassword(password: Buffer, salt: Buffer, iterations: number, saltSize: number, keyLength: number, digest: string): IPbkdf2Result;
|
|
4
|
-
static deriveKeyFromPasswordAsync(password: Buffer, salt: Buffer, iterations: number, saltSize: number, keyLength: number, digest: string): Promise<IPbkdf2Result>;
|
|
5
|
-
}
|
|
6
|
-
//# sourceMappingURL=pbkdf2.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"pbkdf2.d.ts","sourceRoot":"","sources":["../../../../../brightchain-api-lib/src/lib/services/pbkdf2.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAE5D,qBAAa,aAAa;WACV,qBAAqB,CACjC,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,EACZ,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,GACb,aAAa;WAUI,0BAA0B,CAC5C,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,EACZ,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,aAAa,CAAC;CAa1B"}
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.Pbkdf2Service = void 0;
|
|
4
|
-
const crypto_1 = require("crypto");
|
|
5
|
-
class Pbkdf2Service {
|
|
6
|
-
static deriveKeyFromPassword(password, salt, iterations, saltSize, keyLength, digest) {
|
|
7
|
-
const hash = (0, crypto_1.pbkdf2Sync)(password, salt, iterations, keyLength, digest);
|
|
8
|
-
return {
|
|
9
|
-
hash,
|
|
10
|
-
salt,
|
|
11
|
-
iterations,
|
|
12
|
-
// digest,
|
|
13
|
-
};
|
|
14
|
-
}
|
|
15
|
-
static async deriveKeyFromPasswordAsync(password, salt, iterations, saltSize, keyLength, digest) {
|
|
16
|
-
return new Promise((resolve, reject) => {
|
|
17
|
-
(0, crypto_1.pbkdf2)(password, salt, iterations, keyLength, digest, (err, hash) => {
|
|
18
|
-
if (err)
|
|
19
|
-
return reject(err);
|
|
20
|
-
resolve({
|
|
21
|
-
hash,
|
|
22
|
-
salt,
|
|
23
|
-
iterations,
|
|
24
|
-
// digest,
|
|
25
|
-
});
|
|
26
|
-
});
|
|
27
|
-
});
|
|
28
|
-
}
|
|
29
|
-
}
|
|
30
|
-
exports.Pbkdf2Service = Pbkdf2Service;
|
|
31
|
-
//# sourceMappingURL=pbkdf2.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"pbkdf2.js","sourceRoot":"","sources":["../../../../../brightchain-api-lib/src/lib/services/pbkdf2.ts"],"names":[],"mappings":";;;AAAA,mCAA4C;AAG5C,MAAa,aAAa;IACjB,MAAM,CAAC,qBAAqB,CACjC,QAAgB,EAChB,IAAY,EACZ,UAAkB,EAClB,QAAgB,EAChB,SAAiB,EACjB,MAAc;QAEd,MAAM,IAAI,GAAG,IAAA,mBAAU,EAAC,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;QACvE,OAAO;YACL,IAAI;YACJ,IAAI;YACJ,UAAU;YACV,UAAU;SACX,CAAC;IACJ,CAAC;IAEM,MAAM,CAAC,KAAK,CAAC,0BAA0B,CAC5C,QAAgB,EAChB,IAAY,EACZ,UAAkB,EAClB,QAAgB,EAChB,SAAiB,EACjB,MAAc;QAEd,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrC,IAAA,eAAM,EAAC,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE;gBAClE,IAAI,GAAG;oBAAE,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC;gBAC5B,OAAO,CAAC;oBACN,IAAI;oBACJ,IAAI;oBACJ,UAAU;oBACV,UAAU;iBACX,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;CACF;AAtCD,sCAsCC"}
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import { PlatformID } from '@digitaldefiance/node-ecies-lib';
|
|
2
|
-
import { BackupCodeService, UserService as BaseUserService, IBaseDocument, IConstants, IEmailService, KeyWrappingService, RoleService } from '@digitaldefiance/node-express-suite';
|
|
3
|
-
import { ITokenRole, IUserBase } from '@digitaldefiance/suite-core-lib';
|
|
4
|
-
import { Environment } from '../environment';
|
|
5
|
-
import { IApplication } from '../interfaces/application';
|
|
6
|
-
import { DefaultBackendIdType } from '../shared-types';
|
|
7
|
-
export declare class UserService<T, D extends Date, S extends string, A extends string, I extends PlatformID = DefaultBackendIdType, TEnvironment extends Environment = Environment, TConstants extends IConstants = IConstants, TBaseDocument extends IBaseDocument<T, I> = IBaseDocument<T, I>, TUser extends IUserBase<I, D, S, A> = IUserBase<I, D, S, A>, TTokenRole extends ITokenRole<I, D> = ITokenRole<I, D>, TApplication extends IApplication<I> = IApplication<I>> extends BaseUserService<T, I, D, S, A, TEnvironment, TConstants, TBaseDocument, TUser, TTokenRole, TApplication> {
|
|
8
|
-
constructor(application: TApplication, roleService: RoleService<I, D, TTokenRole>, emailService: IEmailService, keyWrappingService: KeyWrappingService, backupCodeService: BackupCodeService<I, D, TTokenRole, TApplication>);
|
|
9
|
-
}
|
|
10
|
-
//# sourceMappingURL=user.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"user.d.ts","sourceRoot":"","sources":["../../../../../brightchain-api-lib/src/lib/services/user.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAC7D,OAAO,EACL,iBAAiB,EACjB,WAAW,IAAI,eAAe,EAC9B,aAAa,EACb,UAAU,EACV,aAAa,EACb,kBAAkB,EAClB,WAAW,EACZ,MAAM,qCAAqC,CAAC;AAC7C,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,iCAAiC,CAAC;AACxE,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AAEvD,qBAAa,WAAW,CACtB,CAAC,EACD,CAAC,SAAS,IAAI,EACd,CAAC,SAAS,MAAM,EAChB,CAAC,SAAS,MAAM,EAChB,CAAC,SAAS,UAAU,GAAG,oBAAoB,EAC3C,YAAY,SAAS,WAAW,GAAG,WAAW,EAC9C,UAAU,SAAS,UAAU,GAAG,UAAU,EAC1C,aAAa,SAAS,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,EAC/D,KAAK,SAAS,SAAS,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAC3D,UAAU,SAAS,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC,EACtD,YAAY,SAAS,YAAY,CAAC,CAAC,CAAC,GAAG,YAAY,CAAC,CAAC,CAAC,CACtD,SAAQ,eAAe,CACvB,CAAC,EACD,CAAC,EACD,CAAC,EACD,CAAC,EACD,CAAC,EACD,YAAY,EACZ,UAAU,EACV,aAAa,EACb,KAAK,EACL,UAAU,EACV,YAAY,CACb;gBAEG,WAAW,EAAE,YAAY,EACzB,WAAW,EAAE,WAAW,CAAC,CAAC,EAAE,CAAC,EAAE,UAAU,CAAC,EAC1C,YAAY,EAAE,aAAa,EAC3B,kBAAkB,EAAE,kBAAkB,EACtC,iBAAiB,EAAE,iBAAiB,CAAC,CAAC,EAAE,CAAC,EAAE,UAAU,EAAE,YAAY,CAAC;CAUvE"}
|
package/src/lib/services/user.js
DELETED
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.UserService = void 0;
|
|
4
|
-
const node_express_suite_1 = require("@digitaldefiance/node-express-suite");
|
|
5
|
-
class UserService extends node_express_suite_1.UserService {
|
|
6
|
-
constructor(application, roleService, emailService, keyWrappingService, backupCodeService) {
|
|
7
|
-
super(application, roleService, emailService, keyWrappingService, backupCodeService);
|
|
8
|
-
}
|
|
9
|
-
}
|
|
10
|
-
exports.UserService = UserService;
|
|
11
|
-
//# sourceMappingURL=user.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"user.js","sourceRoot":"","sources":["../../../../../brightchain-api-lib/src/lib/services/user.ts"],"names":[],"mappings":";;;AACA,4EAQ6C;AAM7C,MAAa,WAYX,SAAQ,gCAYT;IACC,YACE,WAAyB,EACzB,WAA0C,EAC1C,YAA2B,EAC3B,kBAAsC,EACtC,iBAAoE;QAEpE,KAAK,CACH,WAAW,EACX,WAAW,EACX,YAAY,EACZ,kBAAkB,EAClB,iBAAiB,CAClB,CAAC;IACJ,CAAC;CACF;AAxCD,kCAwCC"}
|
|
File without changes
|