react-native-quick-crypto 1.0.0-beta.21 → 1.0.0-beta.22

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 (52) hide show
  1. package/QuickCrypto.podspec +11 -1
  2. package/android/CMakeLists.txt +2 -0
  3. package/cpp/cipher/GCMCipher.cpp +68 -0
  4. package/cpp/cipher/GCMCipher.hpp +14 -0
  5. package/cpp/cipher/HybridCipherFactory.hpp +8 -0
  6. package/cpp/cipher/HybridRsaCipher.cpp +229 -0
  7. package/cpp/cipher/HybridRsaCipher.hpp +23 -0
  8. package/cpp/keys/HybridKeyObjectHandle.cpp +508 -9
  9. package/cpp/keys/HybridKeyObjectHandle.hpp +10 -1
  10. package/cpp/utils/base64.h +309 -0
  11. package/lib/commonjs/ec.js +85 -17
  12. package/lib/commonjs/ec.js.map +1 -1
  13. package/lib/commonjs/specs/rsaCipher.nitro.js +6 -0
  14. package/lib/commonjs/specs/rsaCipher.nitro.js.map +1 -0
  15. package/lib/commonjs/subtle.js +420 -17
  16. package/lib/commonjs/subtle.js.map +1 -1
  17. package/lib/commonjs/utils/conversion.js +1 -1
  18. package/lib/commonjs/utils/conversion.js.map +1 -1
  19. package/lib/module/ec.js +86 -18
  20. package/lib/module/ec.js.map +1 -1
  21. package/lib/module/specs/rsaCipher.nitro.js +4 -0
  22. package/lib/module/specs/rsaCipher.nitro.js.map +1 -0
  23. package/lib/module/subtle.js +421 -18
  24. package/lib/module/subtle.js.map +1 -1
  25. package/lib/module/utils/conversion.js +1 -1
  26. package/lib/module/utils/conversion.js.map +1 -1
  27. package/lib/tsconfig.tsbuildinfo +1 -1
  28. package/lib/typescript/ec.d.ts.map +1 -1
  29. package/lib/typescript/specs/keyObjectHandle.nitro.d.ts +1 -0
  30. package/lib/typescript/specs/keyObjectHandle.nitro.d.ts.map +1 -1
  31. package/lib/typescript/specs/rsaCipher.nitro.d.ts +26 -0
  32. package/lib/typescript/specs/rsaCipher.nitro.d.ts.map +1 -0
  33. package/lib/typescript/subtle.d.ts.map +1 -1
  34. package/lib/typescript/utils/conversion.d.ts.map +1 -1
  35. package/lib/typescript/utils/types.d.ts +1 -1
  36. package/lib/typescript/utils/types.d.ts.map +1 -1
  37. package/nitrogen/generated/android/QuickCrypto+autolinking.cmake +1 -0
  38. package/nitrogen/generated/android/QuickCryptoOnLoad.cpp +10 -0
  39. package/nitrogen/generated/ios/QuickCryptoAutolinking.mm +10 -0
  40. package/nitrogen/generated/shared/c++/AsymmetricKeyType.hpp +104 -0
  41. package/nitrogen/generated/shared/c++/HybridKeyObjectHandleSpec.cpp +1 -0
  42. package/nitrogen/generated/shared/c++/HybridKeyObjectHandleSpec.hpp +5 -4
  43. package/nitrogen/generated/shared/c++/HybridRsaCipherSpec.cpp +22 -0
  44. package/nitrogen/generated/shared/c++/HybridRsaCipherSpec.hpp +70 -0
  45. package/package.json +1 -1
  46. package/src/ec.ts +122 -20
  47. package/src/specs/keyObjectHandle.nitro.ts +1 -0
  48. package/src/specs/rsaCipher.nitro.ts +35 -0
  49. package/src/subtle.ts +550 -45
  50. package/src/utils/conversion.ts +3 -1
  51. package/src/utils/types.ts +6 -6
  52. package/nitrogen/generated/shared/c++/CFRGKeyPairType.hpp +0 -84
@@ -13,9 +13,11 @@ var _errors = require("./utils/errors");
13
13
  var _hashnames = require("./utils/hashnames");
14
14
  var _validation = require("./utils/validation");
15
15
  var _hash = require("./hash");
16
+ var _reactNativeNitroModules = require("react-native-nitro-modules");
16
17
  var _pbkdf = require("./pbkdf2");
17
18
  var _ec = require("./ec");
18
19
  var _rsa = require("./rsa");
20
+ var _random = require("./random");
19
21
  /* eslint-disable @typescript-eslint/no-unused-vars */
20
22
  // import { pbkdf2DeriveBits } from './pbkdf2';
21
23
  // import { aesCipher, aesGenerateKey, aesImportKey, getAlgorithmName } from './aes';
@@ -50,29 +52,426 @@ function getAlgorithmName(name, length) {
50
52
  }
51
53
 
52
54
  // Placeholder implementations for missing functions
53
- function ecExportKey(_key, _format) {
54
- throw new Error('ecExportKey not implemented');
55
+ function ecExportKey(key, format) {
56
+ const keyObject = key.keyObject;
57
+ if (format === KWebCryptoKeyFormat.kWebCryptoKeyFormatSPKI) {
58
+ // Export public key in SPKI format
59
+ const exported = keyObject.export({
60
+ format: 'der',
61
+ type: 'spki'
62
+ });
63
+ return (0, _conversion.bufferLikeToArrayBuffer)(exported);
64
+ } else if (format === KWebCryptoKeyFormat.kWebCryptoKeyFormatPKCS8) {
65
+ // Export private key in PKCS8 format
66
+ const exported = keyObject.export({
67
+ format: 'der',
68
+ type: 'pkcs8'
69
+ });
70
+ return (0, _conversion.bufferLikeToArrayBuffer)(exported);
71
+ } else {
72
+ throw new Error(`Unsupported EC export format: ${format}`);
73
+ }
55
74
  }
56
- function rsaExportKey(_key, _format) {
57
- throw new Error('rsaExportKey not implemented');
75
+ function rsaExportKey(key, format) {
76
+ const keyObject = key.keyObject;
77
+ if (format === KWebCryptoKeyFormat.kWebCryptoKeyFormatSPKI) {
78
+ // Export public key in SPKI format
79
+ const exported = keyObject.export({
80
+ format: 'der',
81
+ type: 'spki'
82
+ });
83
+ return (0, _conversion.bufferLikeToArrayBuffer)(exported);
84
+ } else if (format === KWebCryptoKeyFormat.kWebCryptoKeyFormatPKCS8) {
85
+ // Export private key in PKCS8 format
86
+ const exported = keyObject.export({
87
+ format: 'der',
88
+ type: 'pkcs8'
89
+ });
90
+ return (0, _conversion.bufferLikeToArrayBuffer)(exported);
91
+ } else {
92
+ throw new Error(`Unsupported RSA export format: ${format}`);
93
+ }
58
94
  }
59
- function rsaCipher(_mode, _key, _data, _algorithm) {
60
- throw new Error('rsaCipher not implemented');
95
+ async function rsaCipher(mode, key, data, algorithm) {
96
+ const rsaParams = algorithm;
97
+
98
+ // Validate key type matches operation
99
+ const expectedType = mode === CipherOrWrapMode.kWebCryptoCipherEncrypt ? 'public' : 'private';
100
+ if (key.type !== expectedType) {
101
+ throw (0, _errors.lazyDOMException)('The requested operation is not valid for the provided key', 'InvalidAccessError');
102
+ }
103
+
104
+ // Get hash algorithm from key
105
+ const hashAlgorithm = (0, _hashnames.normalizeHashName)(key.algorithm.hash);
106
+
107
+ // Prepare label (optional)
108
+ const label = rsaParams.label ? (0, _conversion.bufferLikeToArrayBuffer)(rsaParams.label) : undefined;
109
+
110
+ // Create RSA cipher instance
111
+ const rsaCipherModule = _reactNativeNitroModules.NitroModules.createHybridObject('RsaCipher');
112
+ if (mode === CipherOrWrapMode.kWebCryptoCipherEncrypt) {
113
+ // Encrypt with public key
114
+ return rsaCipherModule.encrypt(key.keyObject.handle, data, hashAlgorithm, label);
115
+ } else {
116
+ // Decrypt with private key
117
+ return rsaCipherModule.decrypt(key.keyObject.handle, data, hashAlgorithm, label);
118
+ }
61
119
  }
62
- function aesCipher(_mode, _key, _data, _algorithm) {
63
- throw new Error('aesCipher not implemented');
120
+ async function aesCipher(mode, key, data, algorithm) {
121
+ const {
122
+ name
123
+ } = algorithm;
124
+ switch (name) {
125
+ case 'AES-CTR':
126
+ return aesCtrCipher(mode, key, data, algorithm);
127
+ case 'AES-CBC':
128
+ return aesCbcCipher(mode, key, data, algorithm);
129
+ case 'AES-GCM':
130
+ return aesGcmCipher(mode, key, data, algorithm);
131
+ default:
132
+ throw (0, _errors.lazyDOMException)(`Unsupported AES algorithm: ${name}`, 'NotSupportedError');
133
+ }
64
134
  }
65
- async function aesGenerateKey(_algorithm, _extractable, _keyUsages) {
66
- throw new Error('aesGenerateKey not implemented');
135
+ async function aesCtrCipher(mode, key, data, algorithm) {
136
+ // Validate counter and length
137
+ if (!algorithm.counter || algorithm.counter.byteLength !== 16) {
138
+ throw (0, _errors.lazyDOMException)('AES-CTR algorithm.counter must be 16 bytes', 'OperationError');
139
+ }
140
+ if (algorithm.length < 1 || algorithm.length > 128) {
141
+ throw (0, _errors.lazyDOMException)('AES-CTR algorithm.length must be between 1 and 128', 'OperationError');
142
+ }
143
+
144
+ // Get cipher type based on key length
145
+ const keyLength = key.algorithm.length;
146
+ const cipherType = `aes-${keyLength}-ctr`;
147
+
148
+ // Create cipher
149
+ const factory = _reactNativeNitroModules.NitroModules.createHybridObject('CipherFactory');
150
+ const cipher = factory.createCipher({
151
+ isCipher: mode === CipherOrWrapMode.kWebCryptoCipherEncrypt,
152
+ cipherType,
153
+ cipherKey: (0, _conversion.bufferLikeToArrayBuffer)(key.keyObject.export()),
154
+ iv: (0, _conversion.bufferLikeToArrayBuffer)(algorithm.counter)
155
+ });
156
+
157
+ // Process data
158
+ const updated = cipher.update(data);
159
+ const final = cipher.final();
160
+
161
+ // Concatenate results
162
+ const result = new Uint8Array(updated.byteLength + final.byteLength);
163
+ result.set(new Uint8Array(updated), 0);
164
+ result.set(new Uint8Array(final), updated.byteLength);
165
+ return result.buffer;
67
166
  }
68
- function rsaImportKey(_format, _data, _algorithm, _extractable, _keyUsages) {
69
- throw new Error('rsaImportKey not implemented');
167
+ async function aesCbcCipher(mode, key, data, algorithm) {
168
+ // Validate IV
169
+ const iv = (0, _conversion.bufferLikeToArrayBuffer)(algorithm.iv);
170
+ if (iv.byteLength !== 16) {
171
+ throw (0, _errors.lazyDOMException)('algorithm.iv must contain exactly 16 bytes', 'OperationError');
172
+ }
173
+
174
+ // Get cipher type based on key length
175
+ const keyLength = key.algorithm.length;
176
+ const cipherType = `aes-${keyLength}-cbc`;
177
+
178
+ // Create cipher
179
+ const factory = _reactNativeNitroModules.NitroModules.createHybridObject('CipherFactory');
180
+ const cipher = factory.createCipher({
181
+ isCipher: mode === CipherOrWrapMode.kWebCryptoCipherEncrypt,
182
+ cipherType,
183
+ cipherKey: (0, _conversion.bufferLikeToArrayBuffer)(key.keyObject.export()),
184
+ iv
185
+ });
186
+
187
+ // Process data
188
+ const updated = cipher.update(data);
189
+ const final = cipher.final();
190
+
191
+ // Concatenate results
192
+ const result = new Uint8Array(updated.byteLength + final.byteLength);
193
+ result.set(new Uint8Array(updated), 0);
194
+ result.set(new Uint8Array(final), updated.byteLength);
195
+ return result.buffer;
70
196
  }
71
- async function hmacImportKey(_algorithm, _format, _data, _extractable, _keyUsages) {
72
- throw new Error('hmacImportKey not implemented');
197
+ async function aesGcmCipher(mode, key, data, algorithm) {
198
+ const {
199
+ tagLength = 128
200
+ } = algorithm;
201
+
202
+ // Validate tag length
203
+ const validTagLengths = [32, 64, 96, 104, 112, 120, 128];
204
+ if (!validTagLengths.includes(tagLength)) {
205
+ throw (0, _errors.lazyDOMException)(`${tagLength} is not a valid AES-GCM tag length`, 'OperationError');
206
+ }
207
+ const tagByteLength = tagLength / 8;
208
+
209
+ // Get cipher type based on key length
210
+ const keyLength = key.algorithm.length;
211
+ const cipherType = `aes-${keyLength}-gcm`;
212
+
213
+ // Create cipher
214
+ const factory = _reactNativeNitroModules.NitroModules.createHybridObject('CipherFactory');
215
+ const cipher = factory.createCipher({
216
+ isCipher: mode === CipherOrWrapMode.kWebCryptoCipherEncrypt,
217
+ cipherType,
218
+ cipherKey: (0, _conversion.bufferLikeToArrayBuffer)(key.keyObject.export()),
219
+ iv: (0, _conversion.bufferLikeToArrayBuffer)(algorithm.iv),
220
+ authTagLen: tagByteLength
221
+ });
222
+ let processData;
223
+ let authTag;
224
+ if (mode === CipherOrWrapMode.kWebCryptoCipherDecrypt) {
225
+ // For decryption, extract auth tag from end of data
226
+ const dataView = new Uint8Array(data);
227
+ if (dataView.byteLength < tagByteLength) {
228
+ throw (0, _errors.lazyDOMException)('The provided data is too small.', 'OperationError');
229
+ }
230
+
231
+ // Split data and tag
232
+ const ciphertextLength = dataView.byteLength - tagByteLength;
233
+ processData = dataView.slice(0, ciphertextLength).buffer;
234
+ authTag = dataView.slice(ciphertextLength).buffer;
235
+
236
+ // Set auth tag for verification
237
+ cipher.setAuthTag(authTag);
238
+ } else {
239
+ processData = data;
240
+ }
241
+
242
+ // Set additional authenticated data if provided
243
+ if (algorithm.additionalData) {
244
+ cipher.setAAD((0, _conversion.bufferLikeToArrayBuffer)(algorithm.additionalData));
245
+ }
246
+
247
+ // Process data
248
+ const updated = cipher.update(processData);
249
+ const final = cipher.final();
250
+ if (mode === CipherOrWrapMode.kWebCryptoCipherEncrypt) {
251
+ // For encryption, append auth tag to result
252
+ const tag = cipher.getAuthTag();
253
+ const result = new Uint8Array(updated.byteLength + final.byteLength + tag.byteLength);
254
+ result.set(new Uint8Array(updated), 0);
255
+ result.set(new Uint8Array(final), updated.byteLength);
256
+ result.set(new Uint8Array(tag), updated.byteLength + final.byteLength);
257
+ return result.buffer;
258
+ } else {
259
+ // For decryption, just concatenate plaintext
260
+ const result = new Uint8Array(updated.byteLength + final.byteLength);
261
+ result.set(new Uint8Array(updated), 0);
262
+ result.set(new Uint8Array(final), updated.byteLength);
263
+ return result.buffer;
264
+ }
73
265
  }
74
- async function aesImportKey(_algorithm, _format, _data, _extractable, _keyUsages) {
75
- throw new Error('aesImportKey not implemented');
266
+ async function aesGenerateKey(algorithm, extractable, keyUsages) {
267
+ const {
268
+ length
269
+ } = algorithm;
270
+ const name = algorithm.name;
271
+ if (!name) {
272
+ throw (0, _errors.lazyDOMException)('Algorithm name is required', 'OperationError');
273
+ }
274
+
275
+ // Validate key length
276
+ if (![128, 192, 256].includes(length)) {
277
+ throw (0, _errors.lazyDOMException)(`Invalid AES key length: ${length}. Must be 128, 192, or 256.`, 'OperationError');
278
+ }
279
+
280
+ // Validate usages
281
+ const validUsages = ['encrypt', 'decrypt', 'wrapKey', 'unwrapKey'];
282
+ if (hasAnyNotIn(keyUsages, validUsages)) {
283
+ throw (0, _errors.lazyDOMException)(`Unsupported key usage for ${name}`, 'SyntaxError');
284
+ }
285
+
286
+ // Generate random key bytes
287
+ const keyBytes = new Uint8Array(length / 8);
288
+ (0, _random.getRandomValues)(keyBytes);
289
+
290
+ // Create secret key
291
+ const keyObject = (0, _keys.createSecretKey)(keyBytes);
292
+
293
+ // Construct algorithm object with guaranteed name
294
+ const keyAlgorithm = {
295
+ name,
296
+ length
297
+ };
298
+ return new _keys.CryptoKey(keyObject, keyAlgorithm, keyUsages, extractable);
299
+ }
300
+ function rsaImportKey(format, data, algorithm, extractable, keyUsages) {
301
+ const {
302
+ name
303
+ } = algorithm;
304
+
305
+ // Validate usages
306
+ let checkSet;
307
+ switch (name) {
308
+ case 'RSASSA-PKCS1-v1_5':
309
+ case 'RSA-PSS':
310
+ checkSet = ['sign', 'verify'];
311
+ break;
312
+ case 'RSA-OAEP':
313
+ checkSet = ['encrypt', 'decrypt', 'wrapKey', 'unwrapKey'];
314
+ break;
315
+ default:
316
+ throw new Error(`Unsupported RSA algorithm: ${name}`);
317
+ }
318
+ if (hasAnyNotIn(keyUsages, checkSet)) {
319
+ throw new Error(`Unsupported key usage for ${name}`);
320
+ }
321
+ let keyObject;
322
+ if (format === 'jwk') {
323
+ const jwk = data;
324
+
325
+ // Validate JWK
326
+ if (jwk.kty !== 'RSA') {
327
+ throw new Error('Invalid JWK format for RSA key');
328
+ }
329
+ const handle = _reactNativeNitroModules.NitroModules.createHybridObject('KeyObjectHandle');
330
+ const keyType = handle.initJwk(jwk, undefined);
331
+ if (keyType === undefined) {
332
+ throw new Error('Failed to import RSA JWK');
333
+ }
334
+
335
+ // Create the appropriate KeyObject based on type
336
+ if (keyType === 1) {
337
+ keyObject = new _keys.PublicKeyObject(handle);
338
+ } else if (keyType === 2) {
339
+ keyObject = new _keys.PrivateKeyObject(handle);
340
+ } else {
341
+ throw new Error('Unexpected key type from RSA JWK import');
342
+ }
343
+ } else if (format === 'spki') {
344
+ const keyData = (0, _conversion.bufferLikeToArrayBuffer)(data);
345
+ keyObject = _keys.KeyObject.createKeyObject('public', keyData, 'der', 'spki');
346
+ } else if (format === 'pkcs8') {
347
+ const keyData = (0, _conversion.bufferLikeToArrayBuffer)(data);
348
+ keyObject = _keys.KeyObject.createKeyObject('private', keyData, 'der', 'pkcs8');
349
+ } else {
350
+ throw new Error(`Unsupported format for RSA import: ${format}`);
351
+ }
352
+
353
+ // Get the modulus length from the key and add it to the algorithm
354
+ const keyDetails = keyObject.asymmetricKeyDetails;
355
+
356
+ // Convert publicExponent number to big-endian byte array
357
+ let publicExponentBytes;
358
+ if (keyDetails?.publicExponent) {
359
+ const exp = keyDetails.publicExponent;
360
+ // Convert number to big-endian bytes
361
+ const bytes = [];
362
+ let value = exp;
363
+ while (value > 0) {
364
+ bytes.unshift(value & 0xff);
365
+ value = Math.floor(value / 256);
366
+ }
367
+ publicExponentBytes = new Uint8Array(bytes.length > 0 ? bytes : [0]);
368
+ }
369
+ const algorithmWithDetails = {
370
+ ...algorithm,
371
+ modulusLength: keyDetails?.modulusLength,
372
+ publicExponent: publicExponentBytes
373
+ };
374
+ return new _keys.CryptoKey(keyObject, algorithmWithDetails, keyUsages, extractable);
375
+ }
376
+ async function hmacImportKey(algorithm, format, data, extractable, keyUsages) {
377
+ // Validate usages
378
+ if (hasAnyNotIn(keyUsages, ['sign', 'verify'])) {
379
+ throw new Error('Unsupported key usage for an HMAC key');
380
+ }
381
+ let keyObject;
382
+ if (format === 'jwk') {
383
+ const jwk = data;
384
+
385
+ // Validate JWK
386
+ if (!jwk || typeof jwk !== 'object') {
387
+ throw new Error('Invalid keyData');
388
+ }
389
+ if (jwk.kty !== 'oct') {
390
+ throw new Error('Invalid JWK format for HMAC key');
391
+ }
392
+
393
+ // Validate key length if specified
394
+ if (algorithm.length !== undefined) {
395
+ if (!jwk.k) {
396
+ throw new Error('JWK missing key data');
397
+ }
398
+ // Decode to check length
399
+ const decoded = _safeBuffer.Buffer.from(jwk.k, 'base64');
400
+ const keyBitLength = decoded.length * 8;
401
+ if (algorithm.length === 0) {
402
+ throw new Error('Zero-length key is not supported');
403
+ }
404
+ if (algorithm.length !== keyBitLength) {
405
+ throw new Error('Invalid key length');
406
+ }
407
+ }
408
+ const handle = _reactNativeNitroModules.NitroModules.createHybridObject('KeyObjectHandle');
409
+ const keyType = handle.initJwk(jwk, undefined);
410
+ if (keyType === undefined || keyType !== 0) {
411
+ throw new Error('Failed to import HMAC JWK');
412
+ }
413
+ keyObject = new _keys.SecretKeyObject(handle);
414
+ } else if (format === 'raw') {
415
+ keyObject = (0, _keys.createSecretKey)(data);
416
+ } else {
417
+ throw new Error(`Unable to import HMAC key with format ${format}`);
418
+ }
419
+ return new _keys.CryptoKey(keyObject, {
420
+ ...algorithm,
421
+ name: 'HMAC'
422
+ }, keyUsages, extractable);
423
+ }
424
+ async function aesImportKey(algorithm, format, data, extractable, keyUsages) {
425
+ const {
426
+ name,
427
+ length
428
+ } = algorithm;
429
+
430
+ // Validate usages
431
+ const validUsages = ['encrypt', 'decrypt', 'wrapKey', 'unwrapKey'];
432
+ if (hasAnyNotIn(keyUsages, validUsages)) {
433
+ throw new Error(`Unsupported key usage for ${name}`);
434
+ }
435
+ let keyObject;
436
+ let actualLength;
437
+ if (format === 'jwk') {
438
+ const jwk = data;
439
+
440
+ // Validate JWK
441
+ if (jwk.kty !== 'oct') {
442
+ throw new Error('Invalid JWK format for AES key');
443
+ }
444
+ const handle = _reactNativeNitroModules.NitroModules.createHybridObject('KeyObjectHandle');
445
+ const keyType = handle.initJwk(jwk, undefined);
446
+ if (keyType === undefined || keyType !== 0) {
447
+ throw new Error('Failed to import AES JWK');
448
+ }
449
+ keyObject = new _keys.SecretKeyObject(handle);
450
+
451
+ // Get actual key length from imported key
452
+ const exported = keyObject.export();
453
+ actualLength = exported.byteLength * 8;
454
+ } else if (format === 'raw') {
455
+ const keyData = (0, _conversion.bufferLikeToArrayBuffer)(data);
456
+ actualLength = keyData.byteLength * 8;
457
+
458
+ // Validate key length
459
+ if (![128, 192, 256].includes(actualLength)) {
460
+ throw new Error('Invalid AES key length');
461
+ }
462
+ keyObject = (0, _keys.createSecretKey)(keyData);
463
+ } else {
464
+ throw new Error(`Unsupported format for AES import: ${format}`);
465
+ }
466
+
467
+ // Validate length if specified
468
+ if (length !== undefined && length !== actualLength) {
469
+ throw new Error(`Key length mismatch: expected ${length}, got ${actualLength}`);
470
+ }
471
+ return new _keys.CryptoKey(keyObject, {
472
+ name,
473
+ length: actualLength
474
+ }, keyUsages, extractable);
76
475
  }
77
476
  const exportKeySpki = async key => {
78
477
  switch (key.algorithm.name) {
@@ -134,7 +533,11 @@ const exportKeyRaw = key => {
134
533
  case 'AES-KW':
135
534
  // Fall through
136
535
  case 'HMAC':
137
- return key.keyObject.export();
536
+ {
537
+ const exported = key.keyObject.export();
538
+ // Convert Buffer to ArrayBuffer
539
+ return exported.buffer.slice(exported.byteOffset, exported.byteOffset + exported.byteLength);
540
+ }
138
541
  }
139
542
  throw (0, _errors.lazyDOMException)(`Unable to export a raw ${key.algorithm.name} ${key.type} key`, 'InvalidAccessError');
140
543
  };
@@ -1 +1 @@
1
- {"version":3,"names":["_safeBuffer","require","_keys","_conversion","_errors","_hashnames","_validation","_hash","_pbkdf","_ec","_rsa","KWebCryptoKeyFormat","CipherOrWrapMode","hasAnyNotIn","usages","allowed","some","usage","includes","normalizeAlgorithm","algorithm","_operation","name","getAlgorithmName","length","ecExportKey","_key","_format","Error","rsaExportKey","rsaCipher","_mode","_data","_algorithm","aesCipher","aesGenerateKey","_extractable","_keyUsages","rsaImportKey","hmacImportKey","aesImportKey","exportKeySpki","key","type","kWebCryptoKeyFormatSPKI","exportKeyPkcs8","kWebCryptoKeyFormatPKCS8","exportKeyRaw","kWebCryptoKeyFormatRaw","keyObject","export","lazyDOMException","exportKeyJWK","jwk","handle","exportJwk","key_ops","ext","extractable","alg","normalizeHashName","hash","HashContext","JwkRsa","JwkRsaPss","JwkRsaOaep","JwkHmac","crv","namedCurve","undefined","importGenericSecretKey","format","keyData","keyUsages","checkLength","SBuffer","isBuffer","byteLength","createSecretKey","CryptoKey","checkCryptoKeyPairUsages","pair","privateKey","isCryptoKeyPair","result","signVerify","data","signature","ecdsaSignVerify","cipherOrWrap","mode","op","validateMaxBufferLength","Subtle","decrypt","normalizedAlgorithm","kWebCryptoCipherDecrypt","bufferLikeToArrayBuffer","digest","asyncDigest","deriveBits","baseKey","pbkdf2DeriveBits","encrypt","kWebCryptoCipherEncrypt","exportKey","generateKey","rsa_generateKeyPair","ec_generateKeyPair","importKey","ecImportKey","sign","verify","exports","subtle"],"sourceRoot":"../../src","sources":["subtle.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_safeBuffer","require","_keys","_conversion","_errors","_hashnames","_validation","_hash","_reactNativeNitroModules","_pbkdf","_ec","_rsa","_random","KWebCryptoKeyFormat","CipherOrWrapMode","hasAnyNotIn","usages","allowed","some","usage","includes","normalizeAlgorithm","algorithm","_operation","name","getAlgorithmName","length","ecExportKey","key","format","keyObject","kWebCryptoKeyFormatSPKI","exported","export","type","bufferLikeToArrayBuffer","kWebCryptoKeyFormatPKCS8","Error","rsaExportKey","rsaCipher","mode","data","rsaParams","expectedType","kWebCryptoCipherEncrypt","lazyDOMException","hashAlgorithm","normalizeHashName","hash","label","undefined","rsaCipherModule","NitroModules","createHybridObject","encrypt","handle","decrypt","aesCipher","aesCtrCipher","aesCbcCipher","aesGcmCipher","counter","byteLength","keyLength","cipherType","factory","cipher","createCipher","isCipher","cipherKey","iv","updated","update","final","result","Uint8Array","set","buffer","tagLength","validTagLengths","tagByteLength","authTagLen","processData","authTag","kWebCryptoCipherDecrypt","dataView","ciphertextLength","slice","setAuthTag","additionalData","setAAD","tag","getAuthTag","aesGenerateKey","extractable","keyUsages","validUsages","keyBytes","getRandomValues","createSecretKey","keyAlgorithm","CryptoKey","rsaImportKey","checkSet","jwk","kty","keyType","initJwk","PublicKeyObject","PrivateKeyObject","keyData","KeyObject","createKeyObject","keyDetails","asymmetricKeyDetails","publicExponentBytes","publicExponent","exp","bytes","value","unshift","Math","floor","algorithmWithDetails","modulusLength","hmacImportKey","k","decoded","SBuffer","from","keyBitLength","SecretKeyObject","aesImportKey","actualLength","exportKeySpki","exportKeyPkcs8","exportKeyRaw","kWebCryptoKeyFormatRaw","byteOffset","exportKeyJWK","exportJwk","key_ops","ext","alg","HashContext","JwkRsa","JwkRsaPss","JwkRsaOaep","JwkHmac","crv","namedCurve","importGenericSecretKey","checkLength","isBuffer","checkCryptoKeyPairUsages","pair","privateKey","isCryptoKeyPair","signVerify","signature","ecdsaSignVerify","cipherOrWrap","op","validateMaxBufferLength","Subtle","normalizedAlgorithm","digest","asyncDigest","deriveBits","baseKey","pbkdf2DeriveBits","exportKey","generateKey","rsa_generateKeyPair","ec_generateKeyPair","importKey","ecImportKey","sign","verify","exports","subtle"],"sourceRoot":"../../src","sources":["subtle.ts"],"mappings":"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","ignoreList":[]}
@@ -147,7 +147,7 @@ encoding = 'utf-8') {
147
147
  if (input instanceof _classes.KeyObject) {
148
148
  return input.handle.exportKey();
149
149
  }
150
- throw new Error('input could not be converted to ArrayBuffer');
150
+ throw new Error('Invalid argument type for "key". Need ArrayBuffer, TypedArray, KeyObject, CryptoKey, string');
151
151
  }
152
152
  function ab2str(buf, encoding = 'hex') {
153
153
  return _reactNativeBuffer.Buffer.from(buf).toString(encoding);
@@ -1 +1 @@
1
- {"version":3,"names":["_reactNativeBuffer","require","_safeBuffer","_classes","_noble","Object","keys","forEach","key","prototype","hasOwnProperty","call","_exportNames","exports","defineProperty","enumerable","get","abvToArrayBuffer","buf","CraftzdogBuffer","isBuffer","buffer","ArrayBuffer","isView","toArrayBuffer","slice","byteOffset","byteLength","ab","length","view","Uint8Array","i","SafeBuffer","readUInt8","bufferLikeToArrayBuffer","SharedArrayBuffer","arrayBuffer","set","TypeError","binaryLikeToArrayBuffer","input","encoding","Error","from","KeyObject","handle","exportKey","ab2str","toString","kEmptyObject","freeze","create"],"sourceRoot":"../../../src","sources":["utils/conversion.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_reactNativeBuffer","require","_safeBuffer","_classes","_noble","Object","keys","forEach","key","prototype","hasOwnProperty","call","_exportNames","exports","defineProperty","enumerable","get","abvToArrayBuffer","buf","CraftzdogBuffer","isBuffer","buffer","ArrayBuffer","isView","toArrayBuffer","slice","byteOffset","byteLength","ab","length","view","Uint8Array","i","SafeBuffer","readUInt8","bufferLikeToArrayBuffer","SharedArrayBuffer","arrayBuffer","set","TypeError","binaryLikeToArrayBuffer","input","encoding","Error","from","KeyObject","handle","exportKey","ab2str","toString","kEmptyObject","freeze","create"],"sourceRoot":"../../../src","sources":["utils/conversion.ts"],"mappings":"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","ignoreList":[]}