@digitaldefiance/node-ecies-lib 1.1.22 → 1.1.23

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.
Files changed (212) hide show
  1. package/README.md +4 -0
  2. package/package.json +6 -5
  3. package/src/constants.d.ts +32 -0
  4. package/src/constants.d.ts.map +1 -0
  5. package/src/constants.js +137 -0
  6. package/src/constants.js.map +1 -0
  7. package/src/enumerations/index.d.ts +2 -0
  8. package/src/enumerations/index.d.ts.map +1 -0
  9. package/src/enumerations/index.js +5 -0
  10. package/src/enumerations/index.js.map +1 -0
  11. package/src/enumerations/pbkdf2-profile.d.ts +9 -0
  12. package/src/enumerations/pbkdf2-profile.d.ts.map +1 -0
  13. package/src/enumerations/pbkdf2-profile.js +13 -0
  14. package/src/enumerations/pbkdf2-profile.js.map +1 -0
  15. package/src/i18n/ecies-i18n-factory.d.ts +54 -0
  16. package/src/i18n/ecies-i18n-factory.d.ts.map +1 -0
  17. package/src/i18n/ecies-i18n-factory.js +333 -0
  18. package/src/i18n/ecies-i18n-factory.js.map +1 -0
  19. package/src/i18n/{index.ts → index.d.ts} +1 -0
  20. package/src/i18n/index.d.ts.map +1 -0
  21. package/src/i18n/index.js +5 -0
  22. package/src/i18n/index.js.map +1 -0
  23. package/src/{index.ts → index.d.ts} +1 -0
  24. package/src/index.d.ts.map +1 -0
  25. package/src/index.js +11 -0
  26. package/src/index.js.map +1 -0
  27. package/src/interfaces/authenticated-cipher.d.ts +10 -0
  28. package/src/interfaces/authenticated-cipher.d.ts.map +1 -0
  29. package/src/interfaces/authenticated-cipher.js +3 -0
  30. package/src/interfaces/authenticated-cipher.js.map +1 -0
  31. package/src/interfaces/authenticated-decipher.d.ts +9 -0
  32. package/src/interfaces/authenticated-decipher.d.ts.map +1 -0
  33. package/src/interfaces/authenticated-decipher.js +3 -0
  34. package/src/interfaces/authenticated-decipher.js.map +1 -0
  35. package/src/interfaces/checksum-config.d.ts +5 -0
  36. package/src/interfaces/checksum-config.d.ts.map +1 -0
  37. package/src/interfaces/checksum-config.js +3 -0
  38. package/src/interfaces/checksum-config.js.map +1 -0
  39. package/src/interfaces/checksum-consts.d.ts +11 -0
  40. package/src/interfaces/checksum-consts.d.ts.map +1 -0
  41. package/src/interfaces/checksum-consts.js +3 -0
  42. package/src/interfaces/checksum-consts.js.map +1 -0
  43. package/src/interfaces/constants.d.ts +43 -0
  44. package/src/interfaces/constants.d.ts.map +1 -0
  45. package/src/interfaces/constants.js +3 -0
  46. package/src/interfaces/constants.js.map +1 -0
  47. package/src/interfaces/ecies-consts.d.ts +88 -0
  48. package/src/interfaces/ecies-consts.d.ts.map +1 -0
  49. package/src/interfaces/ecies-consts.js +3 -0
  50. package/src/interfaces/ecies-consts.js.map +1 -0
  51. package/src/interfaces/encryption-consts.d.ts +11 -0
  52. package/src/interfaces/encryption-consts.d.ts.map +1 -0
  53. package/src/interfaces/encryption-consts.js +3 -0
  54. package/src/interfaces/encryption-consts.js.map +1 -0
  55. package/src/interfaces/{index.ts → index.d.ts} +1 -0
  56. package/src/interfaces/index.d.ts.map +1 -0
  57. package/src/interfaces/index.js +21 -0
  58. package/src/interfaces/index.js.map +1 -0
  59. package/src/interfaces/keypair-buffer-with-un-encrypted-private-key.d.ts +6 -0
  60. package/src/interfaces/keypair-buffer-with-un-encrypted-private-key.d.ts.map +1 -0
  61. package/src/interfaces/keypair-buffer-with-un-encrypted-private-key.js +3 -0
  62. package/src/interfaces/keypair-buffer-with-un-encrypted-private-key.js.map +1 -0
  63. package/src/interfaces/keyring-consts.d.ts +6 -0
  64. package/src/interfaces/keyring-consts.d.ts.map +1 -0
  65. package/src/interfaces/keyring-consts.js +3 -0
  66. package/src/interfaces/keyring-consts.js.map +1 -0
  67. package/src/interfaces/member-operational.d.ts +36 -0
  68. package/src/interfaces/member-operational.d.ts.map +1 -0
  69. package/src/interfaces/member-operational.js +3 -0
  70. package/src/interfaces/member-operational.js.map +1 -0
  71. package/src/interfaces/{member-with-mnemonic.ts → member-with-mnemonic.d.ts} +3 -3
  72. package/src/interfaces/member-with-mnemonic.d.ts.map +1 -0
  73. package/src/interfaces/member-with-mnemonic.js +3 -0
  74. package/src/interfaces/member-with-mnemonic.js.map +1 -0
  75. package/src/interfaces/{multi-encrypted-message.ts → multi-encrypted-message.d.ts} +5 -5
  76. package/src/interfaces/multi-encrypted-message.d.ts.map +1 -0
  77. package/src/interfaces/multi-encrypted-message.js +3 -0
  78. package/src/interfaces/multi-encrypted-message.js.map +1 -0
  79. package/src/interfaces/multi-encrypted-parsed-header.d.ts +24 -0
  80. package/src/interfaces/multi-encrypted-parsed-header.d.ts.map +1 -0
  81. package/src/interfaces/multi-encrypted-parsed-header.js +3 -0
  82. package/src/interfaces/multi-encrypted-parsed-header.js.map +1 -0
  83. package/src/interfaces/{pbkdf-profiles.ts → pbkdf-profiles.d.ts} +2 -2
  84. package/src/interfaces/pbkdf-profiles.d.ts.map +1 -0
  85. package/src/interfaces/pbkdf-profiles.js +3 -0
  86. package/src/interfaces/pbkdf-profiles.js.map +1 -0
  87. package/src/interfaces/pbkdf2-result.d.ts +6 -0
  88. package/src/interfaces/pbkdf2-result.d.ts.map +1 -0
  89. package/src/interfaces/pbkdf2-result.js +3 -0
  90. package/src/interfaces/pbkdf2-result.js.map +1 -0
  91. package/src/interfaces/signing-key-private-key-info.d.ts +11 -0
  92. package/src/interfaces/signing-key-private-key-info.d.ts.map +1 -0
  93. package/src/interfaces/signing-key-private-key-info.js +3 -0
  94. package/src/interfaces/signing-key-private-key-info.js.map +1 -0
  95. package/src/interfaces/{simple-keypair-buffer.ts → simple-keypair-buffer.d.ts} +3 -3
  96. package/src/interfaces/simple-keypair-buffer.d.ts.map +1 -0
  97. package/src/interfaces/simple-keypair-buffer.js +3 -0
  98. package/src/interfaces/simple-keypair-buffer.js.map +1 -0
  99. package/src/interfaces/{simple-keypair.ts → simple-keypair.d.ts} +3 -3
  100. package/src/interfaces/simple-keypair.d.ts.map +1 -0
  101. package/src/interfaces/simple-keypair.js +3 -0
  102. package/src/interfaces/simple-keypair.js.map +1 -0
  103. package/src/interfaces/simple-public-key-only-buffer.d.ts +4 -0
  104. package/src/interfaces/simple-public-key-only-buffer.d.ts.map +1 -0
  105. package/src/interfaces/simple-public-key-only-buffer.js +3 -0
  106. package/src/interfaces/simple-public-key-only-buffer.js.map +1 -0
  107. package/src/interfaces/simple-public-key-only.d.ts +4 -0
  108. package/src/interfaces/simple-public-key-only.d.ts.map +1 -0
  109. package/src/interfaces/simple-public-key-only.js +3 -0
  110. package/src/interfaces/simple-public-key-only.js.map +1 -0
  111. package/src/interfaces/single-encrypted-parsed-header.d.ts +35 -0
  112. package/src/interfaces/single-encrypted-parsed-header.d.ts.map +1 -0
  113. package/src/interfaces/single-encrypted-parsed-header.js +3 -0
  114. package/src/interfaces/single-encrypted-parsed-header.js.map +1 -0
  115. package/src/interfaces/{wallet-seed.ts → wallet-seed.d.ts} +3 -3
  116. package/src/interfaces/wallet-seed.d.ts.map +1 -0
  117. package/src/interfaces/wallet-seed.js +3 -0
  118. package/src/interfaces/wallet-seed.js.map +1 -0
  119. package/src/interfaces/wrapped-key-consts.d.ts +7 -0
  120. package/src/interfaces/wrapped-key-consts.d.ts.map +1 -0
  121. package/src/interfaces/wrapped-key-consts.js +3 -0
  122. package/src/interfaces/wrapped-key-consts.js.map +1 -0
  123. package/src/member.d.ts +74 -0
  124. package/src/member.d.ts.map +1 -0
  125. package/src/member.js +273 -0
  126. package/src/member.js.map +1 -0
  127. package/src/services/aes-gcm.d.ts +66 -0
  128. package/src/services/aes-gcm.d.ts.map +1 -0
  129. package/src/services/aes-gcm.js +115 -0
  130. package/src/services/aes-gcm.js.map +1 -0
  131. package/src/services/ecies/crypto-core.d.ts +83 -0
  132. package/src/services/ecies/crypto-core.d.ts.map +1 -0
  133. package/src/services/ecies/crypto-core.js +166 -0
  134. package/src/services/ecies/crypto-core.js.map +1 -0
  135. package/src/services/ecies/file.d.ts +30 -0
  136. package/src/services/ecies/file.d.ts.map +1 -0
  137. package/src/services/ecies/file.js +112 -0
  138. package/src/services/ecies/file.js.map +1 -0
  139. package/src/services/ecies/{index.ts → index.d.ts} +1 -0
  140. package/src/services/ecies/index.d.ts.map +1 -0
  141. package/src/services/ecies/index.js +11 -0
  142. package/src/services/ecies/index.js.map +1 -0
  143. package/src/services/ecies/multi-recipient.d.ts +82 -0
  144. package/src/services/ecies/multi-recipient.d.ts.map +1 -0
  145. package/src/services/ecies/multi-recipient.js +360 -0
  146. package/src/services/ecies/multi-recipient.js.map +1 -0
  147. package/src/services/ecies/service.d.ts +70 -0
  148. package/src/services/ecies/service.d.ts.map +1 -0
  149. package/src/services/ecies/service.js +167 -0
  150. package/src/services/ecies/service.js.map +1 -0
  151. package/src/services/ecies/signature.d.ts +38 -0
  152. package/src/services/ecies/signature.d.ts.map +1 -0
  153. package/src/services/ecies/signature.js +69 -0
  154. package/src/services/ecies/signature.js.map +1 -0
  155. package/src/services/ecies/single-recipient.d.ts +85 -0
  156. package/src/services/ecies/single-recipient.d.ts.map +1 -0
  157. package/src/services/ecies/single-recipient.js +399 -0
  158. package/src/services/ecies/single-recipient.js.map +1 -0
  159. package/src/services/ecies/utilities.d.ts +22 -0
  160. package/src/services/ecies/utilities.d.ts.map +1 -0
  161. package/src/services/ecies/utilities.js +75 -0
  162. package/src/services/ecies/utilities.js.map +1 -0
  163. package/src/services/index.d.ts +4 -0
  164. package/src/services/index.d.ts.map +1 -0
  165. package/src/services/index.js +7 -0
  166. package/src/services/index.js.map +1 -0
  167. package/src/services/pbkdf2.d.ts +106 -0
  168. package/src/services/pbkdf2.d.ts.map +1 -0
  169. package/src/services/pbkdf2.js +195 -0
  170. package/src/services/pbkdf2.js.map +1 -0
  171. package/src/{types.ts → types.d.ts} +9 -26
  172. package/src/types.d.ts.map +1 -0
  173. package/src/types.js +3 -0
  174. package/src/types.js.map +1 -0
  175. package/src/utils.d.ts +11 -0
  176. package/src/utils.d.ts.map +1 -0
  177. package/src/utils.js +82 -0
  178. package/src/utils.js.map +1 -0
  179. package/LICENSE +0 -21
  180. package/src/constants.ts +0 -182
  181. package/src/enumerations/index.ts +0 -1
  182. package/src/enumerations/pbkdf2-profile.ts +0 -8
  183. package/src/i18n/ecies-i18n-factory.ts +0 -435
  184. package/src/interfaces/authenticated-cipher.ts +0 -9
  185. package/src/interfaces/authenticated-decipher.ts +0 -8
  186. package/src/interfaces/checksum-config.ts +0 -4
  187. package/src/interfaces/checksum-consts.ts +0 -13
  188. package/src/interfaces/constants.ts +0 -43
  189. package/src/interfaces/ecies-consts.ts +0 -99
  190. package/src/interfaces/encryption-consts.ts +0 -10
  191. package/src/interfaces/keypair-buffer-with-un-encrypted-private-key.ts +0 -7
  192. package/src/interfaces/keyring-consts.ts +0 -5
  193. package/src/interfaces/member-operational.ts +0 -52
  194. package/src/interfaces/multi-encrypted-parsed-header.ts +0 -24
  195. package/src/interfaces/pbkdf2-result.ts +0 -5
  196. package/src/interfaces/signing-key-private-key-info.ts +0 -12
  197. package/src/interfaces/simple-public-key-only-buffer.ts +0 -3
  198. package/src/interfaces/simple-public-key-only.ts +0 -3
  199. package/src/interfaces/single-encrypted-parsed-header.ts +0 -35
  200. package/src/interfaces/wrapped-key-consts.ts +0 -6
  201. package/src/member.ts +0 -463
  202. package/src/services/aes-gcm.ts +0 -160
  203. package/src/services/ecies/crypto-core.ts +0 -213
  204. package/src/services/ecies/file.ts +0 -174
  205. package/src/services/ecies/multi-recipient.ts +0 -583
  206. package/src/services/ecies/service.ts +0 -351
  207. package/src/services/ecies/signature.ts +0 -91
  208. package/src/services/ecies/single-recipient.ts +0 -676
  209. package/src/services/ecies/utilities.ts +0 -111
  210. package/src/services/index.ts +0 -3
  211. package/src/services/pbkdf2.ts +0 -307
  212. package/src/utils.ts +0 -104
package/src/constants.ts DELETED
@@ -1,182 +0,0 @@
1
- import {
2
- Constants as BaseConstants,
3
- GUID_SIZE,
4
- IPBkdf2Consts,
5
- getRuntimeConfiguration,
6
- registerRuntimeConfiguration,
7
- } from '@digitaldefiance/ecies-lib';
8
- import { CipherGCMTypes } from 'crypto';
9
- import { ObjectId } from 'mongodb';
10
- import { IChecksumConsts } from './interfaces/checksum-consts';
11
- import { IConstants } from './interfaces/constants';
12
- import { IEncryptionConsts } from './interfaces/encryption-consts';
13
- import { IKeyringConsts } from './interfaces/keyring-consts';
14
- import { PbkdfProfiles } from './interfaces/pbkdf-profiles';
15
- import { IWrappedKeyConsts } from './interfaces/wrapped-key-consts';
16
- import { Pbkdf2ProfileEnum as NodePbkdf2ProfileEnum } from './enumerations/pbkdf2-profile';
17
- import { getEciesPluginI18nEngine, NodeEciesComponentId, NodeEciesStringKey } from './i18n';
18
-
19
- /**
20
- * Constants for checksum operations
21
- * These values are critical for data integrity and MUST NOT be changed
22
- * in an already established system as it will break all existing checksums.
23
- */
24
- export const NODE_RUNTIME_CONFIGURATION_KEY = Symbol.for(
25
- 'digitaldefiance.node.ecies.defaults',
26
- );
27
-
28
- type NodeRuntimeConfiguration = ReturnType<typeof getRuntimeConfiguration>;
29
- type NodeRuntimeOverrides = Parameters<
30
- typeof registerRuntimeConfiguration
31
- >[1];
32
-
33
- export const NODE_DEFAULTS_OVERRIDES: NodeRuntimeOverrides = Object.freeze({
34
- PBKDF2: {
35
- ALGORITHM: 'sha256',
36
- },
37
- });
38
-
39
- let runtimeDefaults: NodeRuntimeConfiguration = registerRuntimeConfiguration(
40
- NODE_RUNTIME_CONFIGURATION_KEY,
41
- NODE_DEFAULTS_OVERRIDES,
42
- );
43
-
44
- export function getNodeRuntimeConfiguration(): NodeRuntimeConfiguration {
45
- return runtimeDefaults;
46
- }
47
-
48
- export function registerNodeRuntimeConfiguration(
49
- configOrOverrides?: NodeRuntimeOverrides | NodeRuntimeConfiguration,
50
- options?: Parameters<typeof registerRuntimeConfiguration>[2],
51
- ): NodeRuntimeConfiguration {
52
- runtimeDefaults = registerRuntimeConfiguration(
53
- NODE_RUNTIME_CONFIGURATION_KEY,
54
- configOrOverrides,
55
- options,
56
- );
57
- return runtimeDefaults;
58
- }
59
-
60
- export const CHECKSUM: IChecksumConsts = runtimeDefaults.CHECKSUM;
61
-
62
- export const KEYRING: IKeyringConsts = Object.freeze({
63
- ALGORITHM: 'aes' as const,
64
- KEY_BITS: 256 as const,
65
- MODE: 'gcm' as const,
66
- } as const);
67
-
68
- export const PBKDF2: IPBkdf2Consts = runtimeDefaults.PBKDF2;
69
-
70
- export const PBKDF2_PROFILES: PbkdfProfiles = Object.freeze({
71
- // Align browser password profile with high security expectations (sha512, 64-byte salt/hash, 2M iterations)
72
- [NodePbkdf2ProfileEnum.BROWSER_PASSWORD]: Object.freeze({
73
- saltBytes: 64,
74
- iterations: 2000000,
75
- algorithm: 'sha512',
76
- hashBytes: 64,
77
- }),
78
- // High security profile (sha512, 64-byte salt/hash, 2M iterations)
79
- [NodePbkdf2ProfileEnum.HIGH_SECURITY]: Object.freeze({
80
- saltBytes: 64,
81
- iterations: 2000000,
82
- algorithm: 'sha512',
83
- hashBytes: 64,
84
- }),
85
- // Fast test profile (small salt and iterations for speed)
86
- [NodePbkdf2ProfileEnum.TEST_FAST]: Object.freeze({
87
- saltBytes: 16,
88
- iterations: 500,
89
- algorithm: 'sha256',
90
- hashBytes: 32,
91
- }),
92
- [NodePbkdf2ProfileEnum.USER_LOGIN]: Object.freeze({
93
- saltBytes: 32,
94
- iterations: 1304000,
95
- algorithm: 'sha256',
96
- hashBytes: 32,
97
- }),
98
- [NodePbkdf2ProfileEnum.KEY_WRAPPING]: Object.freeze({
99
- saltBytes: 32,
100
- iterations: 100000,
101
- algorithm: 'sha256',
102
- hashBytes: 32,
103
- }),
104
- [NodePbkdf2ProfileEnum.BACKUP_CODES]: Object.freeze({
105
- saltBytes: 32,
106
- iterations: 1304000,
107
- algorithm: 'sha256',
108
- hashBytes: 32,
109
- }),
110
- } as const);
111
-
112
- export const WRAPPED_KEY: IWrappedKeyConsts = Object.freeze({
113
- SALT_SIZE: PBKDF2.SALT_BYTES, // Use PBKDF2 standard salt size
114
- IV_SIZE: 16 as const,
115
- MASTER_KEY_SIZE: 32 as const,
116
- MIN_ITERATIONS: 100000 as const, // Keep lower for key-wrapping operations
117
- } as const);
118
-
119
- export const KEYRING_ALGORITHM_CONFIGURATION =
120
- `${KEYRING.ALGORITHM}-${KEYRING.KEY_BITS}-${KEYRING.MODE}` as CipherGCMTypes;
121
-
122
- /**
123
- * Constants for encrypted data
124
- */
125
- export const ENCRYPTION: IEncryptionConsts = Object.freeze({
126
- ENCRYPTION_TYPE_SIZE: 1 as const,
127
- RECIPIENT_ID_SIZE: GUID_SIZE,
128
- } as const);
129
-
130
- const objectIdLength = Buffer.from(new ObjectId().toHexString(), 'hex').length;
131
- export const Constants: IConstants = Object.freeze({
132
- ...BaseConstants,
133
- /**
134
- * The length of a raw object ID (not the hex string representation)
135
- */
136
- OBJECT_ID_LENGTH: objectIdLength,
137
- /**
138
- * PBKDF2 constants
139
- */
140
- PBKDF2: PBKDF2,
141
- /**
142
- * PBKDF2 configuration profiles
143
- */
144
- PBKDF2_PROFILES: PBKDF2_PROFILES,
145
- /**
146
- * Key Wrapping Service constants
147
- */
148
- WRAPPED_KEY: WRAPPED_KEY,
149
- /**
150
- * Checksum constants used for data integrity
151
- */
152
- CHECKSUM: CHECKSUM,
153
- /**
154
- * Keyring constants used for key management
155
- */
156
- KEYRING: KEYRING,
157
- /**
158
- * Encryption constants used for encrypted data
159
- */
160
- ENCRYPTION: ENCRYPTION,
161
- /**
162
- * Algorithm configuration string for keyring operations
163
- */
164
- KEYRING_ALGORITHM_CONFIGURATION: KEYRING_ALGORITHM_CONFIGURATION,
165
- PasswordRegex: runtimeDefaults.PasswordRegex,
166
- MnemonicRegex: runtimeDefaults.MnemonicRegex,
167
- } as const);
168
-
169
- if (
170
- CHECKSUM.SHA3_BUFFER_LENGTH !== CHECKSUM.SHA3_DEFAULT_HASH_BITS / 8 ||
171
- CHECKSUM.SHA3_BUFFER_LENGTH !== CHECKSUM.SHA3_DEFAULT_HASH_BITS / 8
172
- ) {
173
- const pluginEngine = getEciesPluginI18nEngine();
174
- throw new Error(pluginEngine.translate(NodeEciesComponentId, NodeEciesStringKey.Error_InvalidChecksumConstants));
175
- }
176
-
177
- if (objectIdLength !== 12) {
178
- console.warn(
179
- 'ObjectID length may have changed, breaking encryption',
180
- objectIdLength,
181
- );
182
- }
@@ -1 +0,0 @@
1
- export * from './pbkdf2-profile';
@@ -1,8 +0,0 @@
1
- export enum Pbkdf2ProfileEnum {
2
- USER_LOGIN = 'USER_LOGIN',
3
- KEY_WRAPPING = 'KEY_WRAPPING',
4
- BACKUP_CODES = 'BACKUP_CODES',
5
- HIGH_SECURITY = 'HIGH_SECURITY',
6
- BROWSER_PASSWORD = 'BROWSER_PASSWORD',
7
- TEST_FAST = 'TEST_FAST',
8
- }
@@ -1,435 +0,0 @@
1
- import {
2
- ComponentDefinition,
3
- ComponentRegistration,
4
- createCoreI18nEngine,
5
- PluginI18nEngine,
6
- LanguageCodes,
7
- CoreLanguageCode,
8
- } from '@digitaldefiance/i18n-lib';
9
- import { EciesStringKey, getEciesI18nEngine } from '@digitaldefiance/ecies-lib';
10
-
11
- /**
12
- * ECIES-specific string keys for the node ECIES library
13
- */
14
- enum NodeEciesStringKey {
15
- Error_LengthError_LengthIsInvalidType = 'error_length_error_length_is_invalid_type',
16
-
17
- // Member errors
18
- Error_Member_MissingMemberName = 'error_member_missing_member_name',
19
- Error_Member_InvalidMemberNameWhitespace = 'error_member_invalid_member_name_whitespace',
20
- Error_Member_NoWallet = 'error_member_no_wallet',
21
- Error_Member_WalletAlreadyLoaded = 'error_member_wallet_already_loaded',
22
- Error_Member_InvalidMnemonic = 'error_member_invalid_mnemonic',
23
- Error_Member_MissingPrivateKey = 'error_member_missing_private_key',
24
- Error_Member_MissingEncryptionData = 'error_member_missing_encryption_data',
25
- Error_Member_EncryptionDataTooLarge = 'error_member_encryption_data_too_large',
26
- Error_Member_MissingEmail = 'error_member_missing_email',
27
- Error_Member_InvalidEmailWhitespace = 'error_member_invalid_email_whitespace',
28
- Error_InvalidPublicKey = 'error_invalidPublicKey',
29
- Error_InvalidPublicKeyFormat = 'error_invalidPublicKeyFormat',
30
- Error_MessageLengthExceedsMaximumAllowedSize = 'error_messageLengthExceedsMaximumAllowedSize',
31
- Error_InvalidEncryptionTypeOrNumberOfRecipients = 'error_invalidEncryptionTypeOrNumberOfRecipients',
32
- Error_EncryptedDataLengthMismatch = 'error_encryptedDataLengthMismatch',
33
- Error_EphemeralPublicKeyLengthMismatch = 'error_ephemeralPublicKeyLengthMismatch',
34
- Error_EncryptedDataIsEmpty = 'error_encryptedDataIsEmpty',
35
- Error_CombinedDataTooShort = 'error_combinedDataTooShort',
36
- Error_BufferIsTooShort = 'error_bufferIsTooShort',
37
- Error_BufferIsTooShortToReadFullLengthValue = 'error_bufferIsTooShortToReadFullLengthValue',
38
- Error_LengthExceedsMaximumSafeInteger = 'error_lengthExceedsMaximumSafeInteger',
39
- Error_BufferIsTooShortForDeclaredDataLength = 'error_bufferIsTooShortForDeclaredDataLength',
40
- Error_InvalidChecksumConstants = 'error_invalidChecksumConstants',
41
-
42
- // PBKDF2 errors
43
- Error_Pbkdf2_InvalidSaltLength = 'error_pbkdf2_invalid_salt_length',
44
- Error_Pbkdf2_InvalidHashLength = 'error_pbkdf2_invalid_hash_length',
45
- }
46
- export const NodeEciesComponentId = 'node-ecies';
47
-
48
- /**
49
- * Component definition for Node ECIES strings
50
- */
51
- const NodeEciesComponent: ComponentDefinition<NodeEciesStringKey> = {
52
- id: NodeEciesComponentId,
53
- name: 'Node ECIES Library Strings',
54
- stringKeys: Object.values(NodeEciesStringKey),
55
- };
56
-
57
- /**
58
- * Node ECIES string translations
59
- */
60
- const nodeEciesStrings = {
61
- [LanguageCodes.EN_US]: {
62
- [NodeEciesStringKey.Error_LengthError_LengthIsInvalidType]:
63
- 'Length encoding type is invalid',
64
-
65
- // Member errors
66
- [NodeEciesStringKey.Error_Member_MissingMemberName]:
67
- 'Member name is required',
68
- [NodeEciesStringKey.Error_Member_InvalidMemberNameWhitespace]:
69
- 'Member name cannot have leading or trailing whitespace',
70
- [NodeEciesStringKey.Error_Member_NoWallet]: 'No wallet available',
71
- [NodeEciesStringKey.Error_Member_WalletAlreadyLoaded]:
72
- 'Wallet is already loaded',
73
- [NodeEciesStringKey.Error_Member_InvalidMnemonic]:
74
- 'Invalid mnemonic phrase',
75
- [NodeEciesStringKey.Error_Member_MissingPrivateKey]:
76
- 'Private key is missing',
77
- [NodeEciesStringKey.Error_Member_MissingEncryptionData]:
78
- 'Encryption data is missing',
79
- [NodeEciesStringKey.Error_Member_EncryptionDataTooLarge]:
80
- 'Encryption data is too large',
81
- [NodeEciesStringKey.Error_Member_MissingEmail]: 'Email address is required',
82
- [NodeEciesStringKey.Error_Member_InvalidEmailWhitespace]:
83
- 'Email address cannot have leading or trailing whitespace',
84
- [NodeEciesStringKey.Error_InvalidPublicKey]: 'Received null or undefined public key',
85
- [NodeEciesStringKey.Error_InvalidPublicKeyFormat]: 'Invalid public key format or length',
86
- [NodeEciesStringKey.Error_MessageLengthExceedsMaximumAllowedSize]: 'Message length exceeds maximum allowed size',
87
- [NodeEciesStringKey.Error_InvalidEncryptionTypeOrNumberOfRecipients]: 'Invalid encryption type or number of recipients',
88
- [NodeEciesStringKey.Error_EncryptedDataLengthMismatch]: 'Encrypted data length mismatch',
89
- [NodeEciesStringKey.Error_EphemeralPublicKeyLengthMismatch]: 'Ephemeral public key has incorrect length after normalization',
90
- [NodeEciesStringKey.Error_EncryptedDataIsEmpty]: 'Encrypted data is empty',
91
- [NodeEciesStringKey.Error_CombinedDataTooShort]: 'Combined data is too short to contain required components',
92
- [NodeEciesStringKey.Error_BufferIsTooShort]: 'Buffer is too short to read length type.',
93
- [NodeEciesStringKey.Error_BufferIsTooShortToReadFullLengthValue]: 'Buffer is too short to read the full length value.',
94
- [NodeEciesStringKey.Error_LengthExceedsMaximumSafeInteger]: 'Length exceeds maximum safe integer value',
95
- [NodeEciesStringKey.Error_BufferIsTooShortForDeclaredDataLength]: 'Buffer is too short for declared data length',
96
- [NodeEciesStringKey.Error_InvalidChecksumConstants]: 'Invalid checksum constants',
97
-
98
- // PBKDF2 errors
99
- [NodeEciesStringKey.Error_Pbkdf2_InvalidSaltLength]: 'Invalid salt length',
100
- [NodeEciesStringKey.Error_Pbkdf2_InvalidHashLength]: 'Invalid hash length',
101
- },
102
- [LanguageCodes.EN_GB]: {
103
- [NodeEciesStringKey.Error_LengthError_LengthIsInvalidType]:
104
- 'Length encoding type is invalid',
105
-
106
- // Member errors
107
- [NodeEciesStringKey.Error_Member_MissingMemberName]:
108
- 'Member name is required',
109
- [NodeEciesStringKey.Error_Member_InvalidMemberNameWhitespace]:
110
- 'Member name cannot have leading or trailing whitespace',
111
- [NodeEciesStringKey.Error_Member_NoWallet]: 'No wallet available',
112
- [NodeEciesStringKey.Error_Member_WalletAlreadyLoaded]:
113
- 'Wallet is already loaded',
114
- [NodeEciesStringKey.Error_Member_InvalidMnemonic]:
115
- 'Invalid mnemonic phrase',
116
- [NodeEciesStringKey.Error_Member_MissingPrivateKey]:
117
- 'Private key is missing',
118
- [NodeEciesStringKey.Error_Member_MissingEncryptionData]:
119
- 'Encryption data is missing',
120
- [NodeEciesStringKey.Error_Member_EncryptionDataTooLarge]:
121
- 'Encryption data is too large',
122
- [NodeEciesStringKey.Error_Member_MissingEmail]: 'Email address is required',
123
- [NodeEciesStringKey.Error_Member_InvalidEmailWhitespace]:
124
- 'Email address cannot have leading or trailing whitespace',
125
- [NodeEciesStringKey.Error_InvalidPublicKey]: 'Received null or undefined public key',
126
- [NodeEciesStringKey.Error_InvalidPublicKeyFormat]: 'Invalid public key format or length',
127
- [NodeEciesStringKey.Error_MessageLengthExceedsMaximumAllowedSize]: 'Message length exceeds maximum allowed size',
128
- [NodeEciesStringKey.Error_InvalidEncryptionTypeOrNumberOfRecipients]: 'Invalid encryption type or number of recipients',
129
- [NodeEciesStringKey.Error_EncryptedDataLengthMismatch]: 'Encrypted data length mismatch',
130
- [NodeEciesStringKey.Error_EphemeralPublicKeyLengthMismatch]: 'Ephemeral public key has incorrect length after normalization',
131
- [NodeEciesStringKey.Error_CombinedDataTooShort]: 'Combined data is too short to contain required components',
132
- [NodeEciesStringKey.Error_EncryptedDataIsEmpty]: 'Encrypted data is empty',
133
- [NodeEciesStringKey.Error_BufferIsTooShort]: 'Buffer is too short to read length type.',
134
- [NodeEciesStringKey.Error_BufferIsTooShortToReadFullLengthValue]: 'Buffer is too short to read the full length value.',
135
- [NodeEciesStringKey.Error_LengthExceedsMaximumSafeInteger]: 'Length exceeds maximum safe integer value',
136
- [NodeEciesStringKey.Error_BufferIsTooShortForDeclaredDataLength]: 'Buffer is too short for declared data length',
137
- [NodeEciesStringKey.Error_InvalidChecksumConstants]: 'Invalid checksum constants',
138
-
139
- // PBKDF2 errors
140
- [NodeEciesStringKey.Error_Pbkdf2_InvalidSaltLength]: 'Invalid salt length',
141
- [NodeEciesStringKey.Error_Pbkdf2_InvalidHashLength]: 'Invalid hash length',
142
- },
143
- [LanguageCodes.FR]: {
144
- [NodeEciesStringKey.Error_LengthError_LengthIsInvalidType]:
145
- "Le type d'encodage de longueur est invalide",
146
-
147
- // Member errors (French translations)
148
- [NodeEciesStringKey.Error_Member_MissingMemberName]:
149
- 'Le nom du membre est requis',
150
- [NodeEciesStringKey.Error_Member_InvalidMemberNameWhitespace]:
151
- "Le nom du membre ne peut pas avoir d'espaces au début ou à la fin",
152
- [NodeEciesStringKey.Error_Member_NoWallet]: 'Aucun portefeuille disponible',
153
- [NodeEciesStringKey.Error_Member_WalletAlreadyLoaded]:
154
- 'Le portefeuille est déjà chargé',
155
- [NodeEciesStringKey.Error_Member_InvalidMnemonic]:
156
- 'Phrase mnémotechnique invalide',
157
- [NodeEciesStringKey.Error_Member_MissingPrivateKey]: 'Clé privée manquante',
158
- [NodeEciesStringKey.Error_Member_MissingEncryptionData]:
159
- 'Données de chiffrement manquantes',
160
- [NodeEciesStringKey.Error_Member_EncryptionDataTooLarge]:
161
- 'Données de chiffrement trop volumineuses',
162
- [NodeEciesStringKey.Error_Member_MissingEmail]: 'Adresse e-mail requise',
163
- [NodeEciesStringKey.Error_Member_InvalidEmailWhitespace]:
164
- "L'adresse e-mail ne peut pas avoir d'espaces au début ou à la fin",
165
- [NodeEciesStringKey.Error_InvalidPublicKey]: 'Clé publique reçue nulle ou indéfinie',
166
- [NodeEciesStringKey.Error_InvalidPublicKeyFormat]: 'Format ou longueur de clé publique invalide',
167
- [NodeEciesStringKey.Error_MessageLengthExceedsMaximumAllowedSize]: 'La longueur du message dépasse la taille maximale autorisée',
168
- [NodeEciesStringKey.Error_InvalidEncryptionTypeOrNumberOfRecipients]: 'Type de chiffrement ou nombre de destinataires invalide',
169
- [NodeEciesStringKey.Error_EphemeralPublicKeyLengthMismatch]: 'La longueur de la clé publique éphémère est incorrecte après normalisation',
170
- [NodeEciesStringKey.Error_EncryptedDataLengthMismatch]: 'Mismatch de longueur des données chiffrées',
171
- [NodeEciesStringKey.Error_CombinedDataTooShort]: 'Les données combinées sont trop courtes pour contenir les composants requis',
172
- [NodeEciesStringKey.Error_BufferIsTooShort]: 'Le tampon est trop court pour lire le type de longueur.',
173
- [NodeEciesStringKey.Error_BufferIsTooShortToReadFullLengthValue]: 'Le tampon est trop court pour lire la valeur de longueur complète.',
174
- [NodeEciesStringKey.Error_EncryptedDataIsEmpty]: 'Les données chiffrées sont vides',
175
- [NodeEciesStringKey.Error_LengthExceedsMaximumSafeInteger]: 'La longueur dépasse la valeur entière sécurisée maximale.',
176
- [NodeEciesStringKey.Error_BufferIsTooShortForDeclaredDataLength]: 'Le tampon est trop court pour la longueur de données déclarée.',
177
- [NodeEciesStringKey.Error_InvalidChecksumConstants]: 'Constantes de somme de contrôle invalides.',
178
-
179
- // PBKDF2 errors
180
- [NodeEciesStringKey.Error_Pbkdf2_InvalidSaltLength]:
181
- 'Longueur de sel invalide',
182
- [NodeEciesStringKey.Error_Pbkdf2_InvalidHashLength]:
183
- 'Longueur de hachage invalide',
184
- },
185
- [LanguageCodes.ES]: {
186
- [NodeEciesStringKey.Error_LengthError_LengthIsInvalidType]:
187
- 'El tipo de codificación de longitud es inválido',
188
- [NodeEciesStringKey.Error_Member_MissingMemberName]:
189
- 'Se requiere el nombre del miembro',
190
- [NodeEciesStringKey.Error_Member_InvalidMemberNameWhitespace]:
191
- 'El nombre del miembro no puede tener espacios al principio o al final',
192
- [NodeEciesStringKey.Error_Member_NoWallet]: 'No hay billetera disponible',
193
- [NodeEciesStringKey.Error_Member_WalletAlreadyLoaded]:
194
- 'La billetera ya está cargada',
195
- [NodeEciesStringKey.Error_Member_InvalidMnemonic]:
196
- 'Frase mnemotécnica inválida',
197
- [NodeEciesStringKey.Error_Member_MissingPrivateKey]:
198
- 'Falta la clave privada',
199
- [NodeEciesStringKey.Error_Member_MissingEncryptionData]:
200
- 'Faltan los datos de cifrado',
201
- [NodeEciesStringKey.Error_Member_EncryptionDataTooLarge]:
202
- 'Los datos de cifrado son demasiado grandes',
203
- [NodeEciesStringKey.Error_Member_MissingEmail]: 'Se requiere la dirección de correo electrónico',
204
- [NodeEciesStringKey.Error_Member_InvalidEmailWhitespace]:
205
- 'La dirección de correo electrónico no puede tener espacios al principio o al final',
206
- [NodeEciesStringKey.Error_Pbkdf2_InvalidSaltLength]: 'Longitud de sal inválida',
207
- [NodeEciesStringKey.Error_Pbkdf2_InvalidHashLength]: 'Longitud de hash inválida',
208
- [NodeEciesStringKey.Error_InvalidPublicKey]: 'Se recibió clave pública nula o indefinida',
209
- [NodeEciesStringKey.Error_InvalidPublicKeyFormat]: 'Formato o longitud de clave pública inválido',
210
- [NodeEciesStringKey.Error_MessageLengthExceedsMaximumAllowedSize]: 'La longitud del mensaje supera la tamaño máximo permitido',
211
- [NodeEciesStringKey.Error_InvalidEncryptionTypeOrNumberOfRecipients]: 'Tipo de cifrado o número de destinatarios inválido',
212
- [NodeEciesStringKey.Error_EphemeralPublicKeyLengthMismatch]: 'La longitud de la clave pública efímera es incorrecta después de la normalización',
213
- [NodeEciesStringKey.Error_EncryptedDataLengthMismatch]: 'Desajuste de longitud de datos cifrados',
214
- [NodeEciesStringKey.Error_CombinedDataTooShort]: 'Los datos combinados son demasiado cortos para contener los componentes requeridos',
215
- [NodeEciesStringKey.Error_BufferIsTooShort]: 'El búfer es demasiado corto para leer el tipo de longitud.',
216
- [NodeEciesStringKey.Error_BufferIsTooShortToReadFullLengthValue]: 'El búfer es demasiado corto para leer la longitud completa.',
217
- [NodeEciesStringKey.Error_EncryptedDataIsEmpty]: 'Los datos cifrados están vacíos',
218
- [NodeEciesStringKey.Error_LengthExceedsMaximumSafeInteger]: 'La longitud excede el valor máximo seguro para enteros.',
219
- [NodeEciesStringKey.Error_BufferIsTooShortForDeclaredDataLength]: 'El búfer es demasiado corto para la longitud de datos declarada.',
220
- [NodeEciesStringKey.Error_InvalidChecksumConstants]: 'Constantes de suma de comprobación no válidas.',
221
- },
222
- [LanguageCodes.DE]: {
223
- [NodeEciesStringKey.Error_LengthError_LengthIsInvalidType]:
224
- 'Längencodierungstyp ist ungültig',
225
- [NodeEciesStringKey.Error_Member_MissingMemberName]:
226
- 'Mitgliedsname ist erforderlich',
227
- [NodeEciesStringKey.Error_Member_InvalidMemberNameWhitespace]:
228
- 'Mitgliedsname darf keine führenden oder nachfolgenden Leerzeichen haben',
229
- [NodeEciesStringKey.Error_Member_NoWallet]: 'Keine Wallet verfügbar',
230
- [NodeEciesStringKey.Error_Member_WalletAlreadyLoaded]:
231
- 'Wallet ist bereits geladen',
232
- [NodeEciesStringKey.Error_Member_InvalidMnemonic]:
233
- 'Ungültige mnemonische Phrase',
234
- [NodeEciesStringKey.Error_Member_MissingPrivateKey]:
235
- 'Privater Schlüssel fehlt',
236
- [NodeEciesStringKey.Error_Member_MissingEncryptionData]:
237
- 'Verschlüsselungsdaten fehlen',
238
- [NodeEciesStringKey.Error_Member_EncryptionDataTooLarge]:
239
- 'Verschlüsselungsdaten sind zu groß',
240
- [NodeEciesStringKey.Error_Member_MissingEmail]: 'E-Mail-Adresse ist erforderlich',
241
- [NodeEciesStringKey.Error_Member_InvalidEmailWhitespace]:
242
- 'E-Mail-Adresse darf keine führenden oder nachfolgenden Leerzeichen haben',
243
- [NodeEciesStringKey.Error_InvalidPublicKey]: 'Null oder undefinierter öffentlicher Schlüssel empfangen',
244
- [NodeEciesStringKey.Error_InvalidPublicKeyFormat]: 'Ungültiges Format oder Länge des öffentlichen Schlüssels',
245
- [NodeEciesStringKey.Error_MessageLengthExceedsMaximumAllowedSize]: 'Die Nachricht überschreitet die maximal erlaubte Länge',
246
- [NodeEciesStringKey.Error_InvalidEncryptionTypeOrNumberOfRecipients]: 'Ungültiger Verschlüsselungstyp oder Anzahl der Empfänger',
247
- [NodeEciesStringKey.Error_EncryptedDataLengthMismatch]: 'Desajuste de longitud de datos cifrados',
248
- [NodeEciesStringKey.Error_EphemeralPublicKeyLengthMismatch]: 'Ephemerer öffentlicher Schlüssel hat nach der Normalisierung eine falsche Länge',
249
- [NodeEciesStringKey.Error_EncryptedDataIsEmpty]: 'Verschlüsselte Daten sind leer',
250
- [NodeEciesStringKey.Error_CombinedDataTooShort]: 'Die kombinierten Daten sind zu kurz, um die erforderlichen Komponenten zu enthalten',
251
- [NodeEciesStringKey.Error_BufferIsTooShort]: 'Der Puffer ist zu kurz, um den Längentyp zu lesen.',
252
- [NodeEciesStringKey.Error_BufferIsTooShortToReadFullLengthValue]: 'Der Puffer ist zu kurz, um die vollständige Längenangabe zu lesen.',
253
- [NodeEciesStringKey.Error_LengthExceedsMaximumSafeInteger]: 'Die Länge überschreitet den maximalen sicheren Ganzzahlwert.',
254
- [NodeEciesStringKey.Error_BufferIsTooShortForDeclaredDataLength]: 'Der Puffer ist zu kurz für die deklarierte Datenlänge.',
255
- [NodeEciesStringKey.Error_InvalidChecksumConstants]: 'Ungültige Prüfziffernkonstanten',
256
- [NodeEciesStringKey.Error_Pbkdf2_InvalidSaltLength]: 'Ungültige Salt-Länge',
257
- [NodeEciesStringKey.Error_Pbkdf2_InvalidHashLength]: 'Ungültige Hash-Länge',
258
- },
259
- [LanguageCodes.ZH_CN]: {
260
- [NodeEciesStringKey.Error_LengthError_LengthIsInvalidType]:
261
- '长度编码类型无效',
262
- [NodeEciesStringKey.Error_Member_MissingMemberName]:
263
- '需要成员名称',
264
- [NodeEciesStringKey.Error_Member_InvalidMemberNameWhitespace]:
265
- '成员名称不能有前导或尾随空格',
266
- [NodeEciesStringKey.Error_Member_NoWallet]: '没有可用的钱包',
267
- [NodeEciesStringKey.Error_Member_WalletAlreadyLoaded]:
268
- '钱包已加载',
269
- [NodeEciesStringKey.Error_Member_InvalidMnemonic]:
270
- '无效的助记词',
271
- [NodeEciesStringKey.Error_Member_MissingPrivateKey]:
272
- '缺少私钥',
273
- [NodeEciesStringKey.Error_Member_MissingEncryptionData]:
274
- '缺少加密数据',
275
- [NodeEciesStringKey.Error_Member_EncryptionDataTooLarge]:
276
- '加密数据过大',
277
- [NodeEciesStringKey.Error_Member_MissingEmail]: '需要电子邮件地址',
278
- [NodeEciesStringKey.Error_Member_InvalidEmailWhitespace]:
279
- '电子邮件地址不能有前导或尾随空格',
280
- [NodeEciesStringKey.Error_InvalidPublicKey]: '收到空或未定义的公钥',
281
- [NodeEciesStringKey.Error_InvalidPublicKeyFormat]: '无效的公钥格式或长度',
282
- [NodeEciesStringKey.Error_MessageLengthExceedsMaximumAllowedSize]: '消息长度超过最大允许长度',
283
- [NodeEciesStringKey.Error_InvalidEncryptionTypeOrNumberOfRecipients]: '无效的加密类型或接收者数量',
284
- [NodeEciesStringKey.Error_EncryptedDataLengthMismatch]: '加密数据长度不匹配',
285
- [NodeEciesStringKey.Error_EphemeralPublicKeyLengthMismatch]: '临时公钥在规范化后长度不正确',
286
- [NodeEciesStringKey.Error_EncryptedDataIsEmpty]: '加密数据为空',
287
- [NodeEciesStringKey.Error_CombinedDataTooShort]: '组合数据太短,无法包含所需组件',
288
- [NodeEciesStringKey.Error_BufferIsTooShort]: '缓冲区太短,无法读取长度类型。',
289
- [NodeEciesStringKey.Error_BufferIsTooShortToReadFullLengthValue]: '缓冲区太短,无法读取完整的长度值。',
290
- [NodeEciesStringKey.Error_LengthExceedsMaximumSafeInteger]: '长度超过最大安全整数值。',
291
- [NodeEciesStringKey.Error_BufferIsTooShortForDeclaredDataLength]: '缓冲区太短,无法读取声明的数据长度。',
292
- [NodeEciesStringKey.Error_InvalidChecksumConstants]: '无效的校验和常量',
293
- [NodeEciesStringKey.Error_Pbkdf2_InvalidSaltLength]: '无效的盐长度',
294
- [NodeEciesStringKey.Error_Pbkdf2_InvalidHashLength]: '无效的哈希长度',
295
- },
296
- [LanguageCodes.JA]: {
297
- [NodeEciesStringKey.Error_LengthError_LengthIsInvalidType]:
298
- '長さエンコーディングタイプが無効です',
299
- [NodeEciesStringKey.Error_Member_MissingMemberName]:
300
- 'メンバー名は必須です',
301
- [NodeEciesStringKey.Error_Member_InvalidMemberNameWhitespace]:
302
- 'メンバー名は前後に空白を含めることはできません',
303
- [NodeEciesStringKey.Error_Member_NoWallet]: '利用可能なウォレットがありません',
304
- [NodeEciesStringKey.Error_Member_WalletAlreadyLoaded]:
305
- 'ウォレットはすでに読み込まれています',
306
- [NodeEciesStringKey.Error_Member_InvalidMnemonic]:
307
- '無効な助記詞フレーズ',
308
- [NodeEciesStringKey.Error_Member_MissingPrivateKey]:
309
- 'プライベートキーが見つかりません',
310
- [NodeEciesStringKey.Error_Member_MissingEncryptionData]:
311
- '暗号化データが見つかりません',
312
- [NodeEciesStringKey.Error_Member_EncryptionDataTooLarge]:
313
- '暗号化データが大きすぎます',
314
- [NodeEciesStringKey.Error_Member_MissingEmail]: 'メールアドレスは必須です',
315
- [NodeEciesStringKey.Error_Member_InvalidEmailWhitespace]:
316
- 'メールアドレスは前後に空白を含めることはできません',
317
- [NodeEciesStringKey.Error_InvalidPublicKey]: '受信した公開鍵はnullまたは未定義です',
318
- [NodeEciesStringKey.Error_InvalidPublicKeyFormat]: '無効な公開鍵の形式または長さ',
319
- [NodeEciesStringKey.Error_MessageLengthExceedsMaximumAllowedSize]: 'メッセージの長さが最大許可サイズを超えています',
320
- [NodeEciesStringKey.Error_InvalidEncryptionTypeOrNumberOfRecipients]: '無効な暗号化タイプまたは受信者の数',
321
- [NodeEciesStringKey.Error_EncryptedDataLengthMismatch]: '暗号化データの長さが一致しません',
322
- [NodeEciesStringKey.Error_EphemeralPublicKeyLengthMismatch]: '正規化後のエフェメラル公開鍵の長さが正しくありません',
323
- [NodeEciesStringKey.Error_CombinedDataTooShort]: '組み合わせデータが短すぎて、必要なコンポーネントを含めることができません',
324
- [NodeEciesStringKey.Error_EncryptedDataIsEmpty]: '暗号化データが空です',
325
- [NodeEciesStringKey.Error_BufferIsTooShort]: 'バッファが短すぎて長さタイプを読み取れません。',
326
- [NodeEciesStringKey.Error_BufferIsTooShortToReadFullLengthValue]: 'バッファが短すぎて完全な長さの値を読み取れません。',
327
- [NodeEciesStringKey.Error_LengthExceedsMaximumSafeInteger]: '長さが最大安全整数値を超えています。',
328
- [NodeEciesStringKey.Error_BufferIsTooShortForDeclaredDataLength]: 'バッファが短すぎて宣言されたデータ長を読み取れません。',
329
- [NodeEciesStringKey.Error_InvalidChecksumConstants]: '無効なチェックサム定数',
330
- [NodeEciesStringKey.Error_Pbkdf2_InvalidSaltLength]: '無効なソルト長',
331
- [NodeEciesStringKey.Error_Pbkdf2_InvalidHashLength]: '無効なハッシュ長',
332
- },
333
- [LanguageCodes.UK]: {
334
- [NodeEciesStringKey.Error_LengthError_LengthIsInvalidType]:
335
- 'Тип кодування довжини недійсний',
336
- [NodeEciesStringKey.Error_Member_MissingMemberName]:
337
- 'Обов\'язкове поле: ім\'я учасника',
338
- [NodeEciesStringKey.Error_Member_InvalidMemberNameWhitespace]:
339
- 'Ім\'я учасника не може містити провідні або кінцеві пробіли',
340
- [NodeEciesStringKey.Error_Member_NoWallet]: 'Немає доступного гаманця',
341
- [NodeEciesStringKey.Error_Member_WalletAlreadyLoaded]:
342
- 'Гаманець вже завантажено',
343
- [NodeEciesStringKey.Error_Member_InvalidMnemonic]:
344
- 'Неправильна мнемонічна фраза',
345
- [NodeEciesStringKey.Error_Member_MissingPrivateKey]:
346
- 'Відсутній приватний ключ',
347
- [NodeEciesStringKey.Error_Member_MissingEncryptionData]:
348
- 'Відсутні дані шифрування',
349
- [NodeEciesStringKey.Error_Member_EncryptionDataTooLarge]:
350
- 'Дані шифрування занадто великі',
351
- [NodeEciesStringKey.Error_Member_MissingEmail]: 'Обов\'язкове поле: адреса електронної пошти',
352
- [NodeEciesStringKey.Error_Member_InvalidEmailWhitespace]:
353
- 'Адреса електронної пошти не може містити провідні або кінцеві пробіли',
354
- [NodeEciesStringKey.Error_InvalidPublicKey]: 'Отримано нульовий або невизначений публічний ключ',
355
- [NodeEciesStringKey.Error_InvalidPublicKeyFormat]: 'Неправильний формат або довжина публічного ключа',
356
- [NodeEciesStringKey.Error_MessageLengthExceedsMaximumAllowedSize]: 'Довжина повідомлення перевищує максимально допустимий розмір',
357
- [NodeEciesStringKey.Error_InvalidEncryptionTypeOrNumberOfRecipients]: 'Неправильний тип шифрування або кількість отримувачів',
358
- [NodeEciesStringKey.Error_EncryptedDataLengthMismatch]: 'Довжина зашифрованих даних не збігається',
359
- [NodeEciesStringKey.Error_EphemeralPublicKeyLengthMismatch]: 'Тимчасовий публічний ключ має неправильну довжину після нормалізації',
360
- [NodeEciesStringKey.Error_EncryptedDataIsEmpty]: 'Зашифровані дані порожні',
361
- [NodeEciesStringKey.Error_CombinedDataTooShort]: 'Об\'єднані дані занадто короткі, щоб містити необхідні компоненти',
362
- [NodeEciesStringKey.Error_BufferIsTooShort]: 'Буфер занадто короткий, щоб прочитати тип довжини.',
363
- [NodeEciesStringKey.Error_BufferIsTooShortToReadFullLengthValue]: 'Буфер занадто короткий, щоб прочитати повну довжину значення.',
364
- [NodeEciesStringKey.Error_LengthExceedsMaximumSafeInteger]: 'Довжина перевищує максимальне безпечне ціле значення.',
365
- [NodeEciesStringKey.Error_BufferIsTooShortForDeclaredDataLength]: 'Буфер занадто короткий для заявленої довжини даних.',
366
- [NodeEciesStringKey.Error_InvalidChecksumConstants]: 'Неправильні константи контрольної суми',
367
- [NodeEciesStringKey.Error_Pbkdf2_InvalidSaltLength]: 'Недійсна довжина солі',
368
- [NodeEciesStringKey.Error_Pbkdf2_InvalidHashLength]: 'Недійсна довжина хешу',
369
- },
370
- };
371
-
372
- /**
373
- * Singleton instance of the ECIES I18n engine
374
- */
375
- let eciesI18nEngineInstance: PluginI18nEngine<CoreLanguageCode> | null = null;
376
-
377
- /**
378
- * Create or get the ECIES I18n engine with proper component registration
379
- * This replaces the legacy getEciesI18nEngine() function
380
- */
381
- export function getEciesPluginI18nEngine(): PluginI18nEngine<CoreLanguageCode> {
382
- if (!eciesI18nEngineInstance) {
383
- // Create core engine with system strings
384
- eciesI18nEngineInstance = createCoreI18nEngine(NodeEciesComponentId) as PluginI18nEngine<CoreLanguageCode>;
385
-
386
- // Register the Node ECIES component
387
- const registration: ComponentRegistration<
388
- NodeEciesStringKey,
389
- CoreLanguageCode
390
- > = {
391
- component: NodeEciesComponent,
392
- strings: nodeEciesStrings as any,
393
- };
394
-
395
- const result = eciesI18nEngineInstance.registerComponent(registration);
396
- if (!result.isValid) {
397
- console.warn(
398
- 'Node ECIES component registration incomplete:',
399
- result.missingKeys,
400
- );
401
- }
402
- }
403
-
404
- return eciesI18nEngineInstance!;
405
- }
406
-
407
- /**
408
- * Reset the engine instance (useful for testing)
409
- */
410
- export function resetEciesPluginI18nEngine(): void {
411
- eciesI18nEngineInstance = null;
412
- }
413
-
414
- /**
415
- * Get a translation from the Node ECIES component
416
- */
417
- export function getNodeEciesTranslation(
418
- key: NodeEciesStringKey,
419
- variables?: Record<string, string | number>,
420
- language?: CoreLanguageCode,
421
- ): string {
422
- const engine = getEciesPluginI18nEngine();
423
- return engine.translate(NodeEciesComponentId, key, variables, language);
424
- }
425
-
426
- /**
427
- * Get the ECIES PluginI18nEngine for use in node-ecies services
428
- * Uses the base ecies-lib's engine which has all EciesStringKey translations
429
- * Cast to any to handle cross-package type compatibility
430
- */
431
- export function createEciesTranslationEngine(): any {
432
- return getEciesI18nEngine();
433
- }
434
-
435
- export { NodeEciesStringKey };
@@ -1,9 +0,0 @@
1
- /**
2
- * Extended Cipher type with auth tag support
3
- */
4
- export interface AuthenticatedCipher {
5
- update(data: Buffer): Buffer;
6
- final(): Buffer;
7
- getAuthTag(): Buffer;
8
- setAutoPadding(autoPadding: boolean): void;
9
- }
@@ -1,8 +0,0 @@
1
- /**
2
- * Extended Decipher type with auth tag support
3
- */
4
- export interface AuthenticatedDecipher {
5
- update(data: Buffer): Buffer;
6
- final(): Buffer;
7
- setAuthTag(tag: Buffer): void;
8
- }
@@ -1,4 +0,0 @@
1
- export interface IChecksumConfig {
2
- algorithm: string;
3
- encoding: 'hex' | 'base64';
4
- }