react-native-quick-crypto 1.0.0-beta.3 → 1.0.0-beta.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 (121) hide show
  1. package/QuickCrypto.podspec +4 -0
  2. package/README.md +2 -0
  3. package/android/CMakeLists.txt +26 -13
  4. package/android/build.gradle +4 -0
  5. package/android/src/main/cpp/cpp-adapter.cpp +3 -10
  6. package/android/src/main/java/com/margelo/nitro/quickcrypto/QuickCryptoPackage.java +15 -10
  7. package/cpp/pbkdf2/HybridPbkdf2.cpp +71 -0
  8. package/cpp/pbkdf2/HybridPbkdf2.hpp +35 -0
  9. package/cpp/random/HybridRandom.cpp +42 -18
  10. package/cpp/random/HybridRandom.hpp +13 -28
  11. package/cpp/utils/Utils.hpp +12 -1
  12. package/deps/fastpbkdf2/fastpbkdf2.c +352 -0
  13. package/deps/fastpbkdf2/fastpbkdf2.h +68 -0
  14. package/lib/commonjs/index.js +24 -5
  15. package/lib/commonjs/index.js.map +1 -1
  16. package/lib/commonjs/keys/index.js +86 -0
  17. package/lib/commonjs/keys/index.js.map +1 -0
  18. package/lib/commonjs/pbkdf2.js +89 -0
  19. package/lib/commonjs/pbkdf2.js.map +1 -0
  20. package/lib/commonjs/random.js +3 -3
  21. package/lib/commonjs/random.js.map +1 -1
  22. package/lib/commonjs/specs/keyObjectHandle.nitro.js +6 -0
  23. package/lib/commonjs/specs/keyObjectHandle.nitro.js.map +1 -0
  24. package/lib/commonjs/specs/pbkdf2.nitro.js +6 -0
  25. package/lib/commonjs/specs/pbkdf2.nitro.js.map +1 -0
  26. package/lib/commonjs/utils/conversion.js +74 -0
  27. package/lib/commonjs/utils/conversion.js.map +1 -1
  28. package/lib/commonjs/utils/errors.js +14 -0
  29. package/lib/commonjs/utils/errors.js.map +1 -0
  30. package/lib/commonjs/utils/hashnames.js +90 -0
  31. package/lib/commonjs/utils/hashnames.js.map +1 -0
  32. package/lib/commonjs/utils/index.js +43 -5
  33. package/lib/commonjs/utils/index.js.map +1 -1
  34. package/lib/commonjs/utils/types.js +27 -0
  35. package/lib/commonjs/utils/types.js.map +1 -1
  36. package/lib/module/index.js +9 -4
  37. package/lib/module/index.js.map +1 -1
  38. package/lib/module/keys/index.js +81 -0
  39. package/lib/module/keys/index.js.map +1 -0
  40. package/lib/module/pbkdf2.js +83 -0
  41. package/lib/module/pbkdf2.js.map +1 -0
  42. package/lib/module/random.js +1 -1
  43. package/lib/module/random.js.map +1 -1
  44. package/lib/module/specs/keyObjectHandle.nitro.js +4 -0
  45. package/lib/module/specs/keyObjectHandle.nitro.js.map +1 -0
  46. package/lib/module/specs/pbkdf2.nitro.js +4 -0
  47. package/lib/module/specs/pbkdf2.nitro.js.map +1 -0
  48. package/lib/module/utils/conversion.js +71 -0
  49. package/lib/module/utils/conversion.js.map +1 -1
  50. package/lib/module/utils/errors.js +10 -0
  51. package/lib/module/utils/errors.js.map +1 -0
  52. package/lib/module/utils/hashnames.js +88 -0
  53. package/lib/module/utils/hashnames.js.map +1 -0
  54. package/lib/module/utils/index.js +4 -5
  55. package/lib/module/utils/index.js.map +1 -1
  56. package/lib/module/utils/types.js +26 -0
  57. package/lib/module/utils/types.js.map +1 -1
  58. package/lib/tsconfig.tsbuildinfo +1 -1
  59. package/lib/typescript/index.d.ts +26 -9
  60. package/lib/typescript/index.d.ts.map +1 -1
  61. package/lib/typescript/keys/index.d.ts +22 -0
  62. package/lib/typescript/keys/index.d.ts.map +1 -0
  63. package/lib/typescript/pbkdf2.d.ts +12 -0
  64. package/lib/typescript/pbkdf2.d.ts.map +1 -0
  65. package/lib/typescript/random.d.ts +1 -1
  66. package/lib/typescript/random.d.ts.map +1 -1
  67. package/lib/typescript/specs/keyObjectHandle.nitro.d.ts +15 -0
  68. package/lib/typescript/specs/keyObjectHandle.nitro.d.ts.map +1 -0
  69. package/lib/typescript/specs/pbkdf2.nitro.d.ts +9 -0
  70. package/lib/typescript/specs/pbkdf2.nitro.d.ts.map +1 -0
  71. package/lib/typescript/utils/conversion.d.ts +7 -1
  72. package/lib/typescript/utils/conversion.d.ts.map +1 -1
  73. package/lib/typescript/utils/errors.d.ts +7 -0
  74. package/lib/typescript/utils/errors.d.ts.map +1 -0
  75. package/lib/typescript/utils/hashnames.d.ts +11 -0
  76. package/lib/typescript/utils/hashnames.d.ts.map +1 -0
  77. package/lib/typescript/utils/index.d.ts +4 -5
  78. package/lib/typescript/utils/index.d.ts.map +1 -1
  79. package/lib/typescript/utils/types.d.ts +101 -0
  80. package/lib/typescript/utils/types.d.ts.map +1 -1
  81. package/nitrogen/generated/android/QuickCrypto+autolinking.cmake +19 -3
  82. package/nitrogen/generated/android/QuickCrypto+autolinking.gradle +1 -2
  83. package/nitrogen/generated/android/QuickCryptoOnLoad.cpp +50 -0
  84. package/nitrogen/generated/android/QuickCryptoOnLoad.hpp +25 -0
  85. package/nitrogen/generated/android/QuickCryptoOnLoad.kt +1 -0
  86. package/nitrogen/generated/ios/QuickCrypto+autolinking.rb +7 -6
  87. package/nitrogen/generated/ios/QuickCrypto-Swift-Cxx-Bridge.cpp +10 -2
  88. package/nitrogen/generated/ios/QuickCrypto-Swift-Cxx-Bridge.hpp +4 -2
  89. package/nitrogen/generated/ios/QuickCrypto-Swift-Cxx-Umbrella.hpp +12 -6
  90. package/nitrogen/generated/ios/QuickCryptoAutolinking.mm +45 -0
  91. package/nitrogen/generated/ios/QuickCryptoAutolinking.swift +12 -0
  92. package/nitrogen/generated/shared/c++/AsymmetricKeyType.hpp +86 -0
  93. package/nitrogen/generated/shared/c++/HybridKeyObjectHandleSpec.cpp +27 -0
  94. package/nitrogen/generated/shared/c++/HybridKeyObjectHandleSpec.hpp +93 -0
  95. package/nitrogen/generated/shared/c++/HybridPbkdf2Spec.cpp +22 -0
  96. package/nitrogen/generated/shared/c++/HybridPbkdf2Spec.hpp +66 -0
  97. package/nitrogen/generated/shared/c++/HybridRandomSpec.cpp +1 -2
  98. package/nitrogen/generated/shared/c++/HybridRandomSpec.hpp +7 -4
  99. package/nitrogen/generated/shared/c++/JWK.hpp +162 -0
  100. package/nitrogen/generated/shared/c++/JWKkty.hpp +86 -0
  101. package/nitrogen/generated/shared/c++/JWKuse.hpp +78 -0
  102. package/nitrogen/generated/shared/c++/KFormatType.hpp +65 -0
  103. package/nitrogen/generated/shared/c++/KeyDetail.hpp +93 -0
  104. package/nitrogen/generated/shared/c++/KeyEncoding.hpp +66 -0
  105. package/nitrogen/generated/shared/c++/KeyType.hpp +65 -0
  106. package/nitrogen/generated/shared/c++/KeyUsage.hpp +102 -0
  107. package/nitrogen/generated/shared/c++/NamedCurve.hpp +82 -0
  108. package/package.json +12 -11
  109. package/src/index.ts +8 -4
  110. package/src/keys/index.ts +99 -0
  111. package/src/pbkdf2.ts +154 -0
  112. package/src/random.ts +14 -14
  113. package/src/specs/keyObjectHandle.nitro.ts +32 -0
  114. package/src/specs/pbkdf2.nitro.ts +18 -0
  115. package/src/specs/random.nitro.ts +2 -2
  116. package/src/utils/conversion.ts +83 -1
  117. package/src/utils/errors.ts +15 -0
  118. package/src/utils/hashnames.ts +96 -0
  119. package/src/utils/index.ts +4 -6
  120. package/src/utils/types.ts +178 -2
  121. package/ios/QuickCryptoOnLoad.mm +0 -19
@@ -0,0 +1,89 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.pbkdf2 = pbkdf2;
7
+ exports.pbkdf2DeriveBits = pbkdf2DeriveBits;
8
+ exports.pbkdf2Sync = pbkdf2Sync;
9
+ var _reactNativeBuffer = require("@craftzdog/react-native-buffer");
10
+ var _reactNativeNitroModules = require("react-native-nitro-modules");
11
+ var _utils = require("./utils");
12
+ var _util = require("util");
13
+ const WRONG_PASS = 'Password must be a string, a Buffer, a typed array or a DataView';
14
+ const WRONG_SALT = `Salt must be a string, a Buffer, a typed array or a DataView`;
15
+ // to use native bits in sub-functions, use getNative(). don't call it at top-level!
16
+ let native;
17
+ function getNative() {
18
+ if (native == null) {
19
+ // lazy-load the Nitro HybridObject
20
+ native = _reactNativeNitroModules.NitroModules.createHybridObject('Pbkdf2');
21
+ }
22
+ return native;
23
+ }
24
+ function sanitizeInput(input, errorMsg) {
25
+ try {
26
+ return (0, _utils.binaryLikeToArrayBuffer)(input);
27
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
28
+ } catch (_e) {
29
+ throw new Error(errorMsg);
30
+ }
31
+ }
32
+ function pbkdf2(password, salt, iterations, keylen, digest, callback) {
33
+ if (callback === undefined || typeof callback !== 'function') {
34
+ throw new Error('No callback provided to pbkdf2');
35
+ }
36
+ const sanitizedPassword = sanitizeInput(password, WRONG_PASS);
37
+ const sanitizedSalt = sanitizeInput(salt, WRONG_SALT);
38
+ const normalizedDigest = (0, _utils.normalizeHashName)(digest, _utils.HashContext.Node);
39
+ getNative();
40
+ native.pbkdf2(sanitizedPassword, sanitizedSalt, iterations, keylen, normalizedDigest).then(res => {
41
+ callback(null, _reactNativeBuffer.Buffer.from(res));
42
+ }, e => {
43
+ callback(e);
44
+ });
45
+ }
46
+ function pbkdf2Sync(password, salt, iterations, keylen, digest) {
47
+ const sanitizedPassword = sanitizeInput(password, WRONG_PASS);
48
+ const sanitizedSalt = sanitizeInput(salt, WRONG_SALT);
49
+ const algo = digest ? (0, _utils.normalizeHashName)(digest, _utils.HashContext.Node) : 'sha1';
50
+ getNative();
51
+ const result = native.pbkdf2Sync(sanitizedPassword, sanitizedSalt, iterations, keylen, algo);
52
+ return _reactNativeBuffer.Buffer.from(result);
53
+ }
54
+
55
+ // We need this because the typescript overload signatures in pbkdf2() above do
56
+ // not play nice with promisify() below.
57
+ const pbkdf2WithDigest = (password, salt, iterations, keylen, digest, callback) => pbkdf2(password, salt, iterations, keylen, digest, callback);
58
+ const pbkdf2Promise = (0, _util.promisify)(pbkdf2WithDigest);
59
+ async function pbkdf2DeriveBits(algorithm, baseKey, length) {
60
+ const {
61
+ iterations,
62
+ hash,
63
+ salt
64
+ } = algorithm;
65
+ const normalizedHash = (0, _utils.normalizeHashName)(hash);
66
+ if (!normalizedHash) {
67
+ throw (0, _utils.lazyDOMException)('hash cannot be blank', 'OperationError');
68
+ }
69
+ if (!iterations || iterations === 0) {
70
+ throw (0, _utils.lazyDOMException)('iterations cannot be zero', 'OperationError');
71
+ }
72
+ if (!salt) {
73
+ throw (0, _utils.lazyDOMException)(WRONG_SALT, 'OperationError');
74
+ }
75
+ const raw = baseKey.keyObject.export();
76
+ if (length === 0) throw (0, _utils.lazyDOMException)('length cannot be zero', 'OperationError');
77
+ if (length === null) throw (0, _utils.lazyDOMException)('length cannot be null', 'OperationError');
78
+ if (length % 8) {
79
+ throw (0, _utils.lazyDOMException)('length must be a multiple of 8', 'OperationError');
80
+ }
81
+ const sanitizedPassword = sanitizeInput(raw, WRONG_PASS);
82
+ const sanitizedSalt = sanitizeInput(salt, WRONG_SALT);
83
+ const result = await pbkdf2Promise(sanitizedPassword, sanitizedSalt, iterations, length / 8, normalizedHash);
84
+ if (!result) {
85
+ throw (0, _utils.lazyDOMException)('received bad result from pbkdf2()', 'OperationError');
86
+ }
87
+ return (0, _utils.bufferLikeToArrayBuffer)(result);
88
+ }
89
+ //# sourceMappingURL=pbkdf2.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_reactNativeBuffer","require","_reactNativeNitroModules","_utils","_util","WRONG_PASS","WRONG_SALT","native","getNative","NitroModules","createHybridObject","sanitizeInput","input","errorMsg","binaryLikeToArrayBuffer","_e","Error","pbkdf2","password","salt","iterations","keylen","digest","callback","undefined","sanitizedPassword","sanitizedSalt","normalizedDigest","normalizeHashName","HashContext","Node","then","res","Buffer","from","e","pbkdf2Sync","algo","result","pbkdf2WithDigest","pbkdf2Promise","promisify","pbkdf2DeriveBits","algorithm","baseKey","length","hash","normalizedHash","lazyDOMException","raw","keyObject","export","bufferLikeToArrayBuffer"],"sourceRoot":"../../src","sources":["pbkdf2.ts"],"mappings":"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","ignoreList":[]}
@@ -12,7 +12,7 @@ exports.randomInt = randomInt;
12
12
  exports.randomUUID = randomUUID;
13
13
  exports.rng = void 0;
14
14
  var _reactNativeBuffer = require("@craftzdog/react-native-buffer");
15
- var _conversion = require("./utils/conversion");
15
+ var _utils = require("./utils");
16
16
  var _reactNativeNitroModules = require("react-native-nitro-modules");
17
17
  // to use native bits in sub-functions, use getNative(). don't call it at top-level!
18
18
  let random;
@@ -38,7 +38,7 @@ function randomFill(buffer, ...rest) {
38
38
  offset = rest[0];
39
39
  }
40
40
  getNative();
41
- random.randomFill((0, _conversion.abvToArrayBuffer)(buffer), offset, size).then(res => {
41
+ random.randomFill((0, _utils.abvToArrayBuffer)(buffer), offset, size).then(res => {
42
42
  callback(null, res);
43
43
  }, e => {
44
44
  callback(e);
@@ -46,7 +46,7 @@ function randomFill(buffer, ...rest) {
46
46
  }
47
47
  function randomFillSync(buffer, offset = 0, size) {
48
48
  getNative();
49
- buffer = (0, _conversion.abvToArrayBuffer)(buffer);
49
+ buffer = (0, _utils.abvToArrayBuffer)(buffer);
50
50
  const res = random.randomFillSync(buffer, offset, size ?? buffer.byteLength);
51
51
  buffer = res;
52
52
  return buffer;
@@ -1 +1 @@
1
- {"version":3,"names":["_reactNativeBuffer","require","_conversion","_reactNativeNitroModules","random","getNative","NitroModules","createHybridObject","randomFill","buffer","rest","length","Error","callback","offset","size","byteLength","abvToArrayBuffer","then","res","e","randomFillSync","randomBytes","buf","Buffer","undefined","error","from","rng","exports","pseudoRandomBytes","prng","RAND_MAX","randomCache","randomCacheOffset","asyncCacheFillInProgress","asyncCachePendingTasks","randomInt","arg1","arg2","max","min","minNotSpecified","TypeError","isSync","Number","isSafeInteger","range","randLimit","x","readUIntBE","n","process","nextTick","push","asyncRefillRandomIntCache","err","tasks","errorReceiver","shift","splice","forEach","task","getRandomValues","data","byteToHex","i","toString","slice","randomUUID","toLowerCase"],"sourceRoot":"../../src","sources":["random.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_reactNativeBuffer","require","_utils","_reactNativeNitroModules","random","getNative","NitroModules","createHybridObject","randomFill","buffer","rest","length","Error","callback","offset","size","byteLength","abvToArrayBuffer","then","res","e","randomFillSync","randomBytes","buf","Buffer","undefined","error","from","rng","exports","pseudoRandomBytes","prng","RAND_MAX","randomCache","randomCacheOffset","asyncCacheFillInProgress","asyncCachePendingTasks","randomInt","arg1","arg2","max","min","minNotSpecified","TypeError","isSync","Number","isSafeInteger","range","randLimit","x","readUIntBE","n","process","nextTick","push","asyncRefillRandomIntCache","err","tasks","errorReceiver","shift","splice","forEach","task","getRandomValues","data","byteToHex","i","toString","slice","randomUUID","toLowerCase"],"sourceRoot":"../../src","sources":["random.ts"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ //# sourceMappingURL=keyObjectHandle.nitro.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sourceRoot":"../../../src","sources":["specs/keyObjectHandle.nitro.ts"],"mappings":"","ignoreList":[]}
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ //# sourceMappingURL=pbkdf2.nitro.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sourceRoot":"../../../src","sources":["specs/pbkdf2.nitro.ts"],"mappings":"","ignoreList":[]}
@@ -5,7 +5,11 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.ab2str = ab2str;
7
7
  exports.abvToArrayBuffer = void 0;
8
+ exports.binaryLikeToArrayBuffer = binaryLikeToArrayBuffer;
9
+ exports.bufferLikeToArrayBuffer = bufferLikeToArrayBuffer;
10
+ exports.toArrayBuffer = toArrayBuffer;
8
11
  var _reactNativeBuffer = require("@craftzdog/react-native-buffer");
12
+ var _safeBuffer = require("safe-buffer");
9
13
  const abvToArrayBuffer = buffer => {
10
14
  if (_reactNativeBuffer.Buffer.isBuffer(buffer)) {
11
15
  return buffer.buffer;
@@ -16,6 +20,76 @@ const abvToArrayBuffer = buffer => {
16
20
  return buffer;
17
21
  };
18
22
  exports.abvToArrayBuffer = abvToArrayBuffer;
23
+ function toArrayBuffer(buf) {
24
+ if (_reactNativeBuffer.Buffer.isBuffer(buf) && buf?.buffer?.slice) {
25
+ return buf.buffer.slice(buf.byteOffset, buf.byteOffset + buf.byteLength);
26
+ }
27
+ const ab = new ArrayBuffer(buf.length);
28
+ const view = new Uint8Array(ab);
29
+ for (let i = 0; i < buf.length; ++i) {
30
+ view[i] = _safeBuffer.Buffer.isBuffer(buf) ? buf.readUInt8(i) : buf[i];
31
+ }
32
+ return ab;
33
+ }
34
+ function bufferLikeToArrayBuffer(buf) {
35
+ if (_reactNativeBuffer.Buffer.isBuffer(buf)) {
36
+ return buf.buffer;
37
+ }
38
+ if (_safeBuffer.Buffer.isBuffer(buf)) {
39
+ return toArrayBuffer(buf);
40
+ }
41
+ if (ArrayBuffer.isView(buf)) {
42
+ return buf.buffer;
43
+ }
44
+ return buf;
45
+ }
46
+ function binaryLikeToArrayBuffer(input,
47
+ // CipherKey adds compat with node types
48
+ encoding = 'utf-8') {
49
+ // string
50
+ if (typeof input === 'string') {
51
+ if (encoding === 'buffer') {
52
+ throw new Error('Cannot create a buffer from a string with a buffer encoding');
53
+ }
54
+ const buffer = _reactNativeBuffer.Buffer.from(input, encoding);
55
+ return buffer.buffer.slice(buffer.byteOffset, buffer.byteOffset + buffer.byteLength);
56
+ }
57
+
58
+ // Buffer
59
+ if (_reactNativeBuffer.Buffer.isBuffer(input)) {
60
+ return toArrayBuffer(input);
61
+ }
62
+
63
+ // ArrayBufferView
64
+ // TODO add further binary types to BinaryLike, UInt8Array and so for have this array as property
65
+ if (ArrayBuffer.isView(input)) {
66
+ return input.buffer;
67
+ }
68
+
69
+ // ArrayBuffer
70
+ if (input instanceof ArrayBuffer) {
71
+ return input;
72
+ }
73
+
74
+ // if (!(input instanceof ArrayBuffer)) {
75
+ // try {
76
+ // // this is a strange fallback case and input is unknown at this point
77
+ // const buffer = Buffer.from(input as unknown as string);
78
+ // return buffer.buffer.slice(
79
+ // buffer.byteOffset,
80
+ // buffer.byteOffset + buffer.byteLength
81
+ // );
82
+ // } catch(e: unknown) {
83
+ // console.log('throwing 1');
84
+ // const err = e as Error;
85
+ // throw new Error(err.message);
86
+ // }
87
+ // }
88
+
89
+ // TODO: handle if input is KeyObject?
90
+
91
+ throw new Error('input could not be converted to ArrayBuffer');
92
+ }
19
93
  function ab2str(buf, encoding = 'hex') {
20
94
  return _reactNativeBuffer.Buffer.from(buf).toString(encoding);
21
95
  }
@@ -1 +1 @@
1
- {"version":3,"names":["_reactNativeBuffer","require","abvToArrayBuffer","buffer","Buffer","isBuffer","ArrayBuffer","isView","exports","ab2str","buf","encoding","from","toString"],"sourceRoot":"../../../src","sources":["utils/conversion.ts"],"mappings":";;;;;;;AAAA,IAAAA,kBAAA,GAAAC,OAAA;AAGO,MAAMC,gBAAgB,GAAIC,MAAuB,IAAK;EAC3D,IAAIC,yBAAM,CAACC,QAAQ,CAACF,MAAM,CAAC,EAAE;IAC3B,OAAOA,MAAM,CAACA,MAAM;EACtB;EACA,IAAIG,WAAW,CAACC,MAAM,CAACJ,MAAM,CAAC,EAAE;IAC9B,OAAOA,MAAM,CAACA,MAAM;EACtB;EACA,OAAOA,MAAM;AACf,CAAC;AAACK,OAAA,CAAAN,gBAAA,GAAAA,gBAAA;AAEK,SAASO,MAAMA,CAACC,GAAgB,EAAEC,QAAgB,GAAG,KAAK,EAAE;EACjE,OAAOP,yBAAM,CAACQ,IAAI,CAACF,GAAG,CAAC,CAACG,QAAQ,CAACF,QAAQ,CAAC;AAC5C","ignoreList":[]}
1
+ {"version":3,"names":["_reactNativeBuffer","require","_safeBuffer","abvToArrayBuffer","buffer","Buffer","isBuffer","ArrayBuffer","isView","exports","toArrayBuffer","buf","slice","byteOffset","byteLength","ab","length","view","Uint8Array","i","SBuffer","readUInt8","bufferLikeToArrayBuffer","binaryLikeToArrayBuffer","input","encoding","Error","from","ab2str","toString"],"sourceRoot":"../../../src","sources":["utils/conversion.ts"],"mappings":";;;;;;;;;;AAAA,IAAAA,kBAAA,GAAAC,OAAA;AACA,IAAAC,WAAA,GAAAD,OAAA;AAGO,MAAME,gBAAgB,GAAIC,MAAuB,IAAK;EAC3D,IAAIC,yBAAM,CAACC,QAAQ,CAACF,MAAM,CAAC,EAAE;IAC3B,OAAOA,MAAM,CAACA,MAAM;EACtB;EACA,IAAIG,WAAW,CAACC,MAAM,CAACJ,MAAM,CAAC,EAAE;IAC9B,OAAOA,MAAM,CAACA,MAAM;EACtB;EACA,OAAOA,MAAM;AACf,CAAC;AAACK,OAAA,CAAAN,gBAAA,GAAAA,gBAAA;AAEK,SAASO,aAAaA,CAACC,GAAqB,EAAe;EAChE,IAAIN,yBAAM,CAACC,QAAQ,CAACK,GAAG,CAAC,IAAIA,GAAG,EAAEP,MAAM,EAAEQ,KAAK,EAAE;IAC9C,OAAOD,GAAG,CAACP,MAAM,CAACQ,KAAK,CAACD,GAAG,CAACE,UAAU,EAAEF,GAAG,CAACE,UAAU,GAAGF,GAAG,CAACG,UAAU,CAAC;EAC1E;EACA,MAAMC,EAAE,GAAG,IAAIR,WAAW,CAACI,GAAG,CAACK,MAAM,CAAC;EACtC,MAAMC,IAAI,GAAG,IAAIC,UAAU,CAACH,EAAE,CAAC;EAC/B,KAAK,IAAII,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGR,GAAG,CAACK,MAAM,EAAE,EAAEG,CAAC,EAAE;IACnCF,IAAI,CAACE,CAAC,CAAC,GAAGC,kBAAO,CAACd,QAAQ,CAACK,GAAG,CAAC,GAAGA,GAAG,CAACU,SAAS,CAACF,CAAC,CAAC,GAAGR,GAAG,CAACQ,CAAC,CAAE;EAC9D;EACA,OAAOJ,EAAE;AACX;AAEO,SAASO,uBAAuBA,CAACX,GAAe,EAAe;EACpE,IAAIN,yBAAM,CAACC,QAAQ,CAACK,GAAG,CAAC,EAAE;IACxB,OAAOA,GAAG,CAACP,MAAM;EACnB;EACA,IAAIgB,kBAAO,CAACd,QAAQ,CAACK,GAAG,CAAC,EAAE;IACzB,OAAOD,aAAa,CAACC,GAAG,CAAC;EAC3B;EACA,IAAIJ,WAAW,CAACC,MAAM,CAACG,GAAG,CAAC,EAAE;IAC3B,OAAOA,GAAG,CAACP,MAAM;EACnB;EACA,OAAOO,GAAG;AACZ;AAEO,SAASY,uBAAuBA,CACrCC,KAAqB;AAAE;AACvBC,QAAgB,GAAG,OAAO,EACb;EACb;EACA,IAAI,OAAOD,KAAK,KAAK,QAAQ,EAAE;IAC7B,IAAIC,QAAQ,KAAK,QAAQ,EAAE;MACzB,MAAM,IAAIC,KAAK,CACb,6DACF,CAAC;IACH;IAEA,MAAMtB,MAAM,GAAGC,yBAAM,CAACsB,IAAI,CAACH,KAAK,EAAEC,QAAQ,CAAC;IAE3C,OAAOrB,MAAM,CAACA,MAAM,CAACQ,KAAK,CACxBR,MAAM,CAACS,UAAU,EACjBT,MAAM,CAACS,UAAU,GAAGT,MAAM,CAACU,UAC7B,CAAC;EACH;;EAEA;EACA,IAAIT,yBAAM,CAACC,QAAQ,CAACkB,KAAK,CAAC,EAAE;IAC1B,OAAOd,aAAa,CAACc,KAAK,CAAC;EAC7B;;EAEA;EACA;EACA,IAAIjB,WAAW,CAACC,MAAM,CAACgB,KAAK,CAAC,EAAE;IAC7B,OAAOA,KAAK,CAACpB,MAAM;EACrB;;EAEA;EACA,IAAIoB,KAAK,YAAYjB,WAAW,EAAE;IAChC,OAAOiB,KAAK;EACd;;EAEA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;EAEA;;EAEA,MAAM,IAAIE,KAAK,CAAC,6CAA6C,CAAC;AAChE;AAEO,SAASE,MAAMA,CAACjB,GAAgB,EAAEc,QAAgB,GAAG,KAAK,EAAE;EACjE,OAAOpB,yBAAM,CAACsB,IAAI,CAAChB,GAAG,CAAC,CAACkB,QAAQ,CAACJ,QAAQ,CAAC;AAC5C","ignoreList":[]}
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.lazyDOMException = lazyDOMException;
7
+ function lazyDOMException(message, domName) {
8
+ let cause = '';
9
+ if (typeof domName !== 'string') {
10
+ cause = `\nCaused by: ${domName.cause}`;
11
+ }
12
+ return new Error(`[${domName}]: ${message}${cause}`);
13
+ }
14
+ //# sourceMappingURL=errors.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["lazyDOMException","message","domName","cause","Error"],"sourceRoot":"../../../src","sources":["utils/errors.ts"],"mappings":";;;;;;AAOO,SAASA,gBAAgBA,CAACC,OAAe,EAAEC,OAAgB,EAAS;EACzE,IAAIC,KAAK,GAAG,EAAE;EACd,IAAI,OAAOD,OAAO,KAAK,QAAQ,EAAE;IAC/BC,KAAK,GAAG,gBAAgBD,OAAO,CAACC,KAAK,EAAE;EACzC;EAEA,OAAO,IAAIC,KAAK,CAAC,IAAIF,OAAO,MAAMD,OAAO,GAAGE,KAAK,EAAE,CAAC;AACtD","ignoreList":[]}
@@ -0,0 +1,90 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.HashContext = void 0;
7
+ exports.normalizeHashName = normalizeHashName;
8
+ let HashContext = exports.HashContext = /*#__PURE__*/function (HashContext) {
9
+ HashContext[HashContext["Node"] = 0] = "Node";
10
+ HashContext[HashContext["WebCrypto"] = 1] = "WebCrypto";
11
+ HashContext[HashContext["JwkRsa"] = 2] = "JwkRsa";
12
+ HashContext[HashContext["JwkRsaPss"] = 3] = "JwkRsaPss";
13
+ HashContext[HashContext["JwkRsaOaep"] = 4] = "JwkRsaOaep";
14
+ HashContext[HashContext["JwkHmac"] = 5] = "JwkHmac";
15
+ return HashContext;
16
+ }({}); // WebCrypto and JWK use a bunch of different names for the
17
+ // standard set of SHA-* digest algorithms... which is ... fun.
18
+ // Here we provide a utility for mapping between them in order
19
+ // make it easier in the code.
20
+ const kHashNames = {
21
+ sha1: {
22
+ [HashContext.Node]: 'sha1',
23
+ [HashContext.WebCrypto]: 'SHA-1',
24
+ [HashContext.JwkRsa]: 'RS1',
25
+ [HashContext.JwkRsaPss]: 'PS1',
26
+ [HashContext.JwkRsaOaep]: 'RSA-OAEP',
27
+ [HashContext.JwkHmac]: 'HS1'
28
+ },
29
+ sha224: {
30
+ [HashContext.Node]: 'sha224',
31
+ [HashContext.WebCrypto]: 'SHA-224',
32
+ [HashContext.JwkRsa]: 'RS224',
33
+ [HashContext.JwkRsaPss]: 'PS224',
34
+ [HashContext.JwkRsaOaep]: 'RSA-OAEP-224',
35
+ [HashContext.JwkHmac]: 'HS224'
36
+ },
37
+ sha256: {
38
+ [HashContext.Node]: 'sha256',
39
+ [HashContext.WebCrypto]: 'SHA-256',
40
+ [HashContext.JwkRsa]: 'RS256',
41
+ [HashContext.JwkRsaPss]: 'PS256',
42
+ [HashContext.JwkRsaOaep]: 'RSA-OAEP-256',
43
+ [HashContext.JwkHmac]: 'HS256'
44
+ },
45
+ sha384: {
46
+ [HashContext.Node]: 'sha384',
47
+ [HashContext.WebCrypto]: 'SHA-384',
48
+ [HashContext.JwkRsa]: 'RS384',
49
+ [HashContext.JwkRsaPss]: 'PS384',
50
+ [HashContext.JwkRsaOaep]: 'RSA-OAEP-384',
51
+ [HashContext.JwkHmac]: 'HS384'
52
+ },
53
+ sha512: {
54
+ [HashContext.Node]: 'sha512',
55
+ [HashContext.WebCrypto]: 'SHA-512',
56
+ [HashContext.JwkRsa]: 'RS512',
57
+ [HashContext.JwkRsaPss]: 'PS512',
58
+ [HashContext.JwkRsaOaep]: 'RSA-OAEP-512',
59
+ [HashContext.JwkHmac]: 'HS512'
60
+ },
61
+ ripemd160: {
62
+ [HashContext.Node]: 'ripemd160',
63
+ [HashContext.WebCrypto]: 'RIPEMD-160'
64
+ }
65
+ };
66
+ {
67
+ // Index the aliases
68
+ const keys = Object.keys(kHashNames);
69
+ for (let n = 0; n < keys.length; n++) {
70
+ const contexts = Object.keys(kHashNames[keys[n]]);
71
+ for (let i = 0; i < contexts.length; i++) {
72
+ const alias = kHashNames[keys[n]][contexts[i]].toLowerCase();
73
+ if (kHashNames[alias] === undefined) kHashNames[alias] = kHashNames[keys[n]];
74
+ }
75
+ }
76
+ }
77
+ function normalizeHashName(algo, context = HashContext.Node) {
78
+ if (typeof algo !== 'undefined') {
79
+ const normAlgo = algo.toString().toLowerCase();
80
+ try {
81
+ const alias = kHashNames[normAlgo][context];
82
+ if (alias) return alias;
83
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
84
+ } catch (_e) {
85
+ // ignore
86
+ }
87
+ }
88
+ throw new Error(`Invalid Hash Algorithm: ${algo}`);
89
+ }
90
+ //# sourceMappingURL=hashnames.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["HashContext","exports","kHashNames","sha1","Node","WebCrypto","JwkRsa","JwkRsaPss","JwkRsaOaep","JwkHmac","sha224","sha256","sha384","sha512","ripemd160","keys","Object","n","length","contexts","i","alias","toLowerCase","undefined","normalizeHashName","algo","context","normAlgo","toString","_e","Error"],"sourceRoot":"../../../src","sources":["utils/hashnames.ts"],"mappings":"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","ignoreList":[]}
@@ -3,10 +3,48 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.utils = void 0;
7
6
  var _conversion = require("./conversion");
8
- const utils = exports.utils = {
9
- ab2str: _conversion.ab2str,
10
- abvToArrayBuffer: _conversion.abvToArrayBuffer
11
- };
7
+ Object.keys(_conversion).forEach(function (key) {
8
+ if (key === "default" || key === "__esModule") return;
9
+ if (key in exports && exports[key] === _conversion[key]) return;
10
+ Object.defineProperty(exports, key, {
11
+ enumerable: true,
12
+ get: function () {
13
+ return _conversion[key];
14
+ }
15
+ });
16
+ });
17
+ var _errors = require("./errors");
18
+ Object.keys(_errors).forEach(function (key) {
19
+ if (key === "default" || key === "__esModule") return;
20
+ if (key in exports && exports[key] === _errors[key]) return;
21
+ Object.defineProperty(exports, key, {
22
+ enumerable: true,
23
+ get: function () {
24
+ return _errors[key];
25
+ }
26
+ });
27
+ });
28
+ var _hashnames = require("./hashnames");
29
+ Object.keys(_hashnames).forEach(function (key) {
30
+ if (key === "default" || key === "__esModule") return;
31
+ if (key in exports && exports[key] === _hashnames[key]) return;
32
+ Object.defineProperty(exports, key, {
33
+ enumerable: true,
34
+ get: function () {
35
+ return _hashnames[key];
36
+ }
37
+ });
38
+ });
39
+ var _types = require("./types");
40
+ Object.keys(_types).forEach(function (key) {
41
+ if (key === "default" || key === "__esModule") return;
42
+ if (key in exports && exports[key] === _types[key]) return;
43
+ Object.defineProperty(exports, key, {
44
+ enumerable: true,
45
+ get: function () {
46
+ return _types[key];
47
+ }
48
+ });
49
+ });
12
50
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_conversion","require","utils","exports","ab2str","abvToArrayBuffer"],"sourceRoot":"../../../src","sources":["utils/index.ts"],"mappings":";;;;;;AAAA,IAAAA,WAAA,GAAAC,OAAA;AAEO,MAAMC,KAAK,GAAAC,OAAA,CAAAD,KAAA,GAAG;EACnBE,MAAM,EAANA,kBAAM;EACNC,gBAAgB,EAAhBA;AACF,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["_conversion","require","Object","keys","forEach","key","exports","defineProperty","enumerable","get","_errors","_hashnames","_types"],"sourceRoot":"../../../src","sources":["utils/index.ts"],"mappings":";;;;;AAAA,IAAAA,WAAA,GAAAC,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAH,WAAA,EAAAI,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAL,WAAA,CAAAK,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAT,WAAA,CAAAK,GAAA;IAAA;EAAA;AAAA;AACA,IAAAK,OAAA,GAAAT,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAO,OAAA,EAAAN,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAK,OAAA,CAAAL,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAC,OAAA,CAAAL,GAAA;IAAA;EAAA;AAAA;AACA,IAAAM,UAAA,GAAAV,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAQ,UAAA,EAAAP,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAM,UAAA,CAAAN,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAE,UAAA,CAAAN,GAAA;IAAA;EAAA;AAAA;AACA,IAAAO,MAAA,GAAAX,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAS,MAAA,EAAAR,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAO,MAAA,CAAAP,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAG,MAAA,CAAAP,GAAA;IAAA;EAAA;AAAA","ignoreList":[]}
@@ -1,2 +1,29 @@
1
1
  "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.KeyType = exports.KeyEncoding = exports.KFormatType = void 0;
7
+ // @types/node
8
+ // On node this value is defined on the native side, for now I'm just creating it here in JS
9
+ // TODO(osp) move this into native side to make sure they always match
10
+ let KFormatType = exports.KFormatType = /*#__PURE__*/function (KFormatType) {
11
+ KFormatType[KFormatType["kKeyFormatDER"] = 0] = "kKeyFormatDER";
12
+ KFormatType[KFormatType["kKeyFormatPEM"] = 1] = "kKeyFormatPEM";
13
+ KFormatType[KFormatType["kKeyFormatJWK"] = 2] = "kKeyFormatJWK";
14
+ return KFormatType;
15
+ }({}); // Same as KFormatType, this enum needs to be defined on the native side
16
+ let KeyType = exports.KeyType = /*#__PURE__*/function (KeyType) {
17
+ KeyType[KeyType["Secret"] = 0] = "Secret";
18
+ KeyType[KeyType["Public"] = 1] = "Public";
19
+ KeyType[KeyType["Private"] = 2] = "Private";
20
+ return KeyType;
21
+ }({});
22
+ let KeyEncoding = exports.KeyEncoding = /*#__PURE__*/function (KeyEncoding) {
23
+ KeyEncoding[KeyEncoding["kKeyEncodingPKCS1"] = 0] = "kKeyEncodingPKCS1";
24
+ KeyEncoding[KeyEncoding["kKeyEncodingPKCS8"] = 1] = "kKeyEncodingPKCS8";
25
+ KeyEncoding[KeyEncoding["kKeyEncodingSPKI"] = 2] = "kKeyEncodingSPKI";
26
+ KeyEncoding[KeyEncoding["kKeyEncodingSEC1"] = 3] = "kKeyEncodingSEC1";
27
+ return KeyEncoding;
28
+ }({});
2
29
  //# sourceMappingURL=types.js.map
@@ -1 +1 @@
1
- {"version":3,"names":[],"sourceRoot":"../../../src","sources":["utils/types.ts"],"mappings":"","ignoreList":[]}
1
+ {"version":3,"names":["KFormatType","exports","KeyType","KeyEncoding"],"sourceRoot":"../../../src","sources":["utils/types.ts"],"mappings":";;;;;;AAEyC;AAyGzC;AACA;AAAA,IACYA,WAAW,GAAAC,OAAA,CAAAD,WAAA,0BAAXA,WAAW;EAAXA,WAAW,CAAXA,WAAW;EAAXA,WAAW,CAAXA,WAAW;EAAXA,WAAW,CAAXA,WAAW;EAAA,OAAXA,WAAW;AAAA,OAMvB;AAAA,IACYE,OAAO,GAAAD,OAAA,CAAAC,OAAA,0BAAPA,OAAO;EAAPA,OAAO,CAAPA,OAAO;EAAPA,OAAO,CAAPA,OAAO;EAAPA,OAAO,CAAPA,OAAO;EAAA,OAAPA,OAAO;AAAA;AAAA,IAMPC,WAAW,GAAAF,OAAA,CAAAE,WAAA,0BAAXA,WAAW;EAAXA,WAAW,CAAXA,WAAW;EAAXA,WAAW,CAAXA,WAAW;EAAXA,WAAW,CAAXA,WAAW;EAAXA,WAAW,CAAXA,WAAW;EAAA,OAAXA,WAAW;AAAA","ignoreList":[]}
@@ -4,10 +4,11 @@
4
4
  import { Buffer } from '@craftzdog/react-native-buffer';
5
5
 
6
6
  // API imports
7
+ import * as pbkdf2 from './pbkdf2';
7
8
  import * as random from './random';
8
9
 
9
10
  // utils import
10
- import { utils } from './utils';
11
+ import * as utils from './utils';
11
12
 
12
13
  /**
13
14
  * Loosely matches Node.js {crypto} with some unimplemented functionality.
@@ -36,16 +37,17 @@ const QuickCrypto = {
36
37
  // createVerify,
37
38
  // subtle,
38
39
  // constants,
39
- // ...pbkdf2,
40
+ ...pbkdf2,
40
41
  ...random,
41
42
  // getCiphers,
42
43
  // getHashes,
43
44
  // webcrypto,
44
- utils
45
+ ...utils
45
46
  };
46
47
 
47
48
  /**
48
- * Optional. Patch global.crypto with quickcrypto and global.Buffer with react-native-buffer.
49
+ * Optional. Patch global.crypto with react-native-quick-crypto and
50
+ * global.Buffer with react-native-buffer.
49
51
  */
50
52
  export const install = () => {
51
53
  // @ts-expect-error copyBytesFrom and poolSizets are missing from react-native-buffer
@@ -57,7 +59,10 @@ export const install = () => {
57
59
 
58
60
  // random, cipher, hash use nextTick
59
61
  global.process.nextTick = setImmediate;
62
+
63
+ // exports
60
64
  export default QuickCrypto;
65
+ export * from './utils';
61
66
 
62
67
  // Additional exports for CommonJS compatibility
63
68
  module.exports = QuickCrypto;
@@ -1 +1 @@
1
- {"version":3,"names":["Buffer","random","utils","QuickCrypto","install","global","crypto","process","nextTick","setImmediate","module","exports","default"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":";;AAAA;AACA,SAASA,MAAM,QAAQ,gCAAgC;;AAEvD;AACA,OAAO,KAAKC,MAAM,MAAM,UAAU;;AAElC;AACA,SAASC,KAAK,QAAQ,SAAS;;AAE/B;AACA;AACA;AACA;AACA,MAAMC,WAAW,GAAG;EAClB;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,GAAGF,MAAM;EACT;EACA;EACA;EACAC;AACF,CAAC;;AAED;AACA;AACA;AACA,OAAO,MAAME,OAAO,GAAGA,CAAA,KAAM;EAC3B;EACAC,MAAM,CAACL,MAAM,GAAGA,MAAM;;EAEtB;EACAK,MAAM,CAACC,MAAM,GAAGH,WAAW;AAC7B,CAAC;;AAED;AACAE,MAAM,CAACE,OAAO,CAACC,QAAQ,GAAGC,YAAY;AAEtC,eAAeN,WAAW;;AAE1B;AACAO,MAAM,CAACC,OAAO,GAAGR,WAAW;AAC5BO,MAAM,CAACC,OAAO,CAACC,OAAO,GAAGT,WAAW;AACpCO,MAAM,CAACC,OAAO,CAACP,OAAO,GAAGA,OAAO","ignoreList":[]}
1
+ {"version":3,"names":["Buffer","pbkdf2","random","utils","QuickCrypto","install","global","crypto","process","nextTick","setImmediate","module","exports","default"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":";;AAAA;AACA,SAASA,MAAM,QAAQ,gCAAgC;;AAEvD;AACA,OAAO,KAAKC,MAAM,MAAM,UAAU;AAClC,OAAO,KAAKC,MAAM,MAAM,UAAU;;AAElC;AACA,OAAO,KAAKC,KAAK,MAAM,SAAS;;AAEhC;AACA;AACA;AACA;AACA,MAAMC,WAAW,GAAG;EAClB;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,GAAGH,MAAM;EACT,GAAGC,MAAM;EACT;EACA;EACA;EACA,GAAGC;AACL,CAAC;;AAED;AACA;AACA;AACA;AACA,OAAO,MAAME,OAAO,GAAGA,CAAA,KAAM;EAC3B;EACAC,MAAM,CAACN,MAAM,GAAGA,MAAM;;EAEtB;EACAM,MAAM,CAACC,MAAM,GAAGH,WAAW;AAC7B,CAAC;;AAED;AACAE,MAAM,CAACE,OAAO,CAACC,QAAQ,GAAGC,YAAY;;AAEtC;AACA,eAAeN,WAAW;AAC1B,cAAc,SAAS;;AAEvB;AACAO,MAAM,CAACC,OAAO,GAAGR,WAAW;AAC5BO,MAAM,CAACC,OAAO,CAACC,OAAO,GAAGT,WAAW;AACpCO,MAAM,CAACC,OAAO,CAACP,OAAO,GAAGA,OAAO","ignoreList":[]}
@@ -0,0 +1,81 @@
1
+ "use strict";
2
+
3
+ export class CryptoKey {
4
+ constructor(keyObject, keyAlgorithm, keyUsages, keyExtractable) {
5
+ this.keyObject = keyObject;
6
+ this.keyAlgorithm = keyAlgorithm;
7
+ this.keyUsages = keyUsages;
8
+ this.keyExtractable = keyExtractable;
9
+ }
10
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
11
+ inspect(_depth, _options) {
12
+ throw new Error('CryptoKey.inspect is not implemented');
13
+ // if (depth < 0) return this;
14
+
15
+ // const opts = {
16
+ // ...options,
17
+ // depth: options.depth == null ? null : options.depth - 1,
18
+ // };
19
+
20
+ // return `CryptoKey ${inspect(
21
+ // {
22
+ // type: this.type,
23
+ // extractable: this.extractable,
24
+ // algorithm: this.algorithm,
25
+ // usages: this.usages,
26
+ // },
27
+ // opts
28
+ // )}`;
29
+ }
30
+ get type() {
31
+ // if (!(this instanceof CryptoKey)) throw new Error('Invalid CryptoKey');
32
+ return this.keyObject.type;
33
+ }
34
+ get extractable() {
35
+ return this.keyExtractable;
36
+ }
37
+ get algorithm() {
38
+ return this.keyAlgorithm;
39
+ }
40
+ get usages() {
41
+ return this.keyUsages;
42
+ }
43
+ }
44
+ class KeyObject {
45
+ type = 'unknown';
46
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
47
+ export(_options) {
48
+ return new ArrayBuffer(0);
49
+ }
50
+ constructor(type, handle) {
51
+ if (type !== 'secret' && type !== 'public' && type !== 'private') throw new Error(`invalid KeyObject type: ${type}`);
52
+ this.handle = handle;
53
+ this.type = type;
54
+ }
55
+
56
+ // get type(): string {
57
+ // return this.type;
58
+ // }
59
+
60
+ // static from(key) {
61
+ // if (!isCryptoKey(key))
62
+ // throw new ERR_INVALID_ARG_TYPE('key', 'CryptoKey', key);
63
+ // return key[kKeyObject];
64
+ // }
65
+
66
+ // equals(otherKeyObject) {
67
+ // if (!isKeyObject(otherKeyObject)) {
68
+ // throw new ERR_INVALID_ARG_TYPE(
69
+ // 'otherKeyObject',
70
+ // 'KeyObject',
71
+ // otherKeyObject
72
+ // );
73
+ // }
74
+
75
+ // return (
76
+ // otherKeyObject.type === this.type &&
77
+ // this[kHandle].equals(otherKeyObject[kHandle])
78
+ // );
79
+ // }
80
+ }
81
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["CryptoKey","constructor","keyObject","keyAlgorithm","keyUsages","keyExtractable","inspect","_depth","_options","Error","type","extractable","algorithm","usages","KeyObject","export","ArrayBuffer","handle"],"sourceRoot":"../../../src","sources":["keys/index.ts"],"mappings":";;AAGA,OAAO,MAAMA,SAAS,CAAC;EAMrBC,WAAWA,CACTC,SAAoB,EACpBC,YAA6B,EAC7BC,SAAqB,EACrBC,cAAuB,EACvB;IACA,IAAI,CAACH,SAAS,GAAGA,SAAS;IAC1B,IAAI,CAACC,YAAY,GAAGA,YAAY;IAChC,IAAI,CAACC,SAAS,GAAGA,SAAS;IAC1B,IAAI,CAACC,cAAc,GAAGA,cAAc;EACtC;EACA;EACAC,OAAOA,CAACC,MAAc,EAAEC,QAAiB,EAAW;IAClD,MAAM,IAAIC,KAAK,CAAC,sCAAsC,CAAC;IACvD;;IAEA;IACA;IACA;IACA;;IAEA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;EACF;EAEA,IAAIC,IAAIA,CAAA,EAAG;IACT;IACA,OAAO,IAAI,CAACR,SAAS,CAACQ,IAAI;EAC5B;EAEA,IAAIC,WAAWA,CAAA,EAAG;IAChB,OAAO,IAAI,CAACN,cAAc;EAC5B;EAEA,IAAIO,SAASA,CAAA,EAAG;IACd,OAAO,IAAI,CAACT,YAAY;EAC1B;EAEA,IAAIU,MAAMA,CAAA,EAAG;IACX,OAAO,IAAI,CAACT,SAAS;EACvB;AACF;AAEA,MAAMU,SAAS,CAAC;EAEdJ,IAAI,GAAgD,SAAS;EAC7D;EACAK,MAAMA,CAACP,QAA0B,EAAe;IAC9C,OAAO,IAAIQ,WAAW,CAAC,CAAC,CAAC;EAC3B;EAEAf,WAAWA,CAACS,IAAY,EAAEO,MAAuB,EAAE;IACjD,IAAIP,IAAI,KAAK,QAAQ,IAAIA,IAAI,KAAK,QAAQ,IAAIA,IAAI,KAAK,SAAS,EAC9D,MAAM,IAAID,KAAK,CAAC,2BAA2BC,IAAI,EAAE,CAAC;IACpD,IAAI,CAACO,MAAM,GAAGA,MAAM;IACpB,IAAI,CAACP,IAAI,GAAGA,IAAI;EAClB;;EAEA;EACA;EACA;;EAEA;EACA;EACA;EACA;EACA;;EAEA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;EAEA;EACA;EACA;EACA;EACA;AACF","ignoreList":[]}