react-native-quick-crypto 1.0.0-beta.4 → 1.0.0-beta.6

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 (106) hide show
  1. package/android/CMakeLists.txt +2 -4
  2. package/android/build.gradle +33 -4
  3. package/cpp/ed25519/HybridEdKeyPair.cpp +233 -0
  4. package/cpp/ed25519/HybridEdKeyPair.hpp +72 -0
  5. package/cpp/pbkdf2/HybridPbkdf2.cpp +6 -5
  6. package/cpp/pbkdf2/HybridPbkdf2.hpp +4 -4
  7. package/cpp/random/HybridRandom.cpp +6 -5
  8. package/cpp/random/HybridRandom.hpp +8 -4
  9. package/lib/commonjs/ed.js +38 -0
  10. package/lib/commonjs/ed.js.map +1 -0
  11. package/lib/commonjs/index.js +15 -5
  12. package/lib/commonjs/index.js.map +1 -1
  13. package/lib/commonjs/keys/classes.js +191 -0
  14. package/lib/commonjs/keys/classes.js.map +1 -0
  15. package/lib/commonjs/keys/generateKeyPair.js +148 -0
  16. package/lib/commonjs/keys/generateKeyPair.js.map +1 -0
  17. package/lib/commonjs/keys/index.js +48 -72
  18. package/lib/commonjs/keys/index.js.map +1 -1
  19. package/lib/commonjs/keys/signVerify.js +41 -0
  20. package/lib/commonjs/keys/signVerify.js.map +1 -0
  21. package/lib/commonjs/keys/utils.js +118 -0
  22. package/lib/commonjs/keys/utils.js.map +1 -0
  23. package/lib/commonjs/specs/edKeyPair.nitro.js +6 -0
  24. package/lib/commonjs/specs/edKeyPair.nitro.js.map +1 -0
  25. package/lib/commonjs/utils/conversion.js +2 -0
  26. package/lib/commonjs/utils/conversion.js.map +1 -1
  27. package/lib/commonjs/utils/index.js +11 -0
  28. package/lib/commonjs/utils/index.js.map +1 -1
  29. package/lib/commonjs/utils/types.js +12 -1
  30. package/lib/commonjs/utils/types.js.map +1 -1
  31. package/lib/commonjs/utils/validation.js +25 -0
  32. package/lib/commonjs/utils/validation.js.map +1 -0
  33. package/lib/module/ed.js +33 -0
  34. package/lib/module/ed.js.map +1 -0
  35. package/lib/module/index.js +5 -5
  36. package/lib/module/index.js.map +1 -1
  37. package/lib/module/keys/classes.js +182 -0
  38. package/lib/module/keys/classes.js.map +1 -0
  39. package/lib/module/keys/generateKeyPair.js +148 -0
  40. package/lib/module/keys/generateKeyPair.js.map +1 -0
  41. package/lib/module/keys/index.js +25 -77
  42. package/lib/module/keys/index.js.map +1 -1
  43. package/lib/module/keys/signVerify.js +41 -0
  44. package/lib/module/keys/signVerify.js.map +1 -0
  45. package/lib/module/keys/utils.js +110 -0
  46. package/lib/module/keys/utils.js.map +1 -0
  47. package/lib/module/specs/edKeyPair.nitro.js +4 -0
  48. package/lib/module/specs/edKeyPair.nitro.js.map +1 -0
  49. package/lib/module/utils/conversion.js +1 -0
  50. package/lib/module/utils/conversion.js.map +1 -1
  51. package/lib/module/utils/index.js +1 -0
  52. package/lib/module/utils/index.js.map +1 -1
  53. package/lib/module/utils/types.js +14 -0
  54. package/lib/module/utils/types.js.map +1 -1
  55. package/lib/module/utils/validation.js +19 -0
  56. package/lib/module/utils/validation.js.map +1 -0
  57. package/lib/tsconfig.tsbuildinfo +1 -1
  58. package/lib/typescript/ed.d.ts +16 -0
  59. package/lib/typescript/ed.d.ts.map +1 -0
  60. package/lib/typescript/index.d.ts +27 -5
  61. package/lib/typescript/index.d.ts.map +1 -1
  62. package/lib/typescript/keys/classes.d.ts +38 -0
  63. package/lib/typescript/keys/classes.d.ts.map +1 -0
  64. package/lib/typescript/keys/generateKeyPair.d.ts +1 -0
  65. package/lib/typescript/keys/generateKeyPair.d.ts.map +1 -0
  66. package/lib/typescript/keys/index.d.ts +3 -21
  67. package/lib/typescript/keys/index.d.ts.map +1 -1
  68. package/lib/typescript/keys/signVerify.d.ts +1 -0
  69. package/lib/typescript/keys/signVerify.d.ts.map +1 -0
  70. package/lib/typescript/keys/utils.d.ts +32 -0
  71. package/lib/typescript/keys/utils.d.ts.map +1 -0
  72. package/lib/typescript/specs/edKeyPair.nitro.d.ts +15 -0
  73. package/lib/typescript/specs/edKeyPair.nitro.d.ts.map +1 -0
  74. package/lib/typescript/utils/conversion.d.ts +1 -0
  75. package/lib/typescript/utils/conversion.d.ts.map +1 -1
  76. package/lib/typescript/utils/index.d.ts +1 -0
  77. package/lib/typescript/utils/index.d.ts.map +1 -1
  78. package/lib/typescript/utils/types.d.ts +60 -4
  79. package/lib/typescript/utils/types.d.ts.map +1 -1
  80. package/lib/typescript/utils/validation.d.ts +8 -0
  81. package/lib/typescript/utils/validation.d.ts.map +1 -0
  82. package/nitrogen/generated/android/QuickCrypto+autolinking.cmake +1 -0
  83. package/nitrogen/generated/android/QuickCrypto+autolinking.gradle +2 -0
  84. package/nitrogen/generated/android/QuickCryptoOnLoad.cpp +10 -0
  85. package/nitrogen/generated/ios/QuickCrypto+autolinking.rb +1 -1
  86. package/nitrogen/generated/ios/QuickCrypto-Swift-Cxx-Umbrella.hpp +4 -1
  87. package/nitrogen/generated/ios/QuickCryptoAutolinking.mm +10 -0
  88. package/nitrogen/generated/shared/c++/{AsymmetricKeyType.hpp → CFRGKeyPairType.hpp} +25 -25
  89. package/nitrogen/generated/shared/c++/HybridEdKeyPairSpec.cpp +28 -0
  90. package/nitrogen/generated/shared/c++/HybridEdKeyPairSpec.hpp +73 -0
  91. package/nitrogen/generated/shared/c++/HybridKeyObjectHandleSpec.hpp +4 -4
  92. package/nitrogen/generated/shared/c++/HybridPbkdf2Spec.hpp +2 -2
  93. package/nitrogen/generated/shared/c++/HybridRandomSpec.hpp +2 -2
  94. package/package.json +25 -21
  95. package/src/ed.ts +58 -0
  96. package/src/index.ts +5 -5
  97. package/src/keys/classes.ts +211 -0
  98. package/src/keys/generateKeyPair.ts +146 -0
  99. package/src/keys/index.ts +42 -99
  100. package/src/keys/signVerify.ts +39 -0
  101. package/src/keys/utils.ts +184 -0
  102. package/src/specs/edKeyPair.nitro.ts +32 -0
  103. package/src/utils/conversion.ts +2 -0
  104. package/src/utils/index.ts +1 -0
  105. package/src/utils/types.ts +84 -4
  106. package/src/utils/validation.ts +35 -0
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sourceRoot":"../../../src","sources":["specs/edKeyPair.nitro.ts"],"mappings":"","ignoreList":[]}
@@ -7,6 +7,7 @@ exports.ab2str = ab2str;
7
7
  exports.abvToArrayBuffer = void 0;
8
8
  exports.binaryLikeToArrayBuffer = binaryLikeToArrayBuffer;
9
9
  exports.bufferLikeToArrayBuffer = bufferLikeToArrayBuffer;
10
+ exports.kEmptyObject = void 0;
10
11
  exports.toArrayBuffer = toArrayBuffer;
11
12
  var _reactNativeBuffer = require("@craftzdog/react-native-buffer");
12
13
  var _safeBuffer = require("safe-buffer");
@@ -93,4 +94,5 @@ encoding = 'utf-8') {
93
94
  function ab2str(buf, encoding = 'hex') {
94
95
  return _reactNativeBuffer.Buffer.from(buf).toString(encoding);
95
96
  }
97
+ const kEmptyObject = exports.kEmptyObject = Object.freeze(Object.create(null));
96
98
  //# sourceMappingURL=conversion.js.map
@@ -1 +1 @@
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":"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","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","kEmptyObject","Object","freeze","create"],"sourceRoot":"../../../src","sources":["utils/conversion.ts"],"mappings":"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","ignoreList":[]}
@@ -47,4 +47,15 @@ Object.keys(_types).forEach(function (key) {
47
47
  }
48
48
  });
49
49
  });
50
+ var _validation = require("./validation");
51
+ Object.keys(_validation).forEach(function (key) {
52
+ if (key === "default" || key === "__esModule") return;
53
+ if (key in exports && exports[key] === _validation[key]) return;
54
+ Object.defineProperty(exports, key, {
55
+ enumerable: true,
56
+ get: function () {
57
+ return _validation[key];
58
+ }
59
+ });
60
+ });
50
61
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
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
+ {"version":3,"names":["_conversion","require","Object","keys","forEach","key","exports","defineProperty","enumerable","get","_errors","_hashnames","_types","_validation"],"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;AACA,IAAAQ,WAAA,GAAAZ,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAU,WAAA,EAAAT,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAQ,WAAA,CAAAR,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAI,WAAA,CAAAR,GAAA;IAAA;EAAA;AAAA","ignoreList":[]}
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.KeyType = exports.KeyEncoding = exports.KFormatType = void 0;
6
+ exports.KeyVariant = exports.KeyType = exports.KeyEncoding = exports.KFormatType = void 0;
7
7
  // @types/node
8
8
  // On node this value is defined on the native side, for now I'm just creating it here in JS
9
9
  // TODO(osp) move this into native side to make sure they always match
@@ -25,5 +25,16 @@ let KeyEncoding = exports.KeyEncoding = /*#__PURE__*/function (KeyEncoding) {
25
25
  KeyEncoding[KeyEncoding["kKeyEncodingSPKI"] = 2] = "kKeyEncodingSPKI";
26
26
  KeyEncoding[KeyEncoding["kKeyEncodingSEC1"] = 3] = "kKeyEncodingSEC1";
27
27
  return KeyEncoding;
28
+ }({}); // Note: removed CryptoKey class from this type (from 0.x) because Nitro doesn't
29
+ // handle custom JS objects. We might need to make it a JS object.
30
+ let KeyVariant = exports.KeyVariant = /*#__PURE__*/function (KeyVariant) {
31
+ KeyVariant[KeyVariant["RSA_SSA_PKCS1_v1_5"] = 0] = "RSA_SSA_PKCS1_v1_5";
32
+ KeyVariant[KeyVariant["RSA_PSS"] = 1] = "RSA_PSS";
33
+ KeyVariant[KeyVariant["RSA_OAEP"] = 2] = "RSA_OAEP";
34
+ KeyVariant[KeyVariant["DSA"] = 3] = "DSA";
35
+ KeyVariant[KeyVariant["EC"] = 4] = "EC";
36
+ KeyVariant[KeyVariant["NID"] = 5] = "NID";
37
+ KeyVariant[KeyVariant["DH"] = 6] = "DH";
38
+ return KeyVariant;
28
39
  }({});
29
40
  //# sourceMappingURL=types.js.map
@@ -1 +1 @@
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":[]}
1
+ {"version":3,"names":["KFormatType","exports","KeyType","KeyEncoding","KeyVariant"],"sourceRoot":"../../../src","sources":["utils/types.ts"],"mappings":";;;;;;AAEyC;AA6GzC;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,OAwGvB;AACA;AAAA,IA2BYC,UAAU,GAAAH,OAAA,CAAAG,UAAA,0BAAVA,UAAU;EAAVA,UAAU,CAAVA,UAAU;EAAVA,UAAU,CAAVA,UAAU;EAAVA,UAAU,CAAVA,UAAU;EAAVA,UAAU,CAAVA,UAAU;EAAVA,UAAU,CAAVA,UAAU;EAAVA,UAAU,CAAVA,UAAU;EAAVA,UAAU,CAAVA,UAAU;EAAA,OAAVA,UAAU;AAAA","ignoreList":[]}
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.isStringOrBuffer = isStringOrBuffer;
7
+ exports.validateFunction = validateFunction;
8
+ exports.validateObject = validateObject;
9
+ function validateFunction(f) {
10
+ return f !== null && typeof f === 'function';
11
+ }
12
+ function isStringOrBuffer(val) {
13
+ return typeof val === 'string' || ArrayBuffer.isView(val) || val instanceof ArrayBuffer;
14
+ }
15
+ function validateObject(value, name, options) {
16
+ const useDefaultOptions = options == null;
17
+ const allowArray = useDefaultOptions ? false : options.allowArray;
18
+ const allowFunction = useDefaultOptions ? false : options.allowFunction;
19
+ const nullable = useDefaultOptions ? false : options.nullable;
20
+ if (!nullable && value === null || !allowArray && Array.isArray(value) || typeof value !== 'object' && (!allowFunction || typeof value !== 'function')) {
21
+ throw new Error(`${name} is not a valid object $${value}`);
22
+ }
23
+ return true;
24
+ }
25
+ //# sourceMappingURL=validation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["validateFunction","f","isStringOrBuffer","val","ArrayBuffer","isView","validateObject","value","name","options","useDefaultOptions","allowArray","allowFunction","nullable","Array","isArray","Error"],"sourceRoot":"../../../src","sources":["utils/validation.ts"],"mappings":";;;;;;;;AAAO,SAASA,gBAAgBA,CAACC,CAAU,EAAW;EACpD,OAAOA,CAAC,KAAK,IAAI,IAAI,OAAOA,CAAC,KAAK,UAAU;AAC9C;AAEO,SAASC,gBAAgBA,CAACC,GAAY,EAA+B;EAC1E,OACE,OAAOA,GAAG,KAAK,QAAQ,IACvBC,WAAW,CAACC,MAAM,CAACF,GAAG,CAAC,IACvBA,GAAG,YAAYC,WAAW;AAE9B;AAEO,SAASE,cAAcA,CAC5BC,KAAc,EACdC,IAAY,EACZC,OAIQ,EACI;EACZ,MAAMC,iBAAiB,GAAGD,OAAO,IAAI,IAAI;EACzC,MAAME,UAAU,GAAGD,iBAAiB,GAAG,KAAK,GAAGD,OAAO,CAACE,UAAU;EACjE,MAAMC,aAAa,GAAGF,iBAAiB,GAAG,KAAK,GAAGD,OAAO,CAACG,aAAa;EACvE,MAAMC,QAAQ,GAAGH,iBAAiB,GAAG,KAAK,GAAGD,OAAO,CAACI,QAAQ;EAC7D,IACG,CAACA,QAAQ,IAAIN,KAAK,KAAK,IAAI,IAC3B,CAACI,UAAU,IAAIG,KAAK,CAACC,OAAO,CAACR,KAAK,CAAE,IACpC,OAAOA,KAAK,KAAK,QAAQ,KACvB,CAACK,aAAa,IAAI,OAAOL,KAAK,KAAK,UAAU,CAAE,EAClD;IACA,MAAM,IAAIS,KAAK,CAAC,GAAGR,IAAI,2BAA2BD,KAAK,EAAE,CAAC;EAC5D;EACA,OAAO,IAAI;AACb","ignoreList":[]}
@@ -0,0 +1,33 @@
1
+ "use strict";
2
+
3
+ import { NitroModules } from 'react-native-nitro-modules';
4
+ export class Ed {
5
+ constructor(type, config) {
6
+ this.type = type;
7
+ this.config = config;
8
+ this.native = NitroModules.createHybridObject('EdKeyPair');
9
+ this.native.setCurve(type);
10
+ }
11
+ async generateKeyPair() {
12
+ this.native.generateKeyPair(this.config.publicFormat || -1, this.config.publicType || -1, this.config.privateFormat || -1, this.config.privateType || -1, this.config.cipher, this.config.passphrase);
13
+ }
14
+ generateKeyPairSync() {
15
+ this.native.generateKeyPairSync(this.config.publicFormat || -1, this.config.publicType || -1, this.config.privateFormat || -1, this.config.privateType || -1, this.config.cipher, this.config.passphrase);
16
+ }
17
+ getPublicKey() {
18
+ return this.native.getPublicKey();
19
+ }
20
+ async sign(message) {
21
+ return this.native.sign(message);
22
+ }
23
+ signSync(message) {
24
+ return this.native.signSync(message);
25
+ }
26
+ async verify(signature, message) {
27
+ return this.native.verify(signature, message);
28
+ }
29
+ verifySync(signature, message) {
30
+ return this.native.verifySync(signature, message);
31
+ }
32
+ }
33
+ //# sourceMappingURL=ed.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["NitroModules","Ed","constructor","type","config","native","createHybridObject","setCurve","generateKeyPair","publicFormat","publicType","privateFormat","privateType","cipher","passphrase","generateKeyPairSync","getPublicKey","sign","message","signSync","verify","signature","verifySync"],"sourceRoot":"../../src","sources":["ed.ts"],"mappings":";;AAAA,SAASA,YAAY,QAAQ,4BAA4B;AAIzD,OAAO,MAAMC,EAAE,CAAC;EAKdC,WAAWA,CAACC,IAAqB,EAAEC,MAAwB,EAAE;IAC3D,IAAI,CAACD,IAAI,GAAGA,IAAI;IAChB,IAAI,CAACC,MAAM,GAAGA,MAAM;IACpB,IAAI,CAACC,MAAM,GAAGL,YAAY,CAACM,kBAAkB,CAAY,WAAW,CAAC;IACrE,IAAI,CAACD,MAAM,CAACE,QAAQ,CAACJ,IAAI,CAAC;EAC5B;EAEA,MAAMK,eAAeA,CAAA,EAAkB;IACrC,IAAI,CAACH,MAAM,CAACG,eAAe,CACzB,IAAI,CAACJ,MAAM,CAACK,YAAY,IAAK,CAAC,CAAY,EAC1C,IAAI,CAACL,MAAM,CAACM,UAAU,IAAK,CAAC,CAAY,EACxC,IAAI,CAACN,MAAM,CAACO,aAAa,IAAK,CAAC,CAAY,EAC3C,IAAI,CAACP,MAAM,CAACQ,WAAW,IAAK,CAAC,CAAY,EACzC,IAAI,CAACR,MAAM,CAACS,MAAM,EAClB,IAAI,CAACT,MAAM,CAACU,UACd,CAAC;EACH;EAEAC,mBAAmBA,CAAA,EAAS;IAC1B,IAAI,CAACV,MAAM,CAACU,mBAAmB,CAC7B,IAAI,CAACX,MAAM,CAACK,YAAY,IAAK,CAAC,CAAY,EAC1C,IAAI,CAACL,MAAM,CAACM,UAAU,IAAK,CAAC,CAAY,EACxC,IAAI,CAACN,MAAM,CAACO,aAAa,IAAK,CAAC,CAAY,EAC3C,IAAI,CAACP,MAAM,CAACQ,WAAW,IAAK,CAAC,CAAY,EACzC,IAAI,CAACR,MAAM,CAACS,MAAM,EAClB,IAAI,CAACT,MAAM,CAACU,UACd,CAAC;EACH;EAEAE,YAAYA,CAAA,EAAgB;IAC1B,OAAO,IAAI,CAACX,MAAM,CAACW,YAAY,CAAC,CAAC;EACnC;EAEA,MAAMC,IAAIA,CAACC,OAAoB,EAAwB;IACrD,OAAO,IAAI,CAACb,MAAM,CAACY,IAAI,CAACC,OAAO,CAAC;EAClC;EAEAC,QAAQA,CAACD,OAAoB,EAAe;IAC1C,OAAO,IAAI,CAACb,MAAM,CAACc,QAAQ,CAACD,OAAO,CAAC;EACtC;EAEA,MAAME,MAAMA,CAACC,SAAsB,EAAEH,OAAoB,EAAoB;IAC3E,OAAO,IAAI,CAACb,MAAM,CAACe,MAAM,CAACC,SAAS,EAAEH,OAAO,CAAC;EAC/C;EAEAI,UAAUA,CAACD,SAAsB,EAAEH,OAAoB,EAAW;IAChE,OAAO,IAAI,CAACb,MAAM,CAACiB,UAAU,CAACD,SAAS,EAAEH,OAAO,CAAC;EACnD;AACF","ignoreList":[]}
@@ -4,6 +4,8 @@
4
4
  import { Buffer } from '@craftzdog/react-native-buffer';
5
5
 
6
6
  // API imports
7
+ import * as keys from './keys';
8
+ import * as ed from './ed';
7
9
  import * as pbkdf2 from './pbkdf2';
8
10
  import * as random from './random';
9
11
 
@@ -23,20 +25,17 @@ const QuickCrypto = {
23
25
  // createCipheriv,
24
26
  // createDecipher,
25
27
  // createDecipheriv,
26
- // createPublicKey,
27
- // createPrivateKey,
28
- // createSecretKey,
29
28
  // publicEncrypt,
30
29
  // publicDecrypt,
31
30
  // privateDecrypt,
32
31
  // generateKey,
33
- // generateKeyPair,
34
- // generateKeyPairSync,
35
32
  // generateKeySync,
36
33
  // createSign,
37
34
  // createVerify,
38
35
  // subtle,
39
36
  // constants,
37
+ ...keys,
38
+ ...ed,
40
39
  ...pbkdf2,
41
40
  ...random,
42
41
  // getCiphers,
@@ -62,6 +61,7 @@ global.process.nextTick = setImmediate;
62
61
 
63
62
  // exports
64
63
  export default QuickCrypto;
64
+ export * from './ed';
65
65
  export * from './utils';
66
66
 
67
67
  // Additional exports for CommonJS compatibility
@@ -1 +1 @@
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":[]}
1
+ {"version":3,"names":["Buffer","keys","ed","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,IAAI,MAAM,QAAQ;AAC9B,OAAO,KAAKC,EAAE,MAAM,MAAM;AAC1B,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,GAAGL,IAAI;EACP,GAAGC,EAAE;EACL,GAAGC,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,CAACR,MAAM,GAAGA,MAAM;;EAEtB;EACAQ,MAAM,CAACC,MAAM,GAAGH,WAAW;AAC7B,CAAC;;AAED;AACAE,MAAM,CAACE,OAAO,CAACC,QAAQ,GAAGC,YAAY;;AAEtC;AACA,eAAeN,WAAW;AAC1B,cAAc,MAAM;AACpB,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,182 @@
1
+ "use strict";
2
+
3
+ import { parsePrivateKeyEncoding, parsePublicKeyEncoding } from './utils';
4
+ export class CryptoKey {
5
+ constructor(keyObject, keyAlgorithm, keyUsages, keyExtractable) {
6
+ this.keyObject = keyObject;
7
+ this.keyAlgorithm = keyAlgorithm;
8
+ this.keyUsages = keyUsages;
9
+ this.keyExtractable = keyExtractable;
10
+ }
11
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
12
+ inspect(_depth, _options) {
13
+ throw new Error('CryptoKey.inspect is not implemented');
14
+ // if (depth < 0) return this;
15
+
16
+ // const opts = {
17
+ // ...options,
18
+ // depth: options.depth == null ? null : options.depth - 1,
19
+ // };
20
+
21
+ // return `CryptoKey ${inspect(
22
+ // {
23
+ // type: this.type,
24
+ // extractable: this.extractable,
25
+ // algorithm: this.algorithm,
26
+ // usages: this.usages,
27
+ // },
28
+ // opts
29
+ // )}`;
30
+ }
31
+ get type() {
32
+ // if (!(this instanceof CryptoKey)) throw new Error('Invalid CryptoKey');
33
+ return this.keyObject.type;
34
+ }
35
+ get extractable() {
36
+ return this.keyExtractable;
37
+ }
38
+ get algorithm() {
39
+ return this.keyAlgorithm;
40
+ }
41
+ get usages() {
42
+ return this.keyUsages;
43
+ }
44
+ }
45
+ export class KeyObject {
46
+ type = 'unknown';
47
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
48
+ export(_options) {
49
+ return new ArrayBuffer(0);
50
+ }
51
+ constructor(type, handle) {
52
+ if (type !== 'secret' && type !== 'public' && type !== 'private') throw new Error(`invalid KeyObject type: ${type}`);
53
+ this.handle = handle;
54
+ this.type = type;
55
+ }
56
+
57
+ // get type(): string {
58
+ // return this.type;
59
+ // }
60
+
61
+ // static from(key) {
62
+ // if (!isCryptoKey(key))
63
+ // throw new ERR_INVALID_ARG_TYPE('key', 'CryptoKey', key);
64
+ // return key[kKeyObject];
65
+ // }
66
+
67
+ // equals(otherKeyObject) {
68
+ // if (!isKeyObject(otherKeyObject)) {
69
+ // throw new ERR_INVALID_ARG_TYPE(
70
+ // 'otherKeyObject',
71
+ // 'KeyObject',
72
+ // otherKeyObject
73
+ // );
74
+ // }
75
+
76
+ // return (
77
+ // otherKeyObject.type === this.type &&
78
+ // this[kHandle].equals(otherKeyObject[kHandle])
79
+ // );
80
+ // }
81
+ }
82
+ export class SecretKeyObject extends KeyObject {
83
+ constructor(handle) {
84
+ super('secret', handle);
85
+ }
86
+
87
+ // get symmetricKeySize() {
88
+ // return this[kHandle].getSymmetricKeySize();
89
+ // }
90
+
91
+ export(options) {
92
+ if (options !== undefined) {
93
+ if (options.format === 'jwk') {
94
+ throw new Error('SecretKey export for jwk is not implemented');
95
+ // return this.handle.exportJwk({}, false);
96
+ }
97
+ }
98
+ return this.handle.exportKey();
99
+ }
100
+ }
101
+
102
+ // const kAsymmetricKeyType = Symbol('kAsymmetricKeyType');
103
+ // const kAsymmetricKeyDetails = Symbol('kAsymmetricKeyDetails');
104
+
105
+ // function normalizeKeyDetails(details = {}) {
106
+ // if (details.publicExponent !== undefined) {
107
+ // return {
108
+ // ...details,
109
+ // publicExponent: bigIntArrayToUnsignedBigInt(
110
+ // new Uint8Array(details.publicExponent)
111
+ // ),
112
+ // };
113
+ // }
114
+ // return details;
115
+ // }
116
+
117
+ export class AsymmetricKeyObject extends KeyObject {
118
+ constructor(type, handle) {
119
+ super(type, handle);
120
+ }
121
+ get asymmetricKeyType() {
122
+ if (!this._asymmetricKeyType) {
123
+ this._asymmetricKeyType = this.handle.getAsymmetricKeyType();
124
+ }
125
+ return this._asymmetricKeyType;
126
+ }
127
+
128
+ // get asymmetricKeyDetails() {
129
+ // switch (this._asymmetricKeyType) {
130
+ // case 'rsa':
131
+ // case 'rsa-pss':
132
+ // case 'dsa':
133
+ // case 'ec':
134
+ // return (
135
+ // this[kAsymmetricKeyDetails] ||
136
+ // (this[kAsymmetricKeyDetails] = normalizeKeyDetails(
137
+ // this[kHandle].keyDetail({})
138
+ // ))
139
+ // );
140
+ // default:
141
+ // return {};
142
+ // }
143
+ // }
144
+ }
145
+ export class PublicKeyObject extends AsymmetricKeyObject {
146
+ constructor(handle) {
147
+ super('public', handle);
148
+ }
149
+ export(options) {
150
+ if (options?.format === 'jwk') {
151
+ throw new Error('PublicKey export for jwk is not implemented');
152
+ // return this.handle.exportJwk({}, false);
153
+ }
154
+ const {
155
+ format,
156
+ type
157
+ } = parsePublicKeyEncoding(options, this.asymmetricKeyType);
158
+ return this.handle.exportKey(format, type);
159
+ }
160
+ }
161
+ export class PrivateKeyObject extends AsymmetricKeyObject {
162
+ constructor(handle) {
163
+ super('private', handle);
164
+ }
165
+ export(options) {
166
+ if (options?.format === 'jwk') {
167
+ if (options.passphrase !== undefined) {
168
+ throw new Error('jwk does not support encryption');
169
+ }
170
+ throw new Error('PrivateKey export for jwk is not implemented');
171
+ // return this.handle.exportJwk({}, false);
172
+ }
173
+ const {
174
+ format,
175
+ type,
176
+ cipher,
177
+ passphrase
178
+ } = parsePrivateKeyEncoding(options, this.asymmetricKeyType);
179
+ return this.handle.exportKey(format, type, cipher, passphrase);
180
+ }
181
+ }
182
+ //# sourceMappingURL=classes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["parsePrivateKeyEncoding","parsePublicKeyEncoding","CryptoKey","constructor","keyObject","keyAlgorithm","keyUsages","keyExtractable","inspect","_depth","_options","Error","type","extractable","algorithm","usages","KeyObject","export","ArrayBuffer","handle","SecretKeyObject","options","undefined","format","exportKey","AsymmetricKeyObject","asymmetricKeyType","_asymmetricKeyType","getAsymmetricKeyType","PublicKeyObject","PrivateKeyObject","passphrase","cipher"],"sourceRoot":"../../../src","sources":["keys/classes.ts"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,148 @@
1
+ // import { ed25519 } from '../ed25519';
2
+ // import {
3
+ // kEmptyObject,
4
+ // validateFunction,
5
+ // type CryptoKeyPair,
6
+ // type GenerateKeyPairCallback,
7
+ // type GenerateKeyPairOptions,
8
+ // type GenerateKeyPairPromiseReturn,
9
+ // type GenerateKeyPairReturn,
10
+ // type KeyPairGenConfig,
11
+ // type KeyPairType,
12
+ // } from '../utils';
13
+ // import { parsePrivateKeyEncoding, parsePublicKeyEncoding } from './utils';
14
+
15
+ // export const generateKeyPair = (
16
+ // type: KeyPairType,
17
+ // options: GenerateKeyPairOptions,
18
+ // callback: GenerateKeyPairCallback,
19
+ // ): void => {
20
+ // validateFunction(callback);
21
+ // internalGenerateKeyPair(true, type, options, callback);
22
+ // };
23
+
24
+ // // Promisify generateKeyPair
25
+ // // (attempted to use util.promisify, to no avail)
26
+ // export const generateKeyPairPromise = (
27
+ // type: KeyPairType,
28
+ // options: GenerateKeyPairOptions,
29
+ // ): Promise<GenerateKeyPairPromiseReturn> => {
30
+ // return new Promise((resolve, reject) => {
31
+ // generateKeyPair(type, options, (err, publicKey, privateKey) => {
32
+ // if (err) {
33
+ // reject([err, undefined]);
34
+ // } else {
35
+ // resolve([undefined, { publicKey, privateKey }]);
36
+ // }
37
+ // });
38
+ // });
39
+ // };
40
+
41
+ // // generateKeyPairSync
42
+ // export function generateKeyPairSync(type: KeyPairType): CryptoKeyPair;
43
+ // export function generateKeyPairSync(
44
+ // type: KeyPairType,
45
+ // options: GenerateKeyPairOptions,
46
+ // ): CryptoKeyPair;
47
+ // export function generateKeyPairSync(
48
+ // type: KeyPairType,
49
+ // options?: GenerateKeyPairOptions,
50
+ // ): CryptoKeyPair {
51
+ // const [err, publicKey, privateKey] = internalGenerateKeyPair(
52
+ // false,
53
+ // type,
54
+ // options,
55
+ // undefined,
56
+ // )!;
57
+
58
+ // if (err) {
59
+ // throw err;
60
+ // }
61
+
62
+ // return {
63
+ // publicKey,
64
+ // privateKey,
65
+ // };
66
+ // }
67
+
68
+ // function parseKeyPairEncoding(
69
+ // keyType: string,
70
+ // options: GenerateKeyPairOptions = kEmptyObject,
71
+ // ): KeyPairGenConfig {
72
+ // const { publicKeyEncoding, privateKeyEncoding } = options;
73
+
74
+ // let publicFormat, publicType;
75
+ // if (publicKeyEncoding == null) {
76
+ // publicFormat = publicType = -1;
77
+ // } else if (typeof publicKeyEncoding === 'object') {
78
+ // ({ format: publicFormat, type: publicType } = parsePublicKeyEncoding(
79
+ // publicKeyEncoding,
80
+ // keyType,
81
+ // 'publicKeyEncoding',
82
+ // ));
83
+ // } else {
84
+ // throw new Error(
85
+ // 'Invalid argument options.publicKeyEncoding',
86
+ // publicKeyEncoding,
87
+ // );
88
+ // }
89
+
90
+ // let privateFormat, privateType, cipher, passphrase;
91
+ // if (privateKeyEncoding == null) {
92
+ // privateFormat = privateType = -1;
93
+ // } else if (typeof privateKeyEncoding === 'object') {
94
+ // ({
95
+ // format: privateFormat,
96
+ // type: privateType,
97
+ // cipher,
98
+ // passphrase,
99
+ // } = parsePrivateKeyEncoding(
100
+ // privateKeyEncoding,
101
+ // keyType,
102
+ // 'privateKeyEncoding',
103
+ // ));
104
+ // } else {
105
+ // throw new Error(
106
+ // 'Invalid argument options.privateKeyEncoding',
107
+ // publicKeyEncoding as ErrorOptions,
108
+ // );
109
+ // }
110
+
111
+ // return {
112
+ // publicFormat,
113
+ // publicType,
114
+ // privateFormat,
115
+ // privateType,
116
+ // cipher,
117
+ // passphrase,
118
+ // };
119
+ // }
120
+
121
+ // function internalGenerateKeyPair(
122
+ // isAsync: boolean,
123
+ // type: KeyPairType,
124
+ // options: GenerateKeyPairOptions | undefined,
125
+ // callback: GenerateKeyPairCallback | undefined,
126
+ // ): GenerateKeyPairReturn | void {
127
+ // const encoding = parseKeyPairEncoding(type, options);
128
+
129
+ // switch (type) {
130
+ // case 'ed25519':
131
+ // case 'ed448':
132
+ // case 'x25519':
133
+ // case 'x448': {
134
+ // return ed25519.utils.generateKeyPair(isAsync, type, encoding, callback);
135
+ // }
136
+ // default:
137
+ // // Fall through
138
+ // }
139
+
140
+ // const err = new Error(`
141
+ // Invalid Argument options: '${type}' scheme not supported for
142
+ // generateKeyPair(). Currently not all encryption methods are supported in
143
+ // this library. Check docs/implementation_coverage.md for status.
144
+ // `);
145
+ // return [err, undefined, undefined];
146
+ // }
147
+ "use strict";
148
+ //# sourceMappingURL=generateKeyPair.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sourceRoot":"../../../src","sources":["keys/generateKeyPair.ts"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA","ignoreList":[]}