react-native-quick-crypto 0.7.12 → 0.7.13

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.
@@ -0,0 +1,68 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.hmacImportKey = hmacImportKey;
7
+ var _reactNativeBuffer = require("@craftzdog/react-native-buffer");
8
+ var _keys = require("./keys");
9
+ var _Utils = require("./Utils");
10
+ async function hmacImportKey(algorithm, format, keyData, extractable, keyUsages) {
11
+ // Validate key usages
12
+ if ((0, _Utils.hasAnyNotIn)(keyUsages, ['sign', 'verify'])) {
13
+ throw (0, _Utils.lazyDOMException)('Unsupported key usage for an HMAC key', 'SyntaxError');
14
+ }
15
+ if (!keyData) {
16
+ throw (0, _Utils.lazyDOMException)('Invalid keyData', 'DataError');
17
+ }
18
+ let keyMaterial;
19
+ switch (format) {
20
+ case 'raw':
21
+ {
22
+ // For raw format, keyData should be BufferLike
23
+ if (typeof keyData === 'string') {
24
+ keyMaterial = _reactNativeBuffer.Buffer.from(keyData, 'base64');
25
+ } else if (_reactNativeBuffer.Buffer.isBuffer(keyData)) {
26
+ keyMaterial = keyData;
27
+ } else {
28
+ keyMaterial = _reactNativeBuffer.Buffer.from(keyData);
29
+ }
30
+ break;
31
+ }
32
+ case 'jwk':
33
+ {
34
+ const jwk = keyData;
35
+
36
+ // Validate required JWK properties
37
+ if (typeof jwk !== 'object' || jwk.kty !== 'oct' || !jwk.k) {
38
+ throw (0, _Utils.lazyDOMException)('Invalid JWK format for HMAC key', 'DataError');
39
+ }
40
+ if (algorithm.length === 0) {
41
+ throw (0, _Utils.lazyDOMException)('Zero-length key is not supported', 'DataError');
42
+ }
43
+
44
+ // The Web Crypto spec allows for key lengths that are not multiples of 8. We don't.
45
+ if (algorithm.length && algorithm.length % 8) {
46
+ throw (0, _Utils.lazyDOMException)('Unsupported algorithm.length', 'NotSupportedError');
47
+ }
48
+
49
+ // Convert base64 to buffer
50
+ keyMaterial = _reactNativeBuffer.Buffer.from(jwk.k, 'base64');
51
+
52
+ // If algorithm.length is specified, validate key length
53
+ if (algorithm.length && keyMaterial.length * 8 !== algorithm.length) {
54
+ throw (0, _Utils.lazyDOMException)('Invalid key length', 'DataError');
55
+ }
56
+ break;
57
+ }
58
+ default:
59
+ throw (0, _Utils.lazyDOMException)(`Unable to import HMAC key with format ${format}`, 'NotSupportedError');
60
+ }
61
+
62
+ // Create the key object
63
+ const keyObject = (0, _keys.createSecretKey)(keyMaterial);
64
+
65
+ // Return new CryptoKey
66
+ return new _keys.CryptoKey(keyObject, algorithm, keyUsages, extractable);
67
+ }
68
+ //# sourceMappingURL=mac.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_reactNativeBuffer","require","_keys","_Utils","hmacImportKey","algorithm","format","keyData","extractable","keyUsages","hasAnyNotIn","lazyDOMException","keyMaterial","Buffer","from","isBuffer","jwk","kty","k","length","keyObject","createSecretKey","CryptoKey"],"sourceRoot":"../../src","sources":["mac.ts"],"mappings":";;;;;;AAAA,IAAAA,kBAAA,GAAAC,OAAA;AACA,IAAAC,KAAA,GAAAD,OAAA;AAQA,IAAAE,MAAA,GAAAF,OAAA;AAEO,eAAeG,aAAaA,CACjCC,SAA0B,EAC1BC,MAAoB,EACpBC,OAAyB,EACzBC,WAAoB,EACpBC,SAAqB,EACD;EACpB;EACA,IAAI,IAAAC,kBAAW,EAACD,SAAS,EAAE,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,EAAE;IAC9C,MAAM,IAAAE,uBAAgB,EACpB,uCAAuC,EACvC,aACF,CAAC;EACH;EAEA,IAAI,CAACJ,OAAO,EAAE;IACZ,MAAM,IAAAI,uBAAgB,EAAC,iBAAiB,EAAE,WAAW,CAAC;EACxD;EAEA,IAAIC,WAAmB;EAEvB,QAAQN,MAAM;IACZ,KAAK,KAAK;MAAE;QACV;QACA,IAAI,OAAOC,OAAO,KAAK,QAAQ,EAAE;UAC/BK,WAAW,GAAGC,yBAAM,CAACC,IAAI,CAACP,OAAO,EAAE,QAAQ,CAAC;QAC9C,CAAC,MAAM,IAAIM,yBAAM,CAACE,QAAQ,CAACR,OAAO,CAAC,EAAE;UACnCK,WAAW,GAAGL,OAAO;QACvB,CAAC,MAAM;UACLK,WAAW,GAAGC,yBAAM,CAACC,IAAI,CAACP,OAAsB,CAAC;QACnD;QACA;MACF;IAEA,KAAK,KAAK;MAAE;QACV,MAAMS,GAAG,GAAGT,OAAc;;QAE1B;QACA,IAAI,OAAOS,GAAG,KAAK,QAAQ,IAAIA,GAAG,CAACC,GAAG,KAAK,KAAK,IAAI,CAACD,GAAG,CAACE,CAAC,EAAE;UAC1D,MAAM,IAAAP,uBAAgB,EAAC,iCAAiC,EAAE,WAAW,CAAC;QACxE;QAEA,IAAIN,SAAS,CAACc,MAAM,KAAK,CAAC,EAAE;UAC1B,MAAM,IAAAR,uBAAgB,EAAC,kCAAkC,EAAE,WAAW,CAAC;QACzE;;QAEA;QACA,IAAIN,SAAS,CAACc,MAAM,IAAId,SAAS,CAACc,MAAM,GAAG,CAAC,EAAE;UAC5C,MAAM,IAAAR,uBAAgB,EACpB,8BAA8B,EAC9B,mBACF,CAAC;QACH;;QAEA;QACAC,WAAW,GAAGC,yBAAM,CAACC,IAAI,CAACE,GAAG,CAACE,CAAC,EAAE,QAAQ,CAAC;;QAE1C;QACA,IAAIb,SAAS,CAACc,MAAM,IAAIP,WAAW,CAACO,MAAM,GAAG,CAAC,KAAKd,SAAS,CAACc,MAAM,EAAE;UACnE,MAAM,IAAAR,uBAAgB,EAAC,oBAAoB,EAAE,WAAW,CAAC;QAC3D;QAEA;MACF;IAEA;MACE,MAAM,IAAAA,uBAAgB,EACpB,yCAAyCL,MAAM,EAAE,EACjD,mBACF,CAAC;EACL;;EAEA;EACA,MAAMc,SAAS,GAAG,IAAAC,qBAAe,EAACT,WAAW,CAAC;;EAE9C;EACA,OAAO,IAAIU,eAAS,CAACF,SAAS,EAAEf,SAAS,EAAEI,SAAS,EAAED,WAAW,CAAC;AACpE","ignoreList":[]}
@@ -13,6 +13,7 @@ var _Hash = require("./Hash");
13
13
  var _aes = require("./aes");
14
14
  var _rsa = require("./rsa");
15
15
  var _Algorithms = require("./Algorithms");
16
+ var _mac = require("./mac");
16
17
  const exportKeySpki = async key => {
17
18
  switch (key.algorithm.name) {
18
19
  case 'RSASSA-PKCS1-v1_5':
@@ -126,6 +127,9 @@ const exportKeyJWK = key => {
126
127
  case 'RSA-OAEP':
127
128
  jwk.alg = (0, _Utils.normalizeHashName)(key.algorithm.hash, _Utils.HashContext.JwkRsaOaep);
128
129
  return jwk;
130
+ case 'HMAC':
131
+ jwk.alg = (0, _Utils.normalizeHashName)(key.algorithm.hash, _Utils.HashContext.JwkHmac);
132
+ return jwk;
129
133
  case 'ECDSA':
130
134
  // Fall through
131
135
  case 'ECDH':
@@ -407,15 +411,9 @@ class Subtle {
407
411
  // keyUsages
408
412
  // );
409
413
  // break;
410
- // case 'HMAC':
411
- // result = await require('internal/crypto/mac').hmacImportKey(
412
- // format,
413
- // keyData,
414
- // algorithm,
415
- // extractable,
416
- // keyUsages
417
- // );
418
- // break;
414
+ case 'HMAC':
415
+ result = await (0, _mac.hmacImportKey)(normalizedAlgorithm, format, data, extractable, keyUsages);
416
+ break;
419
417
  case 'AES-CTR':
420
418
  // Fall through
421
419
  case 'AES-CBC':
@@ -1 +1 @@
1
- {"version":3,"names":["_safeBuffer","require","_keys","_Utils","_ec","_pbkdf","_Hash","_aes","_rsa","_Algorithms","exportKeySpki","key","algorithm","name","type","rsaExportKey","KWebCryptoKeyFormat","kWebCryptoKeyFormatSPKI","ecExportKey","Error","exportKeyPkcs8","kWebCryptoKeyFormatPKCS8","exportKeyRaw","kWebCryptoKeyFormatRaw","keyObject","export","lazyDOMException","exportKeyJWK","jwk","handle","exportJwk","key_ops","usages","ext","extractable","alg","normalizeHashName","hash","HashContext","JwkRsa","JwkRsaPss","JwkRsaOaep","crv","namedCurve","getAlgorithmName","length","importGenericSecretKey","format","keyData","keyUsages","hasAnyNotIn","checkLength","SBuffer","isBuffer","byteLength","undefined","createSecretKey","CryptoKey","checkCryptoKeyPairUsages","pair","privateKey","Buffer","Object","prototype","hasOwnProperty","call","priv","console","log","signVerify","data","signature","usage","normalizeAlgorithm","includes","ecdsaSignVerify","cipherOrWrap","mode","op","validateMaxBufferLength","rsaCipher","aesCipher","Subtle","decrypt","normalizedAlgorithm","CipherOrWrapMode","kWebCryptoCipherDecrypt","bufferLikeToArrayBuffer","digest","asyncDigest","deriveBits","baseKey","pbkdf2DeriveBits","encrypt","kWebCryptoCipherEncrypt","exportKey","generateKey","result","rsaKeyGenerate","ecGenerateKey","aesGenerateKey","importKey","rsaImportKey","ecImportKey","aesImportKey","sign","verify","exports","subtle"],"sourceRoot":"../../src","sources":["subtle.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_safeBuffer","require","_keys","_Utils","_ec","_pbkdf","_Hash","_aes","_rsa","_Algorithms","_mac","exportKeySpki","key","algorithm","name","type","rsaExportKey","KWebCryptoKeyFormat","kWebCryptoKeyFormatSPKI","ecExportKey","Error","exportKeyPkcs8","kWebCryptoKeyFormatPKCS8","exportKeyRaw","kWebCryptoKeyFormatRaw","keyObject","export","lazyDOMException","exportKeyJWK","jwk","handle","exportJwk","key_ops","usages","ext","extractable","alg","normalizeHashName","hash","HashContext","JwkRsa","JwkRsaPss","JwkRsaOaep","JwkHmac","crv","namedCurve","getAlgorithmName","length","importGenericSecretKey","format","keyData","keyUsages","hasAnyNotIn","checkLength","SBuffer","isBuffer","byteLength","undefined","createSecretKey","CryptoKey","checkCryptoKeyPairUsages","pair","privateKey","Buffer","Object","prototype","hasOwnProperty","call","priv","console","log","signVerify","data","signature","usage","normalizeAlgorithm","includes","ecdsaSignVerify","cipherOrWrap","mode","op","validateMaxBufferLength","rsaCipher","aesCipher","Subtle","decrypt","normalizedAlgorithm","CipherOrWrapMode","kWebCryptoCipherDecrypt","bufferLikeToArrayBuffer","digest","asyncDigest","deriveBits","baseKey","pbkdf2DeriveBits","encrypt","kWebCryptoCipherEncrypt","exportKey","generateKey","result","rsaKeyGenerate","ecGenerateKey","aesGenerateKey","importKey","rsaImportKey","ecImportKey","hmacImportKey","aesImportKey","sign","verify","exports","subtle"],"sourceRoot":"../../src","sources":["subtle.ts"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,64 @@
1
+ "use strict";
2
+
3
+ import { Buffer } from '@craftzdog/react-native-buffer';
4
+ import { createSecretKey, CryptoKey } from './keys';
5
+ import { lazyDOMException, hasAnyNotIn } from './Utils';
6
+ export async function hmacImportKey(algorithm, format, keyData, extractable, keyUsages) {
7
+ // Validate key usages
8
+ if (hasAnyNotIn(keyUsages, ['sign', 'verify'])) {
9
+ throw lazyDOMException('Unsupported key usage for an HMAC key', 'SyntaxError');
10
+ }
11
+ if (!keyData) {
12
+ throw lazyDOMException('Invalid keyData', 'DataError');
13
+ }
14
+ let keyMaterial;
15
+ switch (format) {
16
+ case 'raw':
17
+ {
18
+ // For raw format, keyData should be BufferLike
19
+ if (typeof keyData === 'string') {
20
+ keyMaterial = Buffer.from(keyData, 'base64');
21
+ } else if (Buffer.isBuffer(keyData)) {
22
+ keyMaterial = keyData;
23
+ } else {
24
+ keyMaterial = Buffer.from(keyData);
25
+ }
26
+ break;
27
+ }
28
+ case 'jwk':
29
+ {
30
+ const jwk = keyData;
31
+
32
+ // Validate required JWK properties
33
+ if (typeof jwk !== 'object' || jwk.kty !== 'oct' || !jwk.k) {
34
+ throw lazyDOMException('Invalid JWK format for HMAC key', 'DataError');
35
+ }
36
+ if (algorithm.length === 0) {
37
+ throw lazyDOMException('Zero-length key is not supported', 'DataError');
38
+ }
39
+
40
+ // The Web Crypto spec allows for key lengths that are not multiples of 8. We don't.
41
+ if (algorithm.length && algorithm.length % 8) {
42
+ throw lazyDOMException('Unsupported algorithm.length', 'NotSupportedError');
43
+ }
44
+
45
+ // Convert base64 to buffer
46
+ keyMaterial = Buffer.from(jwk.k, 'base64');
47
+
48
+ // If algorithm.length is specified, validate key length
49
+ if (algorithm.length && keyMaterial.length * 8 !== algorithm.length) {
50
+ throw lazyDOMException('Invalid key length', 'DataError');
51
+ }
52
+ break;
53
+ }
54
+ default:
55
+ throw lazyDOMException(`Unable to import HMAC key with format ${format}`, 'NotSupportedError');
56
+ }
57
+
58
+ // Create the key object
59
+ const keyObject = createSecretKey(keyMaterial);
60
+
61
+ // Return new CryptoKey
62
+ return new CryptoKey(keyObject, algorithm, keyUsages, extractable);
63
+ }
64
+ //# sourceMappingURL=mac.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["Buffer","createSecretKey","CryptoKey","lazyDOMException","hasAnyNotIn","hmacImportKey","algorithm","format","keyData","extractable","keyUsages","keyMaterial","from","isBuffer","jwk","kty","k","length","keyObject"],"sourceRoot":"../../src","sources":["mac.ts"],"mappings":";;AAAA,SAASA,MAAM,QAAQ,gCAAgC;AACvD,SACEC,eAAe,EACfC,SAAS,QAKJ,QAAQ;AACf,SAA0BC,gBAAgB,EAAEC,WAAW,QAAQ,SAAS;AAExE,OAAO,eAAeC,aAAaA,CACjCC,SAA0B,EAC1BC,MAAoB,EACpBC,OAAyB,EACzBC,WAAoB,EACpBC,SAAqB,EACD;EACpB;EACA,IAAIN,WAAW,CAACM,SAAS,EAAE,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,EAAE;IAC9C,MAAMP,gBAAgB,CACpB,uCAAuC,EACvC,aACF,CAAC;EACH;EAEA,IAAI,CAACK,OAAO,EAAE;IACZ,MAAML,gBAAgB,CAAC,iBAAiB,EAAE,WAAW,CAAC;EACxD;EAEA,IAAIQ,WAAmB;EAEvB,QAAQJ,MAAM;IACZ,KAAK,KAAK;MAAE;QACV;QACA,IAAI,OAAOC,OAAO,KAAK,QAAQ,EAAE;UAC/BG,WAAW,GAAGX,MAAM,CAACY,IAAI,CAACJ,OAAO,EAAE,QAAQ,CAAC;QAC9C,CAAC,MAAM,IAAIR,MAAM,CAACa,QAAQ,CAACL,OAAO,CAAC,EAAE;UACnCG,WAAW,GAAGH,OAAO;QACvB,CAAC,MAAM;UACLG,WAAW,GAAGX,MAAM,CAACY,IAAI,CAACJ,OAAsB,CAAC;QACnD;QACA;MACF;IAEA,KAAK,KAAK;MAAE;QACV,MAAMM,GAAG,GAAGN,OAAc;;QAE1B;QACA,IAAI,OAAOM,GAAG,KAAK,QAAQ,IAAIA,GAAG,CAACC,GAAG,KAAK,KAAK,IAAI,CAACD,GAAG,CAACE,CAAC,EAAE;UAC1D,MAAMb,gBAAgB,CAAC,iCAAiC,EAAE,WAAW,CAAC;QACxE;QAEA,IAAIG,SAAS,CAACW,MAAM,KAAK,CAAC,EAAE;UAC1B,MAAMd,gBAAgB,CAAC,kCAAkC,EAAE,WAAW,CAAC;QACzE;;QAEA;QACA,IAAIG,SAAS,CAACW,MAAM,IAAIX,SAAS,CAACW,MAAM,GAAG,CAAC,EAAE;UAC5C,MAAMd,gBAAgB,CACpB,8BAA8B,EAC9B,mBACF,CAAC;QACH;;QAEA;QACAQ,WAAW,GAAGX,MAAM,CAACY,IAAI,CAACE,GAAG,CAACE,CAAC,EAAE,QAAQ,CAAC;;QAE1C;QACA,IAAIV,SAAS,CAACW,MAAM,IAAIN,WAAW,CAACM,MAAM,GAAG,CAAC,KAAKX,SAAS,CAACW,MAAM,EAAE;UACnE,MAAMd,gBAAgB,CAAC,oBAAoB,EAAE,WAAW,CAAC;QAC3D;QAEA;MACF;IAEA;MACE,MAAMA,gBAAgB,CACpB,yCAAyCI,MAAM,EAAE,EACjD,mBACF,CAAC;EACL;;EAEA;EACA,MAAMW,SAAS,GAAGjB,eAAe,CAACU,WAAW,CAAC;;EAE9C;EACA,OAAO,IAAIT,SAAS,CAACgB,SAAS,EAAEZ,SAAS,EAAEI,SAAS,EAAED,WAAW,CAAC;AACpE","ignoreList":[]}
@@ -9,6 +9,7 @@ import { asyncDigest } from './Hash';
9
9
  import { aesCipher, aesGenerateKey, aesImportKey, getAlgorithmName } from './aes';
10
10
  import { rsaCipher, rsaExportKey, rsaImportKey, rsaKeyGenerate } from './rsa';
11
11
  import { normalizeAlgorithm } from './Algorithms';
12
+ import { hmacImportKey } from './mac';
12
13
  const exportKeySpki = async key => {
13
14
  switch (key.algorithm.name) {
14
15
  case 'RSASSA-PKCS1-v1_5':
@@ -122,6 +123,9 @@ const exportKeyJWK = key => {
122
123
  case 'RSA-OAEP':
123
124
  jwk.alg = normalizeHashName(key.algorithm.hash, HashContext.JwkRsaOaep);
124
125
  return jwk;
126
+ case 'HMAC':
127
+ jwk.alg = normalizeHashName(key.algorithm.hash, HashContext.JwkHmac);
128
+ return jwk;
125
129
  case 'ECDSA':
126
130
  // Fall through
127
131
  case 'ECDH':
@@ -403,15 +407,9 @@ export class Subtle {
403
407
  // keyUsages
404
408
  // );
405
409
  // break;
406
- // case 'HMAC':
407
- // result = await require('internal/crypto/mac').hmacImportKey(
408
- // format,
409
- // keyData,
410
- // algorithm,
411
- // extractable,
412
- // keyUsages
413
- // );
414
- // break;
410
+ case 'HMAC':
411
+ result = await hmacImportKey(normalizedAlgorithm, format, data, extractable, keyUsages);
412
+ break;
415
413
  case 'AES-CTR':
416
414
  // Fall through
417
415
  case 'AES-CBC':
@@ -1 +1 @@
1
- {"version":3,"names":["Buffer","SBuffer","CryptoKey","KWebCryptoKeyFormat","createSecretKey","CipherOrWrapMode","hasAnyNotIn","lazyDOMException","normalizeHashName","HashContext","validateMaxBufferLength","bufferLikeToArrayBuffer","ecImportKey","ecExportKey","ecGenerateKey","ecdsaSignVerify","pbkdf2DeriveBits","asyncDigest","aesCipher","aesGenerateKey","aesImportKey","getAlgorithmName","rsaCipher","rsaExportKey","rsaImportKey","rsaKeyGenerate","normalizeAlgorithm","exportKeySpki","key","algorithm","name","type","kWebCryptoKeyFormatSPKI","Error","exportKeyPkcs8","kWebCryptoKeyFormatPKCS8","exportKeyRaw","kWebCryptoKeyFormatRaw","keyObject","export","exportKeyJWK","jwk","handle","exportJwk","key_ops","usages","ext","extractable","alg","hash","JwkRsa","JwkRsaPss","JwkRsaOaep","crv","namedCurve","length","importGenericSecretKey","format","keyData","keyUsages","checkLength","isBuffer","byteLength","undefined","checkCryptoKeyPairUsages","pair","privateKey","Object","prototype","hasOwnProperty","call","priv","console","log","signVerify","data","signature","usage","includes","cipherOrWrap","mode","op","Subtle","decrypt","normalizedAlgorithm","kWebCryptoCipherDecrypt","digest","deriveBits","baseKey","encrypt","kWebCryptoCipherEncrypt","exportKey","generateKey","result","importKey","sign","verify","subtle"],"sourceRoot":"../../src","sources":["subtle.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["Buffer","SBuffer","CryptoKey","KWebCryptoKeyFormat","createSecretKey","CipherOrWrapMode","hasAnyNotIn","lazyDOMException","normalizeHashName","HashContext","validateMaxBufferLength","bufferLikeToArrayBuffer","ecImportKey","ecExportKey","ecGenerateKey","ecdsaSignVerify","pbkdf2DeriveBits","asyncDigest","aesCipher","aesGenerateKey","aesImportKey","getAlgorithmName","rsaCipher","rsaExportKey","rsaImportKey","rsaKeyGenerate","normalizeAlgorithm","hmacImportKey","exportKeySpki","key","algorithm","name","type","kWebCryptoKeyFormatSPKI","Error","exportKeyPkcs8","kWebCryptoKeyFormatPKCS8","exportKeyRaw","kWebCryptoKeyFormatRaw","keyObject","export","exportKeyJWK","jwk","handle","exportJwk","key_ops","usages","ext","extractable","alg","hash","JwkRsa","JwkRsaPss","JwkRsaOaep","JwkHmac","crv","namedCurve","length","importGenericSecretKey","format","keyData","keyUsages","checkLength","isBuffer","byteLength","undefined","checkCryptoKeyPairUsages","pair","privateKey","Object","prototype","hasOwnProperty","call","priv","console","log","signVerify","data","signature","usage","includes","cipherOrWrap","mode","op","Subtle","decrypt","normalizedAlgorithm","kWebCryptoCipherDecrypt","digest","deriveBits","baseKey","encrypt","kWebCryptoCipherEncrypt","exportKey","generateKey","result","importKey","sign","verify","subtle"],"sourceRoot":"../../src","sources":["subtle.ts"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,4 @@
1
+ import { CryptoKey, type ImportFormat, type JWK, type KeyUsage, type SubtleAlgorithm } from './keys';
2
+ import { type BufferLike } from './Utils';
3
+ export declare function hmacImportKey(algorithm: SubtleAlgorithm, format: ImportFormat, keyData: BufferLike | JWK, extractable: boolean, keyUsages: KeyUsage[]): Promise<CryptoKey>;
4
+ //# sourceMappingURL=mac.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mac.d.ts","sourceRoot":"","sources":["../../../src/mac.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,SAAS,EACT,KAAK,YAAY,EACjB,KAAK,GAAG,EACR,KAAK,QAAQ,EACb,KAAK,eAAe,EACrB,MAAM,QAAQ,CAAC;AAChB,OAAO,EAAE,KAAK,UAAU,EAAiC,MAAM,SAAS,CAAC;AAEzE,wBAAsB,aAAa,CACjC,SAAS,EAAE,eAAe,EAC1B,MAAM,EAAE,YAAY,EACpB,OAAO,EAAE,UAAU,GAAG,GAAG,EACzB,WAAW,EAAE,OAAO,EACpB,SAAS,EAAE,QAAQ,EAAE,GACpB,OAAO,CAAC,SAAS,CAAC,CAuEpB"}
@@ -1 +1 @@
1
- {"version":3,"file":"subtle.d.ts","sourceRoot":"","sources":["../../../src/subtle.ts"],"names":[],"mappings":"AACA,OAAO,EACL,KAAK,YAAY,EACjB,KAAK,eAAe,EACpB,KAAK,QAAQ,EACb,SAAS,EAGT,KAAK,YAAY,EACjB,KAAK,GAAG,EACR,KAAK,aAAa,EAElB,KAAK,oBAAoB,EAE1B,MAAM,QAAQ,CAAC;AAChB,OAAO,EAEL,KAAK,UAAU,EACf,KAAK,UAAU,EAMhB,MAAM,SAAS,CAAC;AAmWjB,qBAAa,MAAM;IACX,OAAO,CACX,SAAS,EAAE,oBAAoB,EAC/B,GAAG,EAAE,SAAS,EACd,IAAI,EAAE,UAAU,GACf,OAAO,CAAC,WAAW,CAAC;IAWjB,MAAM,CACV,SAAS,EAAE,eAAe,GAAG,YAAY,EACzC,IAAI,EAAE,UAAU,GACf,OAAO,CAAC,WAAW,CAAC;IAKjB,UAAU,CACd,SAAS,EAAE,eAAe,EAC1B,OAAO,EAAE,SAAS,EAClB,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,WAAW,CAAC;IAyBjB,OAAO,CACX,SAAS,EAAE,oBAAoB,EAC/B,GAAG,EAAE,SAAS,EACd,IAAI,EAAE,UAAU,GACf,OAAO,CAAC,WAAW,CAAC;IAWjB,SAAS,CACb,MAAM,EAAE,YAAY,EACpB,GAAG,EAAE,SAAS,GACb,OAAO,CAAC,WAAW,GAAG,GAAG,CAAC;IAevB,WAAW,CACf,SAAS,EAAE,eAAe,EAC1B,WAAW,EAAE,OAAO,EACpB,SAAS,EAAE,QAAQ,EAAE,GACpB,OAAO,CAAC,SAAS,GAAG,aAAa,CAAC;IAqD/B,SAAS,CACb,MAAM,EAAE,YAAY,EACpB,IAAI,EAAE,UAAU,GAAG,UAAU,GAAG,GAAG,EACnC,SAAS,EAAE,eAAe,GAAG,YAAY,EACzC,WAAW,EAAE,OAAO,EACpB,SAAS,EAAE,QAAQ,EAAE,GACpB,OAAO,CAAC,SAAS,CAAC;IAgGf,IAAI,CACR,SAAS,EAAE,eAAe,EAC1B,GAAG,EAAE,SAAS,EACd,IAAI,EAAE,UAAU,GACf,OAAO,CAAC,WAAW,CAAC;IAIjB,MAAM,CACV,SAAS,EAAE,eAAe,EAC1B,GAAG,EAAE,SAAS,EACd,SAAS,EAAE,UAAU,EACrB,IAAI,EAAE,UAAU,GACf,OAAO,CAAC,WAAW,CAAC;CAGxB;AAED,eAAO,MAAM,MAAM,QAAe,CAAC"}
1
+ {"version":3,"file":"subtle.d.ts","sourceRoot":"","sources":["../../../src/subtle.ts"],"names":[],"mappings":"AACA,OAAO,EACL,KAAK,YAAY,EACjB,KAAK,eAAe,EACpB,KAAK,QAAQ,EACb,SAAS,EAGT,KAAK,YAAY,EACjB,KAAK,GAAG,EACR,KAAK,aAAa,EAElB,KAAK,oBAAoB,EAE1B,MAAM,QAAQ,CAAC;AAChB,OAAO,EAEL,KAAK,UAAU,EACf,KAAK,UAAU,EAMhB,MAAM,SAAS,CAAC;AAuWjB,qBAAa,MAAM;IACX,OAAO,CACX,SAAS,EAAE,oBAAoB,EAC/B,GAAG,EAAE,SAAS,EACd,IAAI,EAAE,UAAU,GACf,OAAO,CAAC,WAAW,CAAC;IAWjB,MAAM,CACV,SAAS,EAAE,eAAe,GAAG,YAAY,EACzC,IAAI,EAAE,UAAU,GACf,OAAO,CAAC,WAAW,CAAC;IAKjB,UAAU,CACd,SAAS,EAAE,eAAe,EAC1B,OAAO,EAAE,SAAS,EAClB,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,WAAW,CAAC;IAyBjB,OAAO,CACX,SAAS,EAAE,oBAAoB,EAC/B,GAAG,EAAE,SAAS,EACd,IAAI,EAAE,UAAU,GACf,OAAO,CAAC,WAAW,CAAC;IAWjB,SAAS,CACb,MAAM,EAAE,YAAY,EACpB,GAAG,EAAE,SAAS,GACb,OAAO,CAAC,WAAW,GAAG,GAAG,CAAC;IAevB,WAAW,CACf,SAAS,EAAE,eAAe,EAC1B,WAAW,EAAE,OAAO,EACpB,SAAS,EAAE,QAAQ,EAAE,GACpB,OAAO,CAAC,SAAS,GAAG,aAAa,CAAC;IAqD/B,SAAS,CACb,MAAM,EAAE,YAAY,EACpB,IAAI,EAAE,UAAU,GAAG,UAAU,GAAG,GAAG,EACnC,SAAS,EAAE,eAAe,GAAG,YAAY,EACzC,WAAW,EAAE,OAAO,EACpB,SAAS,EAAE,QAAQ,EAAE,GACpB,OAAO,CAAC,SAAS,CAAC;IAgGf,IAAI,CACR,SAAS,EAAE,eAAe,EAC1B,GAAG,EAAE,SAAS,EACd,IAAI,EAAE,UAAU,GACf,OAAO,CAAC,WAAW,CAAC;IAIjB,MAAM,CACV,SAAS,EAAE,eAAe,EAC1B,GAAG,EAAE,SAAS,EACd,SAAS,EAAE,UAAU,EACrB,IAAI,EAAE,UAAU,GACf,OAAO,CAAC,WAAW,CAAC;CAGxB;AAED,eAAO,MAAM,MAAM,QAAe,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-native-quick-crypto",
3
- "version": "0.7.12",
3
+ "version": "0.7.13",
4
4
  "description": "A fast implementation of Node's `crypto` module written in C/C++ JSI",
5
5
  "packageManager": "bun@1.1.26",
6
6
  "main": "lib/commonjs/index",
@@ -84,17 +84,17 @@
84
84
  "@types/react": "^18.0.33",
85
85
  "@types/readable-stream": "^4.0.11",
86
86
  "del-cli": "^6.0.0",
87
- "eslint": "9.15.0",
87
+ "eslint": "9.20.0",
88
88
  "eslint-plugin-react-native": "^4.1.0",
89
89
  "jest": "^29.7.0",
90
- "prettier": "3.3.3",
90
+ "prettier": "3.4.2",
91
91
  "react": "18.2.0",
92
92
  "react-native": "0.72.7",
93
93
  "react-native-builder-bob": "0.35.2",
94
94
  "release-it": "17.11.0",
95
95
  "sscrypto": "^1.1.1",
96
96
  "typescript": "5.7.2",
97
- "typescript-eslint": "8.19.0"
97
+ "typescript-eslint": "8.23.0"
98
98
  },
99
99
  "release-it": {
100
100
  "npm": {
package/src/mac.ts ADDED
@@ -0,0 +1,89 @@
1
+ import { Buffer } from '@craftzdog/react-native-buffer';
2
+ import {
3
+ createSecretKey,
4
+ CryptoKey,
5
+ type ImportFormat,
6
+ type JWK,
7
+ type KeyUsage,
8
+ type SubtleAlgorithm,
9
+ } from './keys';
10
+ import { type BufferLike, lazyDOMException, hasAnyNotIn } from './Utils';
11
+
12
+ export async function hmacImportKey(
13
+ algorithm: SubtleAlgorithm,
14
+ format: ImportFormat,
15
+ keyData: BufferLike | JWK,
16
+ extractable: boolean,
17
+ keyUsages: KeyUsage[],
18
+ ): Promise<CryptoKey> {
19
+ // Validate key usages
20
+ if (hasAnyNotIn(keyUsages, ['sign', 'verify'])) {
21
+ throw lazyDOMException(
22
+ 'Unsupported key usage for an HMAC key',
23
+ 'SyntaxError',
24
+ );
25
+ }
26
+
27
+ if (!keyData) {
28
+ throw lazyDOMException('Invalid keyData', 'DataError');
29
+ }
30
+
31
+ let keyMaterial: Buffer;
32
+
33
+ switch (format) {
34
+ case 'raw': {
35
+ // For raw format, keyData should be BufferLike
36
+ if (typeof keyData === 'string') {
37
+ keyMaterial = Buffer.from(keyData, 'base64');
38
+ } else if (Buffer.isBuffer(keyData)) {
39
+ keyMaterial = keyData;
40
+ } else {
41
+ keyMaterial = Buffer.from(keyData as ArrayBuffer);
42
+ }
43
+ break;
44
+ }
45
+
46
+ case 'jwk': {
47
+ const jwk = keyData as JWK;
48
+
49
+ // Validate required JWK properties
50
+ if (typeof jwk !== 'object' || jwk.kty !== 'oct' || !jwk.k) {
51
+ throw lazyDOMException('Invalid JWK format for HMAC key', 'DataError');
52
+ }
53
+
54
+ if (algorithm.length === 0) {
55
+ throw lazyDOMException('Zero-length key is not supported', 'DataError');
56
+ }
57
+
58
+ // The Web Crypto spec allows for key lengths that are not multiples of 8. We don't.
59
+ if (algorithm.length && algorithm.length % 8) {
60
+ throw lazyDOMException(
61
+ 'Unsupported algorithm.length',
62
+ 'NotSupportedError',
63
+ );
64
+ }
65
+
66
+ // Convert base64 to buffer
67
+ keyMaterial = Buffer.from(jwk.k, 'base64');
68
+
69
+ // If algorithm.length is specified, validate key length
70
+ if (algorithm.length && keyMaterial.length * 8 !== algorithm.length) {
71
+ throw lazyDOMException('Invalid key length', 'DataError');
72
+ }
73
+
74
+ break;
75
+ }
76
+
77
+ default:
78
+ throw lazyDOMException(
79
+ `Unable to import HMAC key with format ${format}`,
80
+ 'NotSupportedError',
81
+ );
82
+ }
83
+
84
+ // Create the key object
85
+ const keyObject = createSecretKey(keyMaterial);
86
+
87
+ // Return new CryptoKey
88
+ return new CryptoKey(keyObject, algorithm, keyUsages, extractable);
89
+ }
package/src/subtle.ts CHANGED
@@ -34,6 +34,7 @@ import {
34
34
  } from './aes';
35
35
  import { rsaCipher, rsaExportKey, rsaImportKey, rsaKeyGenerate } from './rsa';
36
36
  import { normalizeAlgorithm, type Operation } from './Algorithms';
37
+ import { hmacImportKey } from './mac';
37
38
 
38
39
  const exportKeySpki = async (
39
40
  key: CryptoKey,
@@ -168,6 +169,9 @@ const exportKeyJWK = (key: CryptoKey): ArrayBuffer | unknown => {
168
169
  case 'RSA-OAEP':
169
170
  jwk.alg = normalizeHashName(key.algorithm.hash, HashContext.JwkRsaOaep);
170
171
  return jwk;
172
+ case 'HMAC':
173
+ jwk.alg = normalizeHashName(key.algorithm.hash, HashContext.JwkHmac);
174
+ return jwk;
171
175
  case 'ECDSA':
172
176
  // Fall through
173
177
  case 'ECDH':
@@ -569,15 +573,15 @@ export class Subtle {
569
573
  // keyUsages
570
574
  // );
571
575
  // break;
572
- // case 'HMAC':
573
- // result = await require('internal/crypto/mac').hmacImportKey(
574
- // format,
575
- // keyData,
576
- // algorithm,
577
- // extractable,
578
- // keyUsages
579
- // );
580
- // break;
576
+ case 'HMAC':
577
+ result = await hmacImportKey(
578
+ normalizedAlgorithm,
579
+ format,
580
+ data as BufferLike | JWK,
581
+ extractable,
582
+ keyUsages,
583
+ );
584
+ break;
581
585
  case 'AES-CTR':
582
586
  // Fall through
583
587
  case 'AES-CBC':