react-native-quick-crypto 0.7.3 → 0.7.4

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 (179) hide show
  1. package/README.md +13 -46
  2. package/android/build.gradle +1 -1
  3. package/android/gradle.properties +1 -1
  4. package/lib/commonjs/Cipher.js +113 -111
  5. package/lib/commonjs/Cipher.js.map +1 -1
  6. package/lib/commonjs/Hash.js +8 -5
  7. package/lib/commonjs/Hash.js.map +1 -1
  8. package/lib/commonjs/Hashnames.js +4 -1
  9. package/lib/commonjs/Hashnames.js.map +1 -1
  10. package/lib/commonjs/Hmac.js +5 -3
  11. package/lib/commonjs/Hmac.js.map +1 -1
  12. package/lib/commonjs/NativeQuickCrypto/Cipher.js +7 -7
  13. package/lib/commonjs/NativeQuickCrypto/Cipher.js.map +1 -1
  14. package/lib/commonjs/NativeQuickCrypto/NativeQuickCrypto.js +11 -4
  15. package/lib/commonjs/NativeQuickCrypto/NativeQuickCrypto.js.map +1 -1
  16. package/lib/commonjs/NativeQuickCrypto/sig.js.map +1 -1
  17. package/lib/commonjs/Utils.js +98 -63
  18. package/lib/commonjs/Utils.js.map +1 -1
  19. package/lib/commonjs/aes.js +9 -8
  20. package/lib/commonjs/aes.js.map +1 -1
  21. package/lib/commonjs/ec.js +2 -3
  22. package/lib/commonjs/ec.js.map +1 -1
  23. package/lib/commonjs/index.js +1 -1
  24. package/lib/commonjs/index.js.map +1 -1
  25. package/lib/commonjs/keygen.js +4 -2
  26. package/lib/commonjs/keygen.js.map +1 -1
  27. package/lib/commonjs/keys.js +7 -2
  28. package/lib/commonjs/keys.js.map +1 -1
  29. package/lib/commonjs/pbkdf2.js +13 -21
  30. package/lib/commonjs/pbkdf2.js.map +1 -1
  31. package/lib/commonjs/random.js +6 -8
  32. package/lib/commonjs/random.js.map +1 -1
  33. package/lib/commonjs/rsa.js.map +1 -1
  34. package/lib/commonjs/sig.js +1 -2
  35. package/lib/commonjs/sig.js.map +1 -1
  36. package/lib/commonjs/subtle.js +4 -3
  37. package/lib/commonjs/subtle.js.map +1 -1
  38. package/lib/module/Cipher.js +112 -110
  39. package/lib/module/Cipher.js.map +1 -1
  40. package/lib/module/Hash.js +7 -4
  41. package/lib/module/Hash.js.map +1 -1
  42. package/lib/module/Hashnames.js +4 -1
  43. package/lib/module/Hashnames.js.map +1 -1
  44. package/lib/module/Hmac.js +4 -2
  45. package/lib/module/Hmac.js.map +1 -1
  46. package/lib/module/NativeQuickCrypto/Cipher.js +7 -7
  47. package/lib/module/NativeQuickCrypto/Cipher.js.map +1 -1
  48. package/lib/module/NativeQuickCrypto/NativeQuickCrypto.js +11 -4
  49. package/lib/module/NativeQuickCrypto/NativeQuickCrypto.js.map +1 -1
  50. package/lib/module/NativeQuickCrypto/sig.js.map +1 -1
  51. package/lib/module/Utils.js +95 -62
  52. package/lib/module/Utils.js.map +1 -1
  53. package/lib/module/aes.js +9 -8
  54. package/lib/module/aes.js.map +1 -1
  55. package/lib/module/ec.js +2 -3
  56. package/lib/module/ec.js.map +1 -1
  57. package/lib/module/keygen.js +4 -2
  58. package/lib/module/keygen.js.map +1 -1
  59. package/lib/module/keys.js +7 -2
  60. package/lib/module/keys.js.map +1 -1
  61. package/lib/module/pbkdf2.js +13 -21
  62. package/lib/module/pbkdf2.js.map +1 -1
  63. package/lib/module/random.js +6 -8
  64. package/lib/module/random.js.map +1 -1
  65. package/lib/module/rsa.js.map +1 -1
  66. package/lib/module/sig.js +0 -1
  67. package/lib/module/sig.js.map +1 -1
  68. package/lib/module/subtle.js +4 -3
  69. package/lib/module/subtle.js.map +1 -1
  70. package/lib/typescript/{Cipher.d.ts → src/Cipher.d.ts} +37 -33
  71. package/lib/typescript/src/Cipher.d.ts.map +1 -0
  72. package/lib/typescript/src/Hash.d.ts.map +1 -0
  73. package/lib/typescript/src/Hashnames.d.ts.map +1 -0
  74. package/lib/typescript/src/Hmac.d.ts.map +1 -0
  75. package/lib/typescript/{NativeQuickCrypto → src/NativeQuickCrypto}/Cipher.d.ts +5 -5
  76. package/lib/typescript/src/NativeQuickCrypto/Cipher.d.ts.map +1 -0
  77. package/lib/typescript/{NativeQuickCrypto → src/NativeQuickCrypto}/NativeQuickCrypto.d.ts +1 -1
  78. package/lib/typescript/src/NativeQuickCrypto/NativeQuickCrypto.d.ts.map +1 -0
  79. package/lib/typescript/src/NativeQuickCrypto/aes.d.ts.map +1 -0
  80. package/lib/typescript/src/NativeQuickCrypto/hash.d.ts.map +1 -0
  81. package/lib/typescript/src/NativeQuickCrypto/hmac.d.ts.map +1 -0
  82. package/lib/typescript/src/NativeQuickCrypto/keygen.d.ts.map +1 -0
  83. package/lib/typescript/src/NativeQuickCrypto/pbkdf2.d.ts.map +1 -0
  84. package/lib/typescript/src/NativeQuickCrypto/random.d.ts.map +1 -0
  85. package/lib/typescript/src/NativeQuickCrypto/rsa.d.ts.map +1 -0
  86. package/lib/typescript/src/NativeQuickCrypto/sig.d.ts.map +1 -0
  87. package/lib/typescript/{NativeQuickCrypto → src/NativeQuickCrypto}/webcrypto.d.ts +1 -1
  88. package/lib/typescript/src/NativeQuickCrypto/webcrypto.d.ts.map +1 -0
  89. package/lib/typescript/{Utils.d.ts → src/Utils.d.ts} +18 -8
  90. package/lib/typescript/src/Utils.d.ts.map +1 -0
  91. package/lib/typescript/src/aes.d.ts.map +1 -0
  92. package/lib/typescript/src/constants.d.ts.map +1 -0
  93. package/lib/typescript/src/ec.d.ts.map +1 -0
  94. package/lib/typescript/{index.d.ts → src/index.d.ts} +5 -30
  95. package/lib/typescript/src/index.d.ts.map +1 -0
  96. package/lib/typescript/src/keygen.d.ts.map +1 -0
  97. package/lib/typescript/{keys.d.ts → src/keys.d.ts} +27 -25
  98. package/lib/typescript/src/keys.d.ts.map +1 -0
  99. package/lib/typescript/{pbkdf2.d.ts → src/pbkdf2.d.ts} +3 -4
  100. package/lib/typescript/src/pbkdf2.d.ts.map +1 -0
  101. package/lib/typescript/{random.d.ts → src/random.d.ts} +5 -5
  102. package/lib/typescript/src/random.d.ts.map +1 -0
  103. package/lib/typescript/src/rsa.d.ts.map +1 -0
  104. package/lib/typescript/{sig.d.ts → src/sig.d.ts} +5 -5
  105. package/lib/typescript/src/sig.d.ts.map +1 -0
  106. package/lib/typescript/src/subtle.d.ts.map +1 -0
  107. package/lib/typescript/src/webcrypto.d.ts.map +1 -0
  108. package/package.json +14 -41
  109. package/src/Cipher.ts +270 -212
  110. package/src/Hash.ts +14 -7
  111. package/src/Hashnames.ts +5 -2
  112. package/src/Hmac.ts +6 -5
  113. package/src/NativeQuickCrypto/Cipher.ts +21 -20
  114. package/src/NativeQuickCrypto/NativeQuickCrypto.ts +15 -11
  115. package/src/NativeQuickCrypto/aes.ts +1 -1
  116. package/src/NativeQuickCrypto/hash.ts +1 -1
  117. package/src/NativeQuickCrypto/hmac.ts +1 -1
  118. package/src/NativeQuickCrypto/keygen.ts +1 -1
  119. package/src/NativeQuickCrypto/pbkdf2.ts +2 -2
  120. package/src/NativeQuickCrypto/random.ts +2 -2
  121. package/src/NativeQuickCrypto/rsa.ts +1 -1
  122. package/src/NativeQuickCrypto/sig.ts +3 -1
  123. package/src/NativeQuickCrypto/webcrypto.ts +5 -5
  124. package/src/Utils.ts +175 -108
  125. package/src/aes.ts +29 -29
  126. package/src/ec.ts +18 -19
  127. package/src/keygen.ts +7 -7
  128. package/src/keys.ts +71 -65
  129. package/src/pbkdf2.ts +24 -48
  130. package/src/random.ts +37 -43
  131. package/src/rsa.ts +25 -23
  132. package/src/sig.ts +12 -13
  133. package/src/subtle.ts +50 -45
  134. package/lib/typescript/Cipher.d.ts.map +0 -1
  135. package/lib/typescript/Hash.d.ts.map +0 -1
  136. package/lib/typescript/Hashnames.d.ts.map +0 -1
  137. package/lib/typescript/Hmac.d.ts.map +0 -1
  138. package/lib/typescript/NativeQuickCrypto/Cipher.d.ts.map +0 -1
  139. package/lib/typescript/NativeQuickCrypto/NativeQuickCrypto.d.ts.map +0 -1
  140. package/lib/typescript/NativeQuickCrypto/aes.d.ts.map +0 -1
  141. package/lib/typescript/NativeQuickCrypto/hash.d.ts.map +0 -1
  142. package/lib/typescript/NativeQuickCrypto/hmac.d.ts.map +0 -1
  143. package/lib/typescript/NativeQuickCrypto/keygen.d.ts.map +0 -1
  144. package/lib/typescript/NativeQuickCrypto/pbkdf2.d.ts.map +0 -1
  145. package/lib/typescript/NativeQuickCrypto/random.d.ts.map +0 -1
  146. package/lib/typescript/NativeQuickCrypto/rsa.d.ts.map +0 -1
  147. package/lib/typescript/NativeQuickCrypto/sig.d.ts.map +0 -1
  148. package/lib/typescript/NativeQuickCrypto/webcrypto.d.ts.map +0 -1
  149. package/lib/typescript/Utils.d.ts.map +0 -1
  150. package/lib/typescript/aes.d.ts.map +0 -1
  151. package/lib/typescript/constants.d.ts.map +0 -1
  152. package/lib/typescript/ec.d.ts.map +0 -1
  153. package/lib/typescript/index.d.ts.map +0 -1
  154. package/lib/typescript/keygen.d.ts.map +0 -1
  155. package/lib/typescript/keys.d.ts.map +0 -1
  156. package/lib/typescript/pbkdf2.d.ts.map +0 -1
  157. package/lib/typescript/random.d.ts.map +0 -1
  158. package/lib/typescript/rsa.d.ts.map +0 -1
  159. package/lib/typescript/sig.d.ts.map +0 -1
  160. package/lib/typescript/subtle.d.ts.map +0 -1
  161. package/lib/typescript/webcrypto.d.ts.map +0 -1
  162. /package/lib/typescript/{Hash.d.ts → src/Hash.d.ts} +0 -0
  163. /package/lib/typescript/{Hashnames.d.ts → src/Hashnames.d.ts} +0 -0
  164. /package/lib/typescript/{Hmac.d.ts → src/Hmac.d.ts} +0 -0
  165. /package/lib/typescript/{NativeQuickCrypto → src/NativeQuickCrypto}/aes.d.ts +0 -0
  166. /package/lib/typescript/{NativeQuickCrypto → src/NativeQuickCrypto}/hash.d.ts +0 -0
  167. /package/lib/typescript/{NativeQuickCrypto → src/NativeQuickCrypto}/hmac.d.ts +0 -0
  168. /package/lib/typescript/{NativeQuickCrypto → src/NativeQuickCrypto}/keygen.d.ts +0 -0
  169. /package/lib/typescript/{NativeQuickCrypto → src/NativeQuickCrypto}/pbkdf2.d.ts +0 -0
  170. /package/lib/typescript/{NativeQuickCrypto → src/NativeQuickCrypto}/random.d.ts +0 -0
  171. /package/lib/typescript/{NativeQuickCrypto → src/NativeQuickCrypto}/rsa.d.ts +0 -0
  172. /package/lib/typescript/{NativeQuickCrypto → src/NativeQuickCrypto}/sig.d.ts +0 -0
  173. /package/lib/typescript/{aes.d.ts → src/aes.d.ts} +0 -0
  174. /package/lib/typescript/{constants.d.ts → src/constants.d.ts} +0 -0
  175. /package/lib/typescript/{ec.d.ts → src/ec.d.ts} +0 -0
  176. /package/lib/typescript/{keygen.d.ts → src/keygen.d.ts} +0 -0
  177. /package/lib/typescript/{rsa.d.ts → src/rsa.d.ts} +0 -0
  178. /package/lib/typescript/{subtle.d.ts → src/subtle.d.ts} +0 -0
  179. /package/lib/typescript/{webcrypto.d.ts → src/webcrypto.d.ts} +0 -0
@@ -1,11 +1,15 @@
1
1
  "use strict";
2
2
 
3
3
  import { Buffer } from '@craftzdog/react-native-buffer';
4
+ import { Buffer as SBuffer } from 'safe-buffer';
4
5
 
5
6
  // @types/node
6
7
 
7
8
  // TODO(osp) should buffer be part of the Encoding type?
8
9
 
10
+ // These are for shortcomings in @types/node
11
+ // Here we use "*Type" instead of "*Types" like node does.
12
+
9
13
  // Mimics node behavior for default global encoding
10
14
  let defaultEncoding = 'buffer';
11
15
  export function setDefaultEncoding(encoding) {
@@ -88,22 +92,32 @@ export const kEmptyObject = Object.freeze(Object.create(null));
88
92
  // }
89
93
 
90
94
  export function toArrayBuffer(buf) {
91
- if (buf?.buffer?.slice) {
95
+ if (Buffer.isBuffer(buf) && buf?.buffer?.slice) {
92
96
  return buf.buffer.slice(buf.byteOffset, buf.byteOffset + buf.byteLength);
93
97
  }
94
98
  const ab = new ArrayBuffer(buf.length);
95
99
  const view = new Uint8Array(ab);
96
100
  for (let i = 0; i < buf.length; ++i) {
97
- view[i] = buf[i];
101
+ view[i] = SBuffer.isBuffer(buf) ? buf.readUInt8(i) : buf[i];
98
102
  }
99
103
  return ab;
100
104
  }
101
105
  export function bufferLikeToArrayBuffer(buf) {
102
- return Buffer.isBuffer(buf) ? buf.buffer : ArrayBuffer.isView(buf) ? buf.buffer : buf;
106
+ if (Buffer.isBuffer(buf)) {
107
+ return buf.buffer;
108
+ }
109
+ if (SBuffer.isBuffer(buf)) {
110
+ return toArrayBuffer(buf);
111
+ }
112
+ if (ArrayBuffer.isView(buf)) {
113
+ return buf.buffer;
114
+ }
115
+ return buf;
103
116
  }
104
117
  export function binaryLikeToArrayBuffer(input,
105
118
  // CipherKey adds compat with node types
106
119
  encoding = 'utf-8') {
120
+ // string
107
121
  if (typeof input === 'string') {
108
122
  if (encoding === 'buffer') {
109
123
  throw new Error('Cannot create a buffer from a string with a buffer encoding');
@@ -111,28 +125,41 @@ encoding = 'utf-8') {
111
125
  const buffer = Buffer.from(input, encoding);
112
126
  return buffer.buffer.slice(buffer.byteOffset, buffer.byteOffset + buffer.byteLength);
113
127
  }
128
+
129
+ // Buffer
114
130
  if (Buffer.isBuffer(input)) {
115
131
  return toArrayBuffer(input);
116
132
  }
117
133
 
134
+ // ArrayBufferView
118
135
  // TODO add further binary types to BinaryLike, UInt8Array and so for have this array as property
119
136
  if (ArrayBuffer.isView(input)) {
120
137
  return input.buffer;
121
138
  }
122
- if (!(input instanceof ArrayBuffer)) {
123
- try {
124
- // this is a strange fallback case and input is unknown at this point
125
- // @ts-expect-error
126
- const buffer = Buffer.from(input);
127
- return buffer.buffer.slice(buffer.byteOffset, buffer.byteOffset + buffer.byteLength);
128
- } catch {
129
- throw 'error';
130
- }
139
+
140
+ // ArrayBuffer
141
+ if (input instanceof ArrayBuffer) {
142
+ return input;
131
143
  }
132
144
 
145
+ // if (!(input instanceof ArrayBuffer)) {
146
+ // try {
147
+ // // this is a strange fallback case and input is unknown at this point
148
+ // const buffer = Buffer.from(input as unknown as string);
149
+ // return buffer.buffer.slice(
150
+ // buffer.byteOffset,
151
+ // buffer.byteOffset + buffer.byteLength
152
+ // );
153
+ // } catch(e: unknown) {
154
+ // console.log('throwing 1');
155
+ // const err = e as Error;
156
+ // throw new Error(err.message);
157
+ // }
158
+ // }
159
+
133
160
  // TODO: handle if input is KeyObject?
134
161
 
135
- return input;
162
+ throw new Error('input could not be converted to ArrayBuffer');
136
163
  }
137
164
  export function ab2str(buf, encoding = 'hex') {
138
165
  return Buffer.from(buf).toString(encoding);
@@ -160,7 +187,9 @@ export function validateObject(value, name, options) {
160
187
  }
161
188
  return true;
162
189
  }
163
- export function validateInt32(value, name, min = -2147483648, max = 2147483647) {
190
+ export function validateInt32(
191
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
192
+ value, name, min = -2147483648, max = 2147483647) {
164
193
  // The defaults for min and max correspond to the limits of 32-bit integers.
165
194
  if (typeof value !== 'number') {
166
195
  throw new Error(`Invalid argument - ${name} is not a number: ${value}`);
@@ -224,76 +253,76 @@ const kMaxBufferLength = 2 ** 31 - 1;
224
253
  // const kHashTypes = ['SHA-1', 'SHA-256', 'SHA-384', 'SHA-512'];
225
254
 
226
255
  const kSupportedAlgorithms = {
227
- 'digest': {
256
+ digest: {
228
257
  'SHA-1': null,
229
258
  'SHA-256': null,
230
259
  'SHA-384': null,
231
260
  'SHA-512': null
232
261
  },
233
- 'generateKey': {
262
+ generateKey: {
234
263
  'RSASSA-PKCS1-v1_5': 'RsaHashedKeyGenParams',
235
264
  'RSA-PSS': 'RsaHashedKeyGenParams',
236
265
  'RSA-OAEP': 'RsaHashedKeyGenParams',
237
- 'ECDSA': 'EcKeyGenParams',
238
- 'ECDH': 'EcKeyGenParams',
266
+ ECDSA: 'EcKeyGenParams',
267
+ ECDH: 'EcKeyGenParams',
239
268
  'AES-CTR': 'AesKeyGenParams',
240
269
  'AES-CBC': 'AesKeyGenParams',
241
270
  'AES-GCM': 'AesKeyGenParams',
242
271
  'AES-KW': 'AesKeyGenParams',
243
- 'HMAC': 'HmacKeyGenParams',
244
- 'X25519': null,
245
- 'Ed25519': null,
246
- 'X448': null,
247
- 'Ed448': null
272
+ HMAC: 'HmacKeyGenParams',
273
+ X25519: null,
274
+ Ed25519: null,
275
+ X448: null,
276
+ Ed448: null
248
277
  },
249
- 'sign': {
278
+ sign: {
250
279
  'RSASSA-PKCS1-v1_5': null,
251
280
  'RSA-PSS': 'RsaPssParams',
252
- 'ECDSA': 'EcdsaParams',
253
- 'HMAC': null,
254
- 'Ed25519': null,
255
- 'Ed448': 'Ed448Params'
281
+ ECDSA: 'EcdsaParams',
282
+ HMAC: null,
283
+ Ed25519: null,
284
+ Ed448: 'Ed448Params'
256
285
  },
257
- 'verify': {
286
+ verify: {
258
287
  'RSASSA-PKCS1-v1_5': null,
259
288
  'RSA-PSS': 'RsaPssParams',
260
- 'ECDSA': 'EcdsaParams',
261
- 'HMAC': null,
262
- 'Ed25519': null,
263
- 'Ed448': 'Ed448Params'
289
+ ECDSA: 'EcdsaParams',
290
+ HMAC: null,
291
+ Ed25519: null,
292
+ Ed448: 'Ed448Params'
264
293
  },
265
- 'importKey': {
294
+ importKey: {
266
295
  'RSASSA-PKCS1-v1_5': 'RsaHashedImportParams',
267
296
  'RSA-PSS': 'RsaHashedImportParams',
268
297
  'RSA-OAEP': 'RsaHashedImportParams',
269
- 'ECDSA': 'EcKeyImportParams',
270
- 'ECDH': 'EcKeyImportParams',
271
- 'HMAC': 'HmacImportParams',
272
- 'HKDF': null,
273
- 'PBKDF2': null,
298
+ ECDSA: 'EcKeyImportParams',
299
+ ECDH: 'EcKeyImportParams',
300
+ HMAC: 'HmacImportParams',
301
+ HKDF: null,
302
+ PBKDF2: null,
274
303
  'AES-CTR': null,
275
304
  'AES-CBC': null,
276
305
  'AES-GCM': null,
277
306
  'AES-KW': null,
278
- 'Ed25519': null,
279
- 'X25519': null,
280
- 'Ed448': null,
281
- 'X448': null
307
+ Ed25519: null,
308
+ X25519: null,
309
+ Ed448: null,
310
+ X448: null
282
311
  },
283
- 'deriveBits': {
312
+ deriveBits: {
284
313
  HKDF: 'HkdfParams',
285
314
  PBKDF2: 'Pbkdf2Params',
286
315
  ECDH: 'EcdhKeyDeriveParams',
287
316
  X25519: 'EcdhKeyDeriveParams',
288
317
  X448: 'EcdhKeyDeriveParams'
289
318
  },
290
- 'encrypt': {
319
+ encrypt: {
291
320
  'RSA-OAEP': 'RsaOaepParams',
292
321
  'AES-CBC': 'AesCbcParams',
293
322
  'AES-GCM': 'AesGcmParams',
294
323
  'AES-CTR': 'AesCtrParams'
295
324
  },
296
- 'decrypt': {
325
+ decrypt: {
297
326
  'RSA-OAEP': 'RsaOaepParams',
298
327
  'AES-CBC': 'AesCbcParams',
299
328
  'AES-GCM': 'AesGcmParams',
@@ -304,14 +333,14 @@ const kSupportedAlgorithms = {
304
333
  'AES-CTR': 'AesDerivedKeyParams',
305
334
  'AES-GCM': 'AesDerivedKeyParams',
306
335
  'AES-KW': 'AesDerivedKeyParams',
307
- 'HMAC': 'HmacImportParams',
308
- 'HKDF': null,
309
- 'PBKDF2': null
336
+ HMAC: 'HmacImportParams',
337
+ HKDF: null,
338
+ PBKDF2: null
310
339
  },
311
- 'wrapKey': {
340
+ wrapKey: {
312
341
  'AES-KW': null
313
342
  },
314
- 'unwrapKey': {
343
+ unwrapKey: {
315
344
  'AES-KW': null
316
345
  }
317
346
  };
@@ -355,7 +384,7 @@ const simpleAlgorithmDictionaries = {
355
384
  EcKeyImportParams: {}
356
385
  };
357
386
  export const validateMaxBufferLength = (data, name) => {
358
- const length = typeof data === 'string' ? data.length : data.byteLength;
387
+ const length = typeof data === 'string' || data instanceof SBuffer ? data.length : data.byteLength;
359
388
  if (length > kMaxBufferLength) {
360
389
  throw lazyDOMException(`${name} must be less than ${kMaxBufferLength + 1} bits`, 'OperationError');
361
390
  }
@@ -382,20 +411,18 @@ export const normalizeAlgorithm = (algorithm, op) => {
382
411
 
383
412
  // 4.
384
413
  let algName = algorithm.name;
385
- // @ts-expect-error
386
414
  if (algName === undefined) return {
387
- name: undefined
415
+ name: 'unknown'
388
416
  };
389
417
 
390
418
  // 5.
391
419
  let desiredType;
392
420
  for (const key in registeredAlgorithms) {
393
- if (!registeredAlgorithms.hasOwnProperty(key)) {
421
+ if (!Object.prototype.hasOwnProperty.call(registeredAlgorithms, key)) {
394
422
  continue;
395
423
  }
396
424
  if (key.toUpperCase() === algName.toUpperCase()) {
397
425
  algName = key;
398
- // @ts-ignore
399
426
  desiredType = registeredAlgorithms[algName];
400
427
  }
401
428
  }
@@ -422,7 +449,7 @@ export const normalizeAlgorithm = (algorithm, op) => {
422
449
  const dictKeys = dict ? Object.keys(dict) : [];
423
450
  for (let i = 0; i < dictKeys.length; i++) {
424
451
  const member = dictKeys[i] || '';
425
- if (!dict?.hasOwnProperty(member)) continue;
452
+ if (!Object.prototype.hasOwnProperty.call(dict, member)) continue;
426
453
  // TODO: implement this? Maybe via typescript?
427
454
  // const idlType = dict[member];
428
455
  // const idlValue = normalizedAlgorithm[member];
@@ -457,7 +484,7 @@ export const validateBitLength = (length, name, required = false) => {
457
484
  }
458
485
  };
459
486
  export const validateByteLength = (buf, name, target) => {
460
- if (buf.byteLength !== target) {
487
+ if (SBuffer.isBuffer(buf) && buf.length !== target || buf.byteLength !== target) {
461
488
  throw lazyDOMException(`${name} must contain exactly ${target} bytes`, 'OperationError');
462
489
  }
463
490
  };
@@ -491,9 +518,7 @@ export const validateKeyOps = (keyOps, usagesSet) => {
491
518
  // Skipping unknown key ops
492
519
  if (op_flag === undefined) continue;
493
520
  // Have we seen it already? if so, error
494
- // eslint-disable-next-line no-bitwise
495
521
  if (flags & 1 << op_flag) throw lazyDOMException('Duplicate key operation', 'DataError');
496
- // eslint-disable-next-line no-bitwise
497
522
  flags |= 1 << op_flag;
498
523
 
499
524
  // TODO(@jasnell): RFC7517 section 4.3 strong recommends validating
@@ -521,12 +546,20 @@ export const bigIntArrayToUnsignedInt = input => {
521
546
  for (let n = 0; n < input.length; ++n) {
522
547
  const n_reversed = input.length - n - 1;
523
548
  if (n_reversed >= 4 && input[n]) return; // Too large
524
- // @ts-ignore
525
- // eslint-disable-next-line no-bitwise
549
+ // @ts-expect-error - input[n] is possibly undefined
526
550
  result |= input[n] << 8 * n_reversed;
527
551
  }
528
552
  return result;
529
553
  };
554
+ export function abvToArrayBuffer(buffer) {
555
+ if (Buffer.isBuffer(buffer)) {
556
+ return buffer.buffer;
557
+ }
558
+ if (ArrayBuffer.isView(buffer)) {
559
+ return buffer.buffer;
560
+ }
561
+ return buffer;
562
+ }
530
563
 
531
564
  // TODO: these used to be shipped by crypto-browserify in quickcrypto v0.6
532
565
  // could instead fetch from OpenSSL if needed and handle breaking changes
@@ -1 +1 @@
1
- {"version":3,"names":["Buffer","defaultEncoding","setDefaultEncoding","encoding","getDefaultEncoding","kEmptyObject","Object","freeze","create","toArrayBuffer","buf","buffer","slice","byteOffset","byteLength","ab","ArrayBuffer","length","view","Uint8Array","i","bufferLikeToArrayBuffer","isBuffer","isView","binaryLikeToArrayBuffer","input","Error","from","ab2str","toString","validateString","str","name","isString","validateFunction","f","isStringOrBuffer","val","validateObject","value","options","useDefaultOptions","allowArray","allowFunction","nullable","Array","isArray","validateInt32","min","max","Number","isInteger","validateUint32","positive","hasAnyNotIn","set","checks","s","includes","lazyDOMException","message","domName","cause","kMaxBufferLength","kSupportedAlgorithms","HKDF","PBKDF2","ECDH","X25519","X448","simpleAlgorithmDictionaries","AesGcmParams","iv","additionalData","RsaHashedKeyGenParams","hash","EcKeyGenParams","HmacKeyGenParams","RsaPssParams","EcdsaParams","HmacImportParams","HkdfParams","salt","info","Ed448Params","context","Pbkdf2Params","RsaOaepParams","label","RsaHashedImportParams","EcKeyImportParams","validateMaxBufferLength","data","normalizeAlgorithm","algorithm","op","registeredAlgorithms","algName","undefined","desiredType","key","hasOwnProperty","toUpperCase","normalizedAlgorithm","dict","dictKeys","keys","member","validateBitLength","required","validateByteLength","target","getUsagesUnion","usageSet","usages","newset","n","push","kKeyOps","sign","verify","encrypt","decrypt","wrapKey","unwrapKey","deriveKey","deriveBits","validateKeyOps","keyOps","usagesSet","flags","op_flag","use","bigIntArrayToUnsignedInt","result","n_reversed","getHashes","getCiphers"],"sourceRoot":"../../src","sources":["Utils.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["Buffer","SBuffer","defaultEncoding","setDefaultEncoding","encoding","getDefaultEncoding","kEmptyObject","Object","freeze","create","toArrayBuffer","buf","isBuffer","buffer","slice","byteOffset","byteLength","ab","ArrayBuffer","length","view","Uint8Array","i","readUInt8","bufferLikeToArrayBuffer","isView","binaryLikeToArrayBuffer","input","Error","from","ab2str","toString","validateString","str","name","isString","validateFunction","f","isStringOrBuffer","val","validateObject","value","options","useDefaultOptions","allowArray","allowFunction","nullable","Array","isArray","validateInt32","min","max","Number","isInteger","validateUint32","positive","hasAnyNotIn","set","checks","s","includes","lazyDOMException","message","domName","cause","kMaxBufferLength","kSupportedAlgorithms","digest","generateKey","ECDSA","ECDH","HMAC","X25519","Ed25519","X448","Ed448","sign","verify","importKey","HKDF","PBKDF2","deriveBits","encrypt","decrypt","wrapKey","unwrapKey","simpleAlgorithmDictionaries","AesGcmParams","iv","additionalData","RsaHashedKeyGenParams","hash","EcKeyGenParams","HmacKeyGenParams","RsaPssParams","EcdsaParams","HmacImportParams","HkdfParams","salt","info","Ed448Params","context","Pbkdf2Params","RsaOaepParams","label","RsaHashedImportParams","EcKeyImportParams","validateMaxBufferLength","data","normalizeAlgorithm","algorithm","op","registeredAlgorithms","algName","undefined","desiredType","key","prototype","hasOwnProperty","call","toUpperCase","normalizedAlgorithm","dict","dictKeys","keys","member","validateBitLength","required","validateByteLength","target","getUsagesUnion","usageSet","usages","newset","n","push","kKeyOps","deriveKey","validateKeyOps","keyOps","usagesSet","flags","op_flag","use","bigIntArrayToUnsignedInt","result","n_reversed","abvToArrayBuffer","getHashes","getCiphers"],"sourceRoot":"../../src","sources":["Utils.ts"],"mappings":"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","ignoreList":[]}
package/lib/module/aes.js CHANGED
@@ -53,7 +53,7 @@ function getVariant(name, length) {
53
53
  case 256:
54
54
  return AESKeyVariant.AES_CBC_256;
55
55
  }
56
- // @ts-ignore
56
+ // @ts-expect-error unreachable code
57
57
  break;
58
58
  case 'AES-CTR':
59
59
  switch (length) {
@@ -64,7 +64,7 @@ function getVariant(name, length) {
64
64
  case 256:
65
65
  return AESKeyVariant.AES_CTR_256;
66
66
  }
67
- // @ts-ignore
67
+ // @ts-expect-error unreachable code
68
68
  break;
69
69
  case 'AES-GCM':
70
70
  switch (length) {
@@ -75,7 +75,7 @@ function getVariant(name, length) {
75
75
  case 256:
76
76
  return AESKeyVariant.AES_GCM_256;
77
77
  }
78
- // @ts-ignore
78
+ // @ts-expect-error unreachable code
79
79
  break;
80
80
  case 'AES-KW':
81
81
  switch (length) {
@@ -86,11 +86,11 @@ function getVariant(name, length) {
86
86
  case 256:
87
87
  return AESKeyVariant.AES_KW_256;
88
88
  }
89
- // @ts-ignore
89
+ // @ts-expect-error unreachable code
90
90
  break;
91
91
  }
92
92
 
93
- // @ts-ignore
93
+ // @ts-expect-error unreachable code
94
94
  throw lazyDOMException(`Error getting variant ${name} at length: ${length}`, 'DataError');
95
95
  }
96
96
  function asyncAesCtrCipher(mode, key, data, {
@@ -164,7 +164,8 @@ function asyncAesGcmCipher(mode, key, data, {
164
164
  }
165
165
  return NativeQuickCrypto.webcrypto.aesCipher(mode, key.keyObject.handle, data, getVariant('AES-GCM', key.algorithm.length), bufferLikeToArrayBuffer(iv), length, bufferLikeToArrayBuffer(tag), bufferLikeToArrayBuffer(additionalData || new ArrayBuffer(0)));
166
166
  }
167
- export const aesCipher = (mode, key, data, algorithm) => {
167
+ export const aesCipher = (mode, key, data, algorithm // | WrapUnwrapParams
168
+ ) => {
168
169
  switch (algorithm.name) {
169
170
  case 'AES-CTR':
170
171
  return asyncAesCtrCipher(mode, key, data, algorithm);
@@ -228,9 +229,9 @@ export const aesImportKey = async (algorithm, format, keyData, extractable, keyU
228
229
  switch (format) {
229
230
  case 'raw':
230
231
  {
231
- const data = keyData;
232
+ const data = bufferLikeToArrayBuffer(keyData);
232
233
  validateKeyLength(data.byteLength * 8);
233
- keyObject = createSecretKey(keyData);
234
+ keyObject = createSecretKey(data);
234
235
  break;
235
236
  }
236
237
  case 'jwk':
@@ -1 +1 @@
1
- {"version":3,"names":["NativeQuickCrypto","lazyDOMException","hasAnyNotIn","validateKeyOps","validateByteLength","validateMaxBufferLength","bufferLikeToArrayBuffer","CryptoKey","createSecretKey","SecretKeyObject","CipherOrWrapMode","generateKeyPromise","AESKeyVariant","kMaxCounterLength","kTagLengths","kAesKeyLengths","getAlgorithmName","name","length","undefined","validateKeyLength","getVariant","AES_CBC_128","AES_CBC_192","AES_CBC_256","AES_CTR_128","AES_CTR_192","AES_CTR_256","AES_GCM_128","AES_GCM_192","AES_GCM_256","AES_KW_128","AES_KW_192","AES_KW_256","asyncAesCtrCipher","mode","key","data","counter","webcrypto","aesCipher","keyObject","handle","algorithm","asyncAesCbcCipher","iv","asyncAesGcmCipher","additionalData","tagLength","includes","tagByteLength","Math","floor","tag","ArrayBuffer","kWebCryptoCipherDecrypt","slice","byteLength","kWebCryptoCipherEncrypt","Error","aesGenerateKey","extractable","keyUsages","checkUsages","push","err","message","cause","Array","from","aesImportKey","format","keyData","kty","use","key_ops","ext","createKeyObjectHandle","initJwk","keyDetail","alg"],"sourceRoot":"../../src","sources":["aes.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["NativeQuickCrypto","lazyDOMException","hasAnyNotIn","validateKeyOps","validateByteLength","validateMaxBufferLength","bufferLikeToArrayBuffer","CryptoKey","createSecretKey","SecretKeyObject","CipherOrWrapMode","generateKeyPromise","AESKeyVariant","kMaxCounterLength","kTagLengths","kAesKeyLengths","getAlgorithmName","name","length","undefined","validateKeyLength","getVariant","AES_CBC_128","AES_CBC_192","AES_CBC_256","AES_CTR_128","AES_CTR_192","AES_CTR_256","AES_GCM_128","AES_GCM_192","AES_GCM_256","AES_KW_128","AES_KW_192","AES_KW_256","asyncAesCtrCipher","mode","key","data","counter","webcrypto","aesCipher","keyObject","handle","algorithm","asyncAesCbcCipher","iv","asyncAesGcmCipher","additionalData","tagLength","includes","tagByteLength","Math","floor","tag","ArrayBuffer","kWebCryptoCipherDecrypt","slice","byteLength","kWebCryptoCipherEncrypt","Error","aesGenerateKey","extractable","keyUsages","checkUsages","push","err","message","cause","Array","from","aesImportKey","format","keyData","kty","use","key_ops","ext","createKeyObjectHandle","initJwk","keyDetail","alg"],"sourceRoot":"../../src","sources":["aes.ts"],"mappings":"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","ignoreList":[]}
package/lib/module/ec.js CHANGED
@@ -161,7 +161,7 @@ export function ecImportKey(format, keyData, algorithm, extractable, keyUsages)
161
161
  {
162
162
  const data = keyData;
163
163
  verifyAcceptableEcKeyUse(name, true, keyUsages);
164
- let buffer = typeof data === 'string' ? binaryLikeToArrayBuffer(data) : bufferLikeToArrayBuffer(data);
164
+ const buffer = typeof data === 'string' ? binaryLikeToArrayBuffer(data) : bufferLikeToArrayBuffer(data);
165
165
  keyObject = createECPublicKeyRaw(namedCurve, buffer);
166
166
  break;
167
167
  }
@@ -218,8 +218,7 @@ export const ecGenerateKey = async (algorithm, extractable, keyUsages) => {
218
218
  // const usageSet = new SafeSet(keyUsages);
219
219
  switch (name) {
220
220
  case 'ECDSA':
221
- const checkUsages = ['sign', 'verify'];
222
- if (hasAnyNotIn(keyUsages, checkUsages)) {
221
+ if (hasAnyNotIn(keyUsages, ['sign', 'verify'])) {
223
222
  throw lazyDOMException('Unsupported key usage for an ECDSA key', 'SyntaxError');
224
223
  }
225
224
  break;
@@ -1 +1 @@
1
- {"version":3,"names":["generateKeyPairPromise","NativeQuickCrypto","DSASigEnc","SignMode","bufferLikeToArrayBuffer","binaryLikeToArrayBuffer","lazyDOMException","validateKeyOps","hasAnyNotIn","ab2str","getUsagesUnion","normalizeHashName","kNamedCurveAliases","PublicKeyObject","CryptoKey","PrivateKeyObject","KeyType","verifyAcceptableEcKeyUse","name","isPublic","usages","checkSet","createECPublicKeyRaw","namedCurve","keyData","Error","handle","webcrypto","createKeyObjectHandle","initECRaw","console","log","ecExportKey","key","format","keyObject","ecImportKey","algorithm","extractable","keyUsages","data","kty","crv","d","undefined","length","use","checkUse","key_ops","ext","alg","algNamedCurve","type","initJwk","Private","buffer","asymmetricKeyType","ecdsaSignVerify","hash","signature","mode","kSignJobModeSign","kSignJobModeVerify","hashname","signVerify","kSigEncP1363","ArrayBuffer","ecGenerateKey","Object","keys","includes","checkUsages","options","err","keypair","cause","publicUsages","privateUsages","keyAlgorithm","pub","publicKey","priv","privateKey"],"sourceRoot":"../../src","sources":["ec.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["generateKeyPairPromise","NativeQuickCrypto","DSASigEnc","SignMode","bufferLikeToArrayBuffer","binaryLikeToArrayBuffer","lazyDOMException","validateKeyOps","hasAnyNotIn","ab2str","getUsagesUnion","normalizeHashName","kNamedCurveAliases","PublicKeyObject","CryptoKey","PrivateKeyObject","KeyType","verifyAcceptableEcKeyUse","name","isPublic","usages","checkSet","createECPublicKeyRaw","namedCurve","keyData","Error","handle","webcrypto","createKeyObjectHandle","initECRaw","console","log","ecExportKey","key","format","keyObject","ecImportKey","algorithm","extractable","keyUsages","data","kty","crv","d","undefined","length","use","checkUse","key_ops","ext","alg","algNamedCurve","type","initJwk","Private","buffer","asymmetricKeyType","ecdsaSignVerify","hash","signature","mode","kSignJobModeSign","kSignJobModeVerify","hashname","signVerify","kSigEncP1363","ArrayBuffer","ecGenerateKey","Object","keys","includes","options","err","keypair","cause","publicUsages","privateUsages","keyAlgorithm","pub","publicKey","priv","privateKey"],"sourceRoot":"../../src","sources":["ec.ts"],"mappings":"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","ignoreList":[]}
@@ -4,7 +4,8 @@ import { NativeQuickCrypto } from './NativeQuickCrypto/NativeQuickCrypto';
4
4
  import { lazyDOMException, validateFunction } from './Utils';
5
5
  import { kAesKeyLengths } from './aes';
6
6
  import { SecretKeyObject } from './keys';
7
- export const generateKeyPromise = (type, options) => {
7
+ export const generateKeyPromise = (type, options // | HmacKeyGenParams
8
+ ) => {
8
9
  return new Promise((resolve, reject) => {
9
10
  generateKey(type, options, (err, key) => {
10
11
  if (err) {
@@ -25,7 +26,8 @@ export const generateKey = (type, options, callback) => {
25
26
  callback(err, undefined);
26
27
  });
27
28
  };
28
- export const generateKeySync = (type, options) => {
29
+ export const generateKeySync = (type, options // | HmacKeyGenParams,
30
+ ) => {
29
31
  validateLength(type, options.length);
30
32
  const handle = NativeQuickCrypto.webcrypto.generateSecretKeySync(options.length);
31
33
  return new SecretKeyObject(handle);
@@ -1 +1 @@
1
- {"version":3,"names":["NativeQuickCrypto","lazyDOMException","validateFunction","kAesKeyLengths","SecretKeyObject","generateKeyPromise","type","options","Promise","resolve","reject","generateKey","err","key","undefined","callback","validateLength","length","webcrypto","generateSecretKey","then","handle","catch","generateKeySync","generateSecretKeySync","includes","Error"],"sourceRoot":"../../src","sources":["keygen.ts"],"mappings":";;AAAA,SAASA,iBAAiB,QAAQ,uCAAuC;AACzE,SAASC,gBAAgB,EAAEC,gBAAgB,QAAQ,SAAS;AAC5D,SAASC,cAAc,QAAQ,OAAO;AACtC,SACEC,eAAe,QAGV,QAAQ;AAOf,OAAO,MAAMC,kBAAkB,GAAGA,CAChCC,IAAmB,EACnBC,OAAwB,KACsC;EAC9D,OAAO,IAAIC,OAAO,CAAC,CAACC,OAAO,EAAEC,MAAM,KAAK;IACtCC,WAAW,CAACL,IAAI,EAAEC,OAAO,EAAE,CAACK,GAAG,EAAEC,GAAG,KAAK;MACvC,IAAID,GAAG,EAAE;QACPF,MAAM,CAAC,CAACE,GAAG,EAAEE,SAAS,CAAC,CAAC;MAC1B;MACAL,OAAO,CAAC,CAACK,SAAS,EAAED,GAAG,CAAC,CAAC;IAC3B,CAAC,CAAC;EACJ,CAAC,CAAC;AACJ,CAAC;AAED,OAAO,MAAMF,WAAW,GAAGA,CACzBL,IAAmB,EACnBC,OAAwB,EACxBQ,QAAwB,KACf;EACTC,cAAc,CAACV,IAAI,EAAEC,OAAO,CAACU,MAAM,CAAC;EACpC,IAAI,CAACf,gBAAgB,CAACa,QAAQ,CAAC,EAAE;IAC/B,MAAMd,gBAAgB,CAAC,4BAA4B,EAAE,aAAa,CAAC;EACrE;EACAD,iBAAiB,CAACkB,SAAS,CACxBC,iBAAiB,CAACZ,OAAO,CAACU,MAAM,CAAC,CACjCG,IAAI,CAAEC,MAAM,IAAK;IAChBN,QAAQ,CAACD,SAAS,EAAE,IAAIV,eAAe,CAACiB,MAAM,CAAC,CAAC;EAClD,CAAC,CAAC,CACDC,KAAK,CAAEV,GAAG,IAAK;IACdG,QAAQ,CAACH,GAAG,EAAEE,SAAS,CAAC;EAC1B,CAAC,CAAC;AACN,CAAC;AAED,OAAO,MAAMS,eAAe,GAAGA,CAC7BjB,IAAmB,EACnBC,OAAwB,KACJ;EACpBS,cAAc,CAACV,IAAI,EAAEC,OAAO,CAACU,MAAM,CAAC;EACpC,MAAMI,MAAM,GAAGrB,iBAAiB,CAACkB,SAAS,CAACM,qBAAqB,CAC9DjB,OAAO,CAACU,MACV,CAAC;EACD,OAAO,IAAIb,eAAe,CAACiB,MAAM,CAAC;AACpC,CAAC;AAED,MAAML,cAAc,GAAGA,CAACV,IAAmB,EAAEW,MAAc,KAAK;EAC9D,QAAQX,IAAI;IACV,KAAK,KAAK;MACR,IAAI,CAACH,cAAc,CAACsB,QAAQ,CAACR,MAAM,CAAC,EAAE;QACpC,MAAMhB,gBAAgB,CACpB,8CAA8C,EAC9C,gBACF,CAAC;MACH;MACA;IACF,KAAK,MAAM;MACT,IAAIgB,MAAM,GAAG,CAAC,IAAIA,MAAM,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,EAAE;QACtC,MAAMhB,gBAAgB,CACpB,gDAAgD,EAChD,gBACF,CAAC;MACH;MACA;IACF;MACE,MAAM,IAAIyB,KAAK,CAAE,yBAAwBpB,IAAK,qBAAoB,CAAC;EACvE;AACF,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["NativeQuickCrypto","lazyDOMException","validateFunction","kAesKeyLengths","SecretKeyObject","generateKeyPromise","type","options","Promise","resolve","reject","generateKey","err","key","undefined","callback","validateLength","length","webcrypto","generateSecretKey","then","handle","catch","generateKeySync","generateSecretKeySync","includes","Error"],"sourceRoot":"../../src","sources":["keygen.ts"],"mappings":";;AAAA,SAASA,iBAAiB,QAAQ,uCAAuC;AACzE,SAASC,gBAAgB,EAAEC,gBAAgB,QAAQ,SAAS;AAC5D,SAASC,cAAc,QAAQ,OAAO;AACtC,SACEC,eAAe,QAGV,QAAQ;AAOf,OAAO,MAAMC,kBAAkB,GAAGA,CAChCC,IAAmB,EACnBC,OAAwB,CAAE;AAAA,KACoC;EAC9D,OAAO,IAAIC,OAAO,CAAC,CAACC,OAAO,EAAEC,MAAM,KAAK;IACtCC,WAAW,CAACL,IAAI,EAAEC,OAAO,EAAE,CAACK,GAAG,EAAEC,GAAG,KAAK;MACvC,IAAID,GAAG,EAAE;QACPF,MAAM,CAAC,CAACE,GAAG,EAAEE,SAAS,CAAC,CAAC;MAC1B;MACAL,OAAO,CAAC,CAACK,SAAS,EAAED,GAAG,CAAC,CAAC;IAC3B,CAAC,CAAC;EACJ,CAAC,CAAC;AACJ,CAAC;AAED,OAAO,MAAMF,WAAW,GAAGA,CACzBL,IAAmB,EACnBC,OAAwB,EACxBQ,QAAwB,KACf;EACTC,cAAc,CAACV,IAAI,EAAEC,OAAO,CAACU,MAAM,CAAC;EACpC,IAAI,CAACf,gBAAgB,CAACa,QAAQ,CAAC,EAAE;IAC/B,MAAMd,gBAAgB,CAAC,4BAA4B,EAAE,aAAa,CAAC;EACrE;EACAD,iBAAiB,CAACkB,SAAS,CACxBC,iBAAiB,CAACZ,OAAO,CAACU,MAAM,CAAC,CACjCG,IAAI,CAAEC,MAAM,IAAK;IAChBN,QAAQ,CAACD,SAAS,EAAE,IAAIV,eAAe,CAACiB,MAAM,CAAC,CAAC;EAClD,CAAC,CAAC,CACDC,KAAK,CAAEV,GAAG,IAAK;IACdG,QAAQ,CAACH,GAAG,EAAEE,SAAS,CAAC;EAC1B,CAAC,CAAC;AACN,CAAC;AAED,OAAO,MAAMS,eAAe,GAAGA,CAC7BjB,IAAmB,EACnBC,OAAwB,CAAE;AAAA,KACN;EACpBS,cAAc,CAACV,IAAI,EAAEC,OAAO,CAACU,MAAM,CAAC;EACpC,MAAMI,MAAM,GAAGrB,iBAAiB,CAACkB,SAAS,CAACM,qBAAqB,CAC9DjB,OAAO,CAACU,MACV,CAAC;EACD,OAAO,IAAIb,eAAe,CAACiB,MAAM,CAAC;AACpC,CAAC;AAED,MAAML,cAAc,GAAGA,CAACV,IAAmB,EAAEW,MAAc,KAAK;EAC9D,QAAQX,IAAI;IACV,KAAK,KAAK;MACR,IAAI,CAACH,cAAc,CAACsB,QAAQ,CAACR,MAAM,CAAC,EAAE;QACpC,MAAMhB,gBAAgB,CACpB,8CAA8C,EAC9C,gBACF,CAAC;MACH;MACA;IACF,KAAK,MAAM;MACT,IAAIgB,MAAM,GAAG,CAAC,IAAIA,MAAM,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,EAAE;QACtC,MAAMhB,gBAAgB,CACpB,gDAAgD,EAChD,gBACF,CAAC;MACH;MACA;IACF;MACE,MAAM,IAAIyB,KAAK,CAAC,yBAAyBpB,IAAI,qBAAqB,CAAC;EACvE;AACF,CAAC","ignoreList":[]}
@@ -236,12 +236,12 @@ function prepareSecretKey(key, encoding, bufferOnly = false) {
236
236
  // TODO: maybe use `key.constructor.name === 'KeyObject'` ?
237
237
  if (key instanceof KeyObject) {
238
238
  if (key.type !== 'secret') throw new Error(`invalid KeyObject type: ${key.type}, expected 'secret'`);
239
- return key.handle;
239
+ return key.handle.export();
240
240
  }
241
241
  // TODO: maybe use `key.constructor.name === 'CryptoKey'` ?
242
242
  else if (key instanceof CryptoKey) {
243
243
  if (key.type !== 'secret') throw new Error(`invalid CryptoKey type: ${key.type}, expected 'secret'`);
244
- return key.keyObject.handle;
244
+ return key.keyObject.handle.export();
245
245
  }
246
246
  }
247
247
  if (key instanceof ArrayBuffer) {
@@ -302,6 +302,8 @@ export class CryptoKey {
302
302
  this.keyUsages = keyUsages;
303
303
  this.keyExtractable = keyExtractable;
304
304
  }
305
+
306
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars, @typescript-eslint/no-explicit-any
305
307
  inspect(_depth, _options) {
306
308
  throw new Error('CryptoKey.inspect is not implemented');
307
309
  // if (depth < 0) return this;
@@ -337,6 +339,7 @@ export class CryptoKey {
337
339
  }
338
340
  class KeyObject {
339
341
  type = 'unknown';
342
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
340
343
  export(_options) {
341
344
  return new ArrayBuffer(0);
342
345
  }
@@ -471,6 +474,8 @@ export class PrivateKeyObject extends AsymmetricKeyObject {
471
474
  return this.handle.export(format, type, cipher, passphrase);
472
475
  }
473
476
  }
477
+
478
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
474
479
  export const isCryptoKey = obj => {
475
480
  return obj !== null && obj?.keyObject !== undefined;
476
481
  };