react-native-quick-crypto 1.0.10 → 1.0.11
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.
- package/android/CMakeLists.txt +9 -0
- package/cpp/argon2/HybridArgon2.cpp +103 -0
- package/cpp/argon2/HybridArgon2.hpp +32 -0
- package/cpp/certificate/HybridCertificate.cpp +42 -0
- package/cpp/certificate/HybridCertificate.hpp +16 -0
- package/cpp/cipher/HybridCipher.cpp +58 -0
- package/cpp/cipher/HybridCipher.hpp +4 -0
- package/cpp/dh/HybridDhKeyPair.cpp +179 -0
- package/cpp/dh/HybridDhKeyPair.hpp +37 -0
- package/cpp/dsa/HybridDsaKeyPair.cpp +128 -0
- package/cpp/dsa/HybridDsaKeyPair.hpp +32 -0
- package/cpp/ecdh/HybridECDH.cpp +35 -0
- package/cpp/ecdh/HybridECDH.hpp +1 -0
- package/cpp/keys/HybridKeyObjectHandle.cpp +19 -0
- package/cpp/prime/HybridPrime.cpp +81 -0
- package/cpp/prime/HybridPrime.hpp +20 -0
- package/lib/commonjs/argon2.js +39 -0
- package/lib/commonjs/argon2.js.map +1 -0
- package/lib/commonjs/certificate.js +35 -0
- package/lib/commonjs/certificate.js.map +1 -0
- package/lib/commonjs/cipher.js +8 -0
- package/lib/commonjs/cipher.js.map +1 -1
- package/lib/commonjs/dhKeyPair.js +109 -0
- package/lib/commonjs/dhKeyPair.js.map +1 -0
- package/lib/commonjs/dsa.js +92 -0
- package/lib/commonjs/dsa.js.map +1 -0
- package/lib/commonjs/ecdh.js +37 -0
- package/lib/commonjs/ecdh.js.map +1 -1
- package/lib/commonjs/index.js +35 -0
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/keys/classes.js +9 -7
- package/lib/commonjs/keys/classes.js.map +1 -1
- package/lib/commonjs/keys/generateKeyPair.js +11 -0
- package/lib/commonjs/keys/generateKeyPair.js.map +1 -1
- package/lib/commonjs/prime.js +84 -0
- package/lib/commonjs/prime.js.map +1 -0
- package/lib/commonjs/specs/argon2.nitro.js +6 -0
- package/lib/commonjs/specs/argon2.nitro.js.map +1 -0
- package/lib/commonjs/specs/certificate.nitro.js +6 -0
- package/lib/commonjs/specs/certificate.nitro.js.map +1 -0
- package/lib/commonjs/specs/dhKeyPair.nitro.js +6 -0
- package/lib/commonjs/specs/dhKeyPair.nitro.js.map +1 -0
- package/lib/commonjs/specs/dsaKeyPair.nitro.js +6 -0
- package/lib/commonjs/specs/dsaKeyPair.nitro.js.map +1 -0
- package/lib/commonjs/specs/prime.nitro.js +6 -0
- package/lib/commonjs/specs/prime.nitro.js.map +1 -0
- package/lib/commonjs/subtle.js +101 -10
- package/lib/commonjs/subtle.js.map +1 -1
- package/lib/commonjs/utils/types.js.map +1 -1
- package/lib/module/argon2.js +34 -0
- package/lib/module/argon2.js.map +1 -0
- package/lib/module/certificate.js +30 -0
- package/lib/module/certificate.js.map +1 -0
- package/lib/module/cipher.js +7 -0
- package/lib/module/cipher.js.map +1 -1
- package/lib/module/dhKeyPair.js +102 -0
- package/lib/module/dhKeyPair.js.map +1 -0
- package/lib/module/dsa.js +85 -0
- package/lib/module/dsa.js.map +1 -0
- package/lib/module/ecdh.js +37 -0
- package/lib/module/ecdh.js.map +1 -1
- package/lib/module/index.js +9 -0
- package/lib/module/index.js.map +1 -1
- package/lib/module/keys/classes.js +9 -7
- package/lib/module/keys/classes.js.map +1 -1
- package/lib/module/keys/generateKeyPair.js +11 -0
- package/lib/module/keys/generateKeyPair.js.map +1 -1
- package/lib/module/prime.js +77 -0
- package/lib/module/prime.js.map +1 -0
- package/lib/module/specs/argon2.nitro.js +4 -0
- package/lib/module/specs/argon2.nitro.js.map +1 -0
- package/lib/module/specs/certificate.nitro.js +4 -0
- package/lib/module/specs/certificate.nitro.js.map +1 -0
- package/lib/module/specs/dhKeyPair.nitro.js +4 -0
- package/lib/module/specs/dhKeyPair.nitro.js.map +1 -0
- package/lib/module/specs/dsaKeyPair.nitro.js +4 -0
- package/lib/module/specs/dsaKeyPair.nitro.js.map +1 -0
- package/lib/module/specs/prime.nitro.js +4 -0
- package/lib/module/specs/prime.nitro.js.map +1 -0
- package/lib/module/subtle.js +102 -12
- package/lib/module/subtle.js.map +1 -1
- package/lib/module/utils/types.js.map +1 -1
- package/lib/tsconfig.tsbuildinfo +1 -1
- package/lib/typescript/argon2.d.ts +16 -0
- package/lib/typescript/argon2.d.ts.map +1 -0
- package/lib/typescript/certificate.d.ts +8 -0
- package/lib/typescript/certificate.d.ts.map +1 -0
- package/lib/typescript/cipher.d.ts +12 -0
- package/lib/typescript/cipher.d.ts.map +1 -1
- package/lib/typescript/dhKeyPair.d.ts +19 -0
- package/lib/typescript/dhKeyPair.d.ts.map +1 -0
- package/lib/typescript/dsa.d.ts +19 -0
- package/lib/typescript/dsa.d.ts.map +1 -0
- package/lib/typescript/ecdh.d.ts +3 -0
- package/lib/typescript/ecdh.d.ts.map +1 -1
- package/lib/typescript/index.d.ts +17 -0
- package/lib/typescript/index.d.ts.map +1 -1
- package/lib/typescript/keys/classes.d.ts +2 -0
- package/lib/typescript/keys/classes.d.ts.map +1 -1
- package/lib/typescript/keys/generateKeyPair.d.ts.map +1 -1
- package/lib/typescript/prime.d.ts +19 -0
- package/lib/typescript/prime.d.ts.map +1 -0
- package/lib/typescript/specs/argon2.nitro.d.ts +9 -0
- package/lib/typescript/specs/argon2.nitro.d.ts.map +1 -0
- package/lib/typescript/specs/certificate.nitro.d.ts +10 -0
- package/lib/typescript/specs/certificate.nitro.d.ts.map +1 -0
- package/lib/typescript/specs/cipher.nitro.d.ts +9 -0
- package/lib/typescript/specs/cipher.nitro.d.ts.map +1 -1
- package/lib/typescript/specs/dhKeyPair.nitro.d.ts +14 -0
- package/lib/typescript/specs/dhKeyPair.nitro.d.ts.map +1 -0
- package/lib/typescript/specs/dsaKeyPair.nitro.d.ts +13 -0
- package/lib/typescript/specs/dsaKeyPair.nitro.d.ts.map +1 -0
- package/lib/typescript/specs/ecdh.nitro.d.ts +1 -0
- package/lib/typescript/specs/ecdh.nitro.d.ts.map +1 -1
- package/lib/typescript/specs/prime.nitro.d.ts +11 -0
- package/lib/typescript/specs/prime.nitro.d.ts.map +1 -0
- package/lib/typescript/subtle.d.ts +2 -0
- package/lib/typescript/subtle.d.ts.map +1 -1
- package/lib/typescript/utils/types.d.ts +13 -3
- package/lib/typescript/utils/types.d.ts.map +1 -1
- package/nitrogen/generated/android/QuickCrypto+autolinking.cmake +5 -0
- package/nitrogen/generated/android/QuickCryptoOnLoad.cpp +50 -0
- package/nitrogen/generated/ios/QuickCryptoAutolinking.mm +50 -0
- package/nitrogen/generated/shared/c++/CipherInfo.hpp +104 -0
- package/nitrogen/generated/shared/c++/HybridArgon2Spec.cpp +22 -0
- package/nitrogen/generated/shared/c++/HybridArgon2Spec.hpp +66 -0
- package/nitrogen/generated/shared/c++/HybridCertificateSpec.cpp +23 -0
- package/nitrogen/generated/shared/c++/HybridCertificateSpec.hpp +64 -0
- package/nitrogen/generated/shared/c++/HybridCipherSpec.cpp +1 -0
- package/nitrogen/generated/shared/c++/HybridCipherSpec.hpp +4 -0
- package/nitrogen/generated/shared/c++/HybridDhKeyPairSpec.cpp +27 -0
- package/nitrogen/generated/shared/c++/HybridDhKeyPairSpec.hpp +69 -0
- package/nitrogen/generated/shared/c++/HybridDsaKeyPairSpec.cpp +26 -0
- package/nitrogen/generated/shared/c++/HybridDsaKeyPairSpec.hpp +68 -0
- package/nitrogen/generated/shared/c++/HybridECDHSpec.cpp +1 -0
- package/nitrogen/generated/shared/c++/HybridECDHSpec.hpp +1 -0
- package/nitrogen/generated/shared/c++/HybridPrimeSpec.cpp +24 -0
- package/nitrogen/generated/shared/c++/HybridPrimeSpec.hpp +67 -0
- package/package.json +1 -1
- package/src/argon2.ts +83 -0
- package/src/certificate.ts +41 -0
- package/src/cipher.ts +24 -0
- package/src/dhKeyPair.ts +156 -0
- package/src/dsa.ts +129 -0
- package/src/ecdh.ts +59 -0
- package/src/index.ts +9 -0
- package/src/keys/classes.ts +16 -5
- package/src/keys/generateKeyPair.ts +14 -0
- package/src/prime.ts +134 -0
- package/src/specs/argon2.nitro.ts +29 -0
- package/src/specs/certificate.nitro.ts +8 -0
- package/src/specs/cipher.nitro.ts +14 -0
- package/src/specs/dhKeyPair.nitro.ts +14 -0
- package/src/specs/dsaKeyPair.nitro.ts +13 -0
- package/src/specs/ecdh.nitro.ts +1 -0
- package/src/specs/prime.nitro.ts +18 -0
- package/src/subtle.ts +271 -12
- package/src/utils/types.ts +22 -3
package/lib/commonjs/ecdh.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_reactNativeNitroModules","require","_reactNativeBuffer","
|
|
1
|
+
{"version":3,"names":["_reactNativeNitroModules","require","_reactNativeBuffer","POINT_CONVERSION_COMPRESSED","POINT_CONVERSION_UNCOMPRESSED","POINT_CONVERSION_HYBRID","ECDH","convertKeyHybrid","_convertKeyHybrid","NitroModules","createHybridObject","constructor","curveName","_hybrid","init","generateKeys","key","Buffer","from","computeSecret","otherPublicKey","inputEncoding","keyBuf","isBuffer","TypeError","secret","buffer","getPrivateKey","setPrivateKey","privateKey","encoding","getPublicKey","pub","toString","setPublicKey","publicKey","convertKey","curve","outputEncoding","format","formatNum","undefined","result","exports","createECDH"],"sourceRoot":"../../src","sources":["ecdh.ts"],"mappings":"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","ignoreList":[]}
|
package/lib/commonjs/index.js
CHANGED
|
@@ -6,6 +6,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
var _exportNames = {
|
|
7
7
|
install: true,
|
|
8
8
|
Buffer: true,
|
|
9
|
+
Certificate: true,
|
|
9
10
|
getCurves: true,
|
|
10
11
|
constants: true,
|
|
11
12
|
subtle: true,
|
|
@@ -17,6 +18,12 @@ Object.defineProperty(exports, "Buffer", {
|
|
|
17
18
|
return _reactNativeBuffer.Buffer;
|
|
18
19
|
}
|
|
19
20
|
});
|
|
21
|
+
Object.defineProperty(exports, "Certificate", {
|
|
22
|
+
enumerable: true,
|
|
23
|
+
get: function () {
|
|
24
|
+
return _certificate.Certificate;
|
|
25
|
+
}
|
|
26
|
+
});
|
|
20
27
|
Object.defineProperty(exports, "constants", {
|
|
21
28
|
enumerable: true,
|
|
22
29
|
get: function () {
|
|
@@ -44,6 +51,18 @@ Object.defineProperty(exports, "subtle", {
|
|
|
44
51
|
}
|
|
45
52
|
});
|
|
46
53
|
var _reactNativeBuffer = require("@craftzdog/react-native-buffer");
|
|
54
|
+
var argon2Module = _interopRequireWildcard(require("./argon2"));
|
|
55
|
+
Object.keys(argon2Module).forEach(function (key) {
|
|
56
|
+
if (key === "default" || key === "__esModule") return;
|
|
57
|
+
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
|
|
58
|
+
if (key in exports && exports[key] === argon2Module[key]) return;
|
|
59
|
+
Object.defineProperty(exports, key, {
|
|
60
|
+
enumerable: true,
|
|
61
|
+
get: function () {
|
|
62
|
+
return argon2Module[key];
|
|
63
|
+
}
|
|
64
|
+
});
|
|
65
|
+
});
|
|
47
66
|
var keys = _interopRequireWildcard(require("./keys"));
|
|
48
67
|
Object.keys(keys).forEach(function (key) {
|
|
49
68
|
if (key === "default" || key === "__esModule") return;
|
|
@@ -140,6 +159,18 @@ Object.keys(pbkdf2).forEach(function (key) {
|
|
|
140
159
|
}
|
|
141
160
|
});
|
|
142
161
|
});
|
|
162
|
+
var prime = _interopRequireWildcard(require("./prime"));
|
|
163
|
+
Object.keys(prime).forEach(function (key) {
|
|
164
|
+
if (key === "default" || key === "__esModule") return;
|
|
165
|
+
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
|
|
166
|
+
if (key in exports && exports[key] === prime[key]) return;
|
|
167
|
+
Object.defineProperty(exports, key, {
|
|
168
|
+
enumerable: true,
|
|
169
|
+
get: function () {
|
|
170
|
+
return prime[key];
|
|
171
|
+
}
|
|
172
|
+
});
|
|
173
|
+
});
|
|
143
174
|
var scrypt = _interopRequireWildcard(require("./scrypt"));
|
|
144
175
|
Object.keys(scrypt).forEach(function (key) {
|
|
145
176
|
if (key === "default" || key === "__esModule") return;
|
|
@@ -188,6 +219,7 @@ Object.keys(dh).forEach(function (key) {
|
|
|
188
219
|
}
|
|
189
220
|
});
|
|
190
221
|
});
|
|
222
|
+
var _certificate = require("./certificate");
|
|
191
223
|
var _ec = require("./ec");
|
|
192
224
|
var _constants = require("./constants");
|
|
193
225
|
var utils = _interopRequireWildcard(require("./utils"));
|
|
@@ -226,6 +258,7 @@ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r
|
|
|
226
258
|
* See `docs/implementation-coverage.md` for status.
|
|
227
259
|
*/
|
|
228
260
|
const QuickCrypto = {
|
|
261
|
+
...argon2Module,
|
|
229
262
|
...keys,
|
|
230
263
|
...blake3,
|
|
231
264
|
...cipher,
|
|
@@ -234,12 +267,14 @@ const QuickCrypto = {
|
|
|
234
267
|
..._hmac.hmacExports,
|
|
235
268
|
...hkdf,
|
|
236
269
|
...pbkdf2,
|
|
270
|
+
...prime,
|
|
237
271
|
...scrypt,
|
|
238
272
|
...random,
|
|
239
273
|
...ecdh,
|
|
240
274
|
...dh,
|
|
241
275
|
...utils,
|
|
242
276
|
...subtle,
|
|
277
|
+
Certificate: _certificate.Certificate,
|
|
243
278
|
getCurves: _ec.getCurves,
|
|
244
279
|
constants: _constants.constants,
|
|
245
280
|
Buffer: _reactNativeBuffer.Buffer
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_reactNativeBuffer","require","
|
|
1
|
+
{"version":3,"names":["_reactNativeBuffer","require","argon2Module","_interopRequireWildcard","Object","keys","forEach","key","prototype","hasOwnProperty","call","_exportNames","exports","defineProperty","enumerable","get","blake3","cipher","ed","_hash","_hmac","hkdf","pbkdf2","prime","scrypt","random","ecdh","dh","_certificate","_ec","_constants","utils","subtle","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","set","getOwnPropertyDescriptor","QuickCrypto","hash","hmac","Certificate","getCurves","constants","Buffer","install","global","crypto","process","nextTick","setImmediate","_default","module"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -93,13 +93,15 @@ class KeyObject {
|
|
|
93
93
|
}
|
|
94
94
|
this.type = type;
|
|
95
95
|
}
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
96
|
+
static from(key) {
|
|
97
|
+
if (!(key instanceof CryptoKey)) {
|
|
98
|
+
throw new TypeError(`The "key" argument must be an instance of CryptoKey. Received ${typeof key}`);
|
|
99
|
+
}
|
|
100
|
+
return key.keyObject;
|
|
101
|
+
}
|
|
102
|
+
toCryptoKey(algorithm, extractable, keyUsages) {
|
|
103
|
+
return new CryptoKey(this, algorithm, keyUsages, extractable);
|
|
104
|
+
}
|
|
103
105
|
static createKeyObject(type, key, format, encoding) {
|
|
104
106
|
if (type !== 'secret' && type !== 'public' && type !== 'private') throw new Error(`invalid KeyObject type: ${type}`);
|
|
105
107
|
const handle = _reactNativeNitroModules.NitroModules.createHybridObject('KeyObjectHandle');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_buffer","require","_reactNativeNitroModules","_utils","_utils2","CryptoKey","Symbol","toStringTag","constructor","keyObject","keyAlgorithm","keyUsages","keyExtractable","inspect","_depth","_options","Error","type","extractable","algorithm","usages","exports","KeyObject","export","equals","otherKeyObject","TypeError","handle","keyEquals","handleOrKey","ArrayBuffer","NitroModules","createHybridObject","keyType","KeyType","PUBLIC","PRIVATE","SECRET","init","
|
|
1
|
+
{"version":3,"names":["_buffer","require","_reactNativeNitroModules","_utils","_utils2","CryptoKey","Symbol","toStringTag","constructor","keyObject","keyAlgorithm","keyUsages","keyExtractable","inspect","_depth","_options","Error","type","extractable","algorithm","usages","exports","KeyObject","export","equals","otherKeyObject","TypeError","handle","keyEquals","handleOrKey","ArrayBuffer","NitroModules","createHybridObject","keyType","KeyType","PUBLIC","PRIVATE","SECRET","init","from","key","toCryptoKey","createKeyObject","format","encoding","undefined","getAsymmetricKeyType","PublicKeyObject","PrivateKeyObject","SecretKeyObject","getAsymmetricKeyDetails","symmetricKeySize","getSymmetricKeySize","options","exportKey","Buffer","AsymmetricKeyObject","asymmetricKeyType","_asymmetricKeyType","asymmetricKeyDetails","_asymmetricKeyDetails","keyDetail","namedCurve","parsePublicKeyEncoding","buffer","toString","passphrase","cipher","parsePrivateKeyEncoding"],"sourceRoot":"../../../src","sources":["keys/classes.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -8,6 +8,8 @@ exports.generateKeyPairSync = generateKeyPairSync;
|
|
|
8
8
|
var _ed = require("../ed");
|
|
9
9
|
var _rsa = require("../rsa");
|
|
10
10
|
var _ec = require("../ec");
|
|
11
|
+
var _dsa = require("../dsa");
|
|
12
|
+
var _dhKeyPair = require("../dhKeyPair");
|
|
11
13
|
var _utils = require("../utils");
|
|
12
14
|
var _utils2 = require("./utils");
|
|
13
15
|
const generateKeyPair = (type, options, callback) => {
|
|
@@ -95,6 +97,7 @@ function internalGenerateKeyPair(isAsync, type, options, callback) {
|
|
|
95
97
|
case 'rsa-pss':
|
|
96
98
|
case 'dsa':
|
|
97
99
|
case 'ec':
|
|
100
|
+
case 'dh':
|
|
98
101
|
break;
|
|
99
102
|
default:
|
|
100
103
|
{
|
|
@@ -114,6 +117,10 @@ function internalGenerateKeyPair(isAsync, type, options, callback) {
|
|
|
114
117
|
result = await (0, _rsa.rsa_generateKeyPairNode)(type, options, encoding);
|
|
115
118
|
} else if (type === 'ec') {
|
|
116
119
|
result = await (0, _ec.ec_generateKeyPairNode)(options, encoding);
|
|
120
|
+
} else if (type === 'dsa') {
|
|
121
|
+
result = await (0, _dsa.dsa_generateKeyPairNode)(options, encoding);
|
|
122
|
+
} else if (type === 'dh') {
|
|
123
|
+
result = await (0, _dhKeyPair.dh_generateKeyPairNode)(options, encoding);
|
|
117
124
|
} else {
|
|
118
125
|
throw new Error(`Unsupported key type: ${type}`);
|
|
119
126
|
}
|
|
@@ -134,6 +141,10 @@ function internalGenerateKeyPair(isAsync, type, options, callback) {
|
|
|
134
141
|
result = (0, _rsa.rsa_generateKeyPairNodeSync)(type, options, encoding);
|
|
135
142
|
} else if (type === 'ec') {
|
|
136
143
|
result = (0, _ec.ec_generateKeyPairNodeSync)(options, encoding);
|
|
144
|
+
} else if (type === 'dsa') {
|
|
145
|
+
result = (0, _dsa.dsa_generateKeyPairNodeSync)(options, encoding);
|
|
146
|
+
} else if (type === 'dh') {
|
|
147
|
+
result = (0, _dhKeyPair.dh_generateKeyPairNodeSync)(options, encoding);
|
|
137
148
|
} else {
|
|
138
149
|
throw new Error(`Unsupported key type: ${type}`);
|
|
139
150
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_ed","require","_rsa","_ec","_utils","_utils2","generateKeyPair","type","options","callback","validateFunction","internalGenerateKeyPair","exports","generateKeyPairPromise","Promise","resolve","reject","err","publicKey","privateKey","undefined","generateKeyPairSync","parseKeyPairEncoding","keyType","kEmptyObject","publicKeyEncoding","privateKeyEncoding","publicFormat","publicType","format","parsePublicKeyEncoding","Error","privateFormat","privateType","cipher","passphrase","parsePrivateKeyEncoding","isAsync","encoding","ed_generateKeyPair","impl","result","rsa_generateKeyPairNode","ec_generateKeyPairNode","error","then","rsa_generateKeyPairNodeSync","ec_generateKeyPairNodeSync"],"sourceRoot":"../../../src","sources":["keys/generateKeyPair.ts"],"mappings":";;;;;;;AAAA,IAAAA,GAAA,GAAAC,OAAA;AACA,IAAAC,IAAA,GAAAD,OAAA;AACA,IAAAE,GAAA,GAAAF,OAAA;AACA,IAAAG,
|
|
1
|
+
{"version":3,"names":["_ed","require","_rsa","_ec","_dsa","_dhKeyPair","_utils","_utils2","generateKeyPair","type","options","callback","validateFunction","internalGenerateKeyPair","exports","generateKeyPairPromise","Promise","resolve","reject","err","publicKey","privateKey","undefined","generateKeyPairSync","parseKeyPairEncoding","keyType","kEmptyObject","publicKeyEncoding","privateKeyEncoding","publicFormat","publicType","format","parsePublicKeyEncoding","Error","privateFormat","privateType","cipher","passphrase","parsePrivateKeyEncoding","isAsync","encoding","ed_generateKeyPair","impl","result","rsa_generateKeyPairNode","ec_generateKeyPairNode","dsa_generateKeyPairNode","dh_generateKeyPairNode","error","then","rsa_generateKeyPairNodeSync","ec_generateKeyPairNodeSync","dsa_generateKeyPairNodeSync","dh_generateKeyPairNodeSync"],"sourceRoot":"../../../src","sources":["keys/generateKeyPair.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.checkPrime = checkPrime;
|
|
7
|
+
exports.checkPrimeSync = checkPrimeSync;
|
|
8
|
+
exports.generatePrime = generatePrime;
|
|
9
|
+
exports.generatePrimeSync = generatePrimeSync;
|
|
10
|
+
var _reactNativeNitroModules = require("react-native-nitro-modules");
|
|
11
|
+
var _reactNativeBuffer = require("@craftzdog/react-native-buffer");
|
|
12
|
+
var _utils = require("./utils");
|
|
13
|
+
let native;
|
|
14
|
+
function getNative() {
|
|
15
|
+
if (native == null) {
|
|
16
|
+
native = _reactNativeNitroModules.NitroModules.createHybridObject('Prime');
|
|
17
|
+
}
|
|
18
|
+
return native;
|
|
19
|
+
}
|
|
20
|
+
function toOptionalArrayBuffer(value) {
|
|
21
|
+
if (value == null) return undefined;
|
|
22
|
+
if (value instanceof ArrayBuffer) return value;
|
|
23
|
+
return (0, _utils.binaryLikeToArrayBuffer)(value);
|
|
24
|
+
}
|
|
25
|
+
function bufferToBigInt(buf) {
|
|
26
|
+
let result = 0n;
|
|
27
|
+
for (let i = 0; i < buf.length; i++) {
|
|
28
|
+
result = result << 8n | BigInt(buf[i]);
|
|
29
|
+
}
|
|
30
|
+
return result;
|
|
31
|
+
}
|
|
32
|
+
function bigIntToBuffer(value) {
|
|
33
|
+
if (value === 0n) return new Uint8Array([0]).buffer;
|
|
34
|
+
const hex = value.toString(16);
|
|
35
|
+
const paddedHex = hex.length % 2 ? '0' + hex : hex;
|
|
36
|
+
const bytes = new Uint8Array(paddedHex.length / 2);
|
|
37
|
+
for (let i = 0; i < bytes.length; i++) {
|
|
38
|
+
bytes[i] = parseInt(paddedHex.substring(i * 2, i * 2 + 2), 16);
|
|
39
|
+
}
|
|
40
|
+
return bytes.buffer;
|
|
41
|
+
}
|
|
42
|
+
function generatePrimeSync(size, options) {
|
|
43
|
+
const safe = options?.safe ?? false;
|
|
44
|
+
const add = toOptionalArrayBuffer(options?.add);
|
|
45
|
+
const rem = toOptionalArrayBuffer(options?.rem);
|
|
46
|
+
const result = _reactNativeBuffer.Buffer.from(getNative().generatePrimeSync(size, safe, add, rem));
|
|
47
|
+
if (options?.bigint) {
|
|
48
|
+
return bufferToBigInt(result);
|
|
49
|
+
}
|
|
50
|
+
return result;
|
|
51
|
+
}
|
|
52
|
+
function generatePrime(size, options, callback) {
|
|
53
|
+
if (typeof options === 'function') {
|
|
54
|
+
callback = options;
|
|
55
|
+
options = {};
|
|
56
|
+
}
|
|
57
|
+
const safe = options?.safe ?? false;
|
|
58
|
+
const add = toOptionalArrayBuffer(options?.add);
|
|
59
|
+
const rem = toOptionalArrayBuffer(options?.rem);
|
|
60
|
+
const wantBigint = options?.bigint ?? false;
|
|
61
|
+
getNative().generatePrime(size, safe, add, rem).then(ab => {
|
|
62
|
+
const result = _reactNativeBuffer.Buffer.from(ab);
|
|
63
|
+
if (wantBigint) {
|
|
64
|
+
callback?.(null, bufferToBigInt(result));
|
|
65
|
+
} else {
|
|
66
|
+
callback?.(null, result);
|
|
67
|
+
}
|
|
68
|
+
}).catch(err => callback?.(err, _reactNativeBuffer.Buffer.alloc(0)));
|
|
69
|
+
}
|
|
70
|
+
function checkPrimeSync(candidate, options) {
|
|
71
|
+
const checks = options?.checks ?? 0;
|
|
72
|
+
const buf = typeof candidate === 'bigint' ? bigIntToBuffer(candidate) : (0, _utils.binaryLikeToArrayBuffer)(candidate);
|
|
73
|
+
return getNative().checkPrimeSync(buf, checks);
|
|
74
|
+
}
|
|
75
|
+
function checkPrime(candidate, options, callback) {
|
|
76
|
+
if (typeof options === 'function') {
|
|
77
|
+
callback = options;
|
|
78
|
+
options = {};
|
|
79
|
+
}
|
|
80
|
+
const checks = options.checks ?? 0;
|
|
81
|
+
const buf = typeof candidate === 'bigint' ? bigIntToBuffer(candidate) : (0, _utils.binaryLikeToArrayBuffer)(candidate);
|
|
82
|
+
getNative().checkPrime(buf, checks).then(result => callback?.(null, result)).catch(err => callback?.(err, false));
|
|
83
|
+
}
|
|
84
|
+
//# sourceMappingURL=prime.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_reactNativeNitroModules","require","_reactNativeBuffer","_utils","native","getNative","NitroModules","createHybridObject","toOptionalArrayBuffer","value","undefined","ArrayBuffer","binaryLikeToArrayBuffer","bufferToBigInt","buf","result","i","length","BigInt","bigIntToBuffer","Uint8Array","buffer","hex","toString","paddedHex","bytes","parseInt","substring","generatePrimeSync","size","options","safe","add","rem","Buffer","from","bigint","generatePrime","callback","wantBigint","then","ab","catch","err","alloc","checkPrimeSync","candidate","checks","checkPrime"],"sourceRoot":"../../src","sources":["prime.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":[],"sourceRoot":"../../../src","sources":["specs/argon2.nitro.ts"],"mappings":"","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":[],"sourceRoot":"../../../src","sources":["specs/certificate.nitro.ts"],"mappings":"","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":[],"sourceRoot":"../../../src","sources":["specs/dhKeyPair.nitro.ts"],"mappings":"","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":[],"sourceRoot":"../../../src","sources":["specs/dsaKeyPair.nitro.ts"],"mappings":"","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":[],"sourceRoot":"../../../src","sources":["specs/prime.nitro.ts"],"mappings":"","ignoreList":[]}
|
package/lib/commonjs/subtle.js
CHANGED
|
@@ -10,6 +10,7 @@ var _safeBuffer = require("safe-buffer");
|
|
|
10
10
|
var _utils = require("./utils");
|
|
11
11
|
var _keys = require("./keys");
|
|
12
12
|
var _conversion = require("./utils/conversion");
|
|
13
|
+
var _argon = require("./argon2");
|
|
13
14
|
var _errors = require("./utils/errors");
|
|
14
15
|
var _hashnames = require("./utils/hashnames");
|
|
15
16
|
var _validation = require("./utils/validation");
|
|
@@ -25,11 +26,6 @@ var _ed = require("./ed");
|
|
|
25
26
|
var _mldsa = require("./mldsa");
|
|
26
27
|
var _hkdf = require("./hkdf");
|
|
27
28
|
/* eslint-disable @typescript-eslint/no-unused-vars */
|
|
28
|
-
// import { pbkdf2DeriveBits } from './pbkdf2';
|
|
29
|
-
// import { aesCipher, aesGenerateKey, aesImportKey, getAlgorithmName } from './aes';
|
|
30
|
-
// import { rsaCipher, rsaExportKey, rsaImportKey, rsaKeyGenerate } from './rsa';
|
|
31
|
-
// import { normalizeAlgorithm, type Operation } from './algorithms';
|
|
32
|
-
// import { hmacImportKey } from './mac';
|
|
33
29
|
// Temporary enums that need to be defined
|
|
34
30
|
var KWebCryptoKeyFormat = /*#__PURE__*/function (KWebCryptoKeyFormat) {
|
|
35
31
|
KWebCryptoKeyFormat[KWebCryptoKeyFormat["kWebCryptoKeyFormatRaw"] = 0] = "kWebCryptoKeyFormatRaw";
|
|
@@ -75,15 +71,15 @@ function getAlgorithmName(name, length) {
|
|
|
75
71
|
// Placeholder implementations for missing functions
|
|
76
72
|
function ecExportKey(key, format) {
|
|
77
73
|
const keyObject = key.keyObject;
|
|
78
|
-
if (format === KWebCryptoKeyFormat.
|
|
79
|
-
|
|
74
|
+
if (format === KWebCryptoKeyFormat.kWebCryptoKeyFormatRaw) {
|
|
75
|
+
return (0, _conversion.bufferLikeToArrayBuffer)(keyObject.handle.exportKey());
|
|
76
|
+
} else if (format === KWebCryptoKeyFormat.kWebCryptoKeyFormatSPKI) {
|
|
80
77
|
const exported = keyObject.export({
|
|
81
78
|
format: 'der',
|
|
82
79
|
type: 'spki'
|
|
83
80
|
});
|
|
84
81
|
return (0, _conversion.bufferLikeToArrayBuffer)(exported);
|
|
85
82
|
} else if (format === KWebCryptoKeyFormat.kWebCryptoKeyFormatPKCS8) {
|
|
86
|
-
// Export private key in PKCS8 format
|
|
87
83
|
const exported = keyObject.export({
|
|
88
84
|
format: 'der',
|
|
89
85
|
type: 'pkcs8'
|
|
@@ -988,6 +984,37 @@ const checkCryptoKeyPairUsages = pair => {
|
|
|
988
984
|
}
|
|
989
985
|
throw (0, _errors.lazyDOMException)('Usages cannot be empty when creating a key.', 'SyntaxError');
|
|
990
986
|
};
|
|
987
|
+
function argon2DeriveBits(algorithm, baseKey, length) {
|
|
988
|
+
if (length === 0 || length % 8 !== 0) {
|
|
989
|
+
throw (0, _errors.lazyDOMException)('Invalid Argon2 derived key length', 'OperationError');
|
|
990
|
+
}
|
|
991
|
+
if (length < 32) {
|
|
992
|
+
throw (0, _errors.lazyDOMException)('Argon2 derived key length must be at least 32 bits', 'OperationError');
|
|
993
|
+
}
|
|
994
|
+
const {
|
|
995
|
+
nonce,
|
|
996
|
+
parallelism,
|
|
997
|
+
memory,
|
|
998
|
+
passes,
|
|
999
|
+
secretValue,
|
|
1000
|
+
associatedData
|
|
1001
|
+
} = algorithm;
|
|
1002
|
+
const tagLength = length / 8;
|
|
1003
|
+
const message = baseKey.keyObject.export();
|
|
1004
|
+
const algName = algorithm.name.toLowerCase();
|
|
1005
|
+
const result = (0, _argon.argon2Sync)(algName, {
|
|
1006
|
+
message,
|
|
1007
|
+
nonce: nonce ?? new Uint8Array(0),
|
|
1008
|
+
parallelism: parallelism ?? 1,
|
|
1009
|
+
tagLength,
|
|
1010
|
+
memory: memory ?? 65536,
|
|
1011
|
+
passes: passes ?? 3,
|
|
1012
|
+
secret: secretValue,
|
|
1013
|
+
associatedData,
|
|
1014
|
+
version: algorithm.version
|
|
1015
|
+
});
|
|
1016
|
+
return (0, _conversion.bufferLikeToArrayBuffer)(result);
|
|
1017
|
+
}
|
|
991
1018
|
|
|
992
1019
|
// Type guard to check if result is CryptoKeyPair
|
|
993
1020
|
function isCryptoKeyPair(result) {
|
|
@@ -1149,7 +1176,49 @@ const cipherOrWrap = async (mode, algorithm, key, data, op) => {
|
|
|
1149
1176
|
return chaCha20Poly1305Cipher(mode, key, data, algorithm);
|
|
1150
1177
|
}
|
|
1151
1178
|
};
|
|
1179
|
+
const SUPPORTED_ALGORITHMS = {
|
|
1180
|
+
encrypt: new Set(['RSA-OAEP', 'AES-CTR', 'AES-CBC', 'AES-GCM', 'AES-OCB', 'ChaCha20-Poly1305']),
|
|
1181
|
+
decrypt: new Set(['RSA-OAEP', 'AES-CTR', 'AES-CBC', 'AES-GCM', 'AES-OCB', 'ChaCha20-Poly1305']),
|
|
1182
|
+
sign: new Set(['RSASSA-PKCS1-v1_5', 'RSA-PSS', 'ECDSA', 'HMAC', 'Ed25519', 'Ed448', 'ML-DSA-44', 'ML-DSA-65', 'ML-DSA-87']),
|
|
1183
|
+
verify: new Set(['RSASSA-PKCS1-v1_5', 'RSA-PSS', 'ECDSA', 'HMAC', 'Ed25519', 'Ed448', 'ML-DSA-44', 'ML-DSA-65', 'ML-DSA-87']),
|
|
1184
|
+
digest: new Set(['SHA-1', 'SHA-256', 'SHA-384', 'SHA-512']),
|
|
1185
|
+
generateKey: new Set(['RSASSA-PKCS1-v1_5', 'RSA-PSS', 'RSA-OAEP', 'ECDSA', 'ECDH', 'Ed25519', 'Ed448', 'X25519', 'X448', 'AES-CTR', 'AES-CBC', 'AES-GCM', 'AES-KW', 'AES-OCB', 'ChaCha20-Poly1305', 'HMAC', 'ML-DSA-44', 'ML-DSA-65', 'ML-DSA-87']),
|
|
1186
|
+
importKey: new Set(['RSASSA-PKCS1-v1_5', 'RSA-PSS', 'RSA-OAEP', 'ECDSA', 'ECDH', 'Ed25519', 'Ed448', 'X25519', 'X448', 'AES-CTR', 'AES-CBC', 'AES-GCM', 'AES-KW', 'AES-OCB', 'ChaCha20-Poly1305', 'HMAC', 'HKDF', 'PBKDF2', 'Argon2d', 'Argon2i', 'Argon2id', 'ML-DSA-44', 'ML-DSA-65', 'ML-DSA-87']),
|
|
1187
|
+
exportKey: new Set(['RSASSA-PKCS1-v1_5', 'RSA-PSS', 'RSA-OAEP', 'ECDSA', 'ECDH', 'Ed25519', 'Ed448', 'X25519', 'X448', 'AES-CTR', 'AES-CBC', 'AES-GCM', 'AES-KW', 'AES-OCB', 'ChaCha20-Poly1305', 'HMAC', 'ML-DSA-44', 'ML-DSA-65', 'ML-DSA-87']),
|
|
1188
|
+
deriveBits: new Set(['PBKDF2', 'HKDF', 'ECDH', 'X25519', 'X448', 'Argon2d', 'Argon2i', 'Argon2id']),
|
|
1189
|
+
wrapKey: new Set(['AES-CTR', 'AES-CBC', 'AES-GCM', 'AES-KW', 'AES-OCB', 'ChaCha20-Poly1305', 'RSA-OAEP']),
|
|
1190
|
+
unwrapKey: new Set(['AES-CTR', 'AES-CBC', 'AES-GCM', 'AES-KW', 'AES-OCB', 'ChaCha20-Poly1305', 'RSA-OAEP'])
|
|
1191
|
+
};
|
|
1192
|
+
const ASYMMETRIC_ALGORITHMS = new Set(['RSASSA-PKCS1-v1_5', 'RSA-PSS', 'RSA-OAEP', 'ECDSA', 'ECDH', 'Ed25519', 'Ed448', 'X25519', 'X448', 'ML-DSA-44', 'ML-DSA-65', 'ML-DSA-87']);
|
|
1152
1193
|
class Subtle {
|
|
1194
|
+
static supports(operation, algorithm, _lengthOrAdditionalAlgorithm) {
|
|
1195
|
+
let normalizedAlgorithm;
|
|
1196
|
+
try {
|
|
1197
|
+
normalizedAlgorithm = normalizeAlgorithm(algorithm, operation === 'getPublicKey' ? 'exportKey' : operation);
|
|
1198
|
+
} catch {
|
|
1199
|
+
return false;
|
|
1200
|
+
}
|
|
1201
|
+
const name = normalizedAlgorithm.name;
|
|
1202
|
+
if (operation === 'getPublicKey') {
|
|
1203
|
+
return ASYMMETRIC_ALGORITHMS.has(name);
|
|
1204
|
+
}
|
|
1205
|
+
if (operation === 'deriveKey') {
|
|
1206
|
+
// deriveKey decomposes to deriveBits + importKey of additional algorithm
|
|
1207
|
+
if (!SUPPORTED_ALGORITHMS.deriveBits?.has(name)) return false;
|
|
1208
|
+
if (_lengthOrAdditionalAlgorithm != null) {
|
|
1209
|
+
try {
|
|
1210
|
+
const additionalAlg = normalizeAlgorithm(_lengthOrAdditionalAlgorithm, 'importKey');
|
|
1211
|
+
return SUPPORTED_ALGORITHMS.importKey?.has(additionalAlg.name) ?? false;
|
|
1212
|
+
} catch {
|
|
1213
|
+
return false;
|
|
1214
|
+
}
|
|
1215
|
+
}
|
|
1216
|
+
return true;
|
|
1217
|
+
}
|
|
1218
|
+
const supported = SUPPORTED_ALGORITHMS[operation];
|
|
1219
|
+
if (!supported) return false;
|
|
1220
|
+
return supported.has(name);
|
|
1221
|
+
}
|
|
1153
1222
|
async decrypt(algorithm, key, data) {
|
|
1154
1223
|
const normalizedAlgorithm = normalizeAlgorithm(algorithm, 'decrypt');
|
|
1155
1224
|
return cipherOrWrap(CipherOrWrapMode.kWebCryptoCipherDecrypt, normalizedAlgorithm, key, (0, _conversion.bufferLikeToArrayBuffer)(data), 'decrypt');
|
|
@@ -1175,6 +1244,10 @@ class Subtle {
|
|
|
1175
1244
|
return (0, _ec.ecDeriveBits)(algorithm, baseKey, length);
|
|
1176
1245
|
case 'HKDF':
|
|
1177
1246
|
return (0, _hkdf.hkdfDeriveBits)(algorithm, baseKey, length);
|
|
1247
|
+
case 'Argon2d':
|
|
1248
|
+
case 'Argon2i':
|
|
1249
|
+
case 'Argon2id':
|
|
1250
|
+
return argon2DeriveBits(algorithm, baseKey, length);
|
|
1178
1251
|
}
|
|
1179
1252
|
throw new Error(`'subtle.deriveBits()' for ${algorithm.name} is not implemented.`);
|
|
1180
1253
|
}
|
|
@@ -1205,6 +1278,11 @@ class Subtle {
|
|
|
1205
1278
|
case 'HKDF':
|
|
1206
1279
|
derivedBits = (0, _hkdf.hkdfDeriveBits)(algorithm, baseKey, length);
|
|
1207
1280
|
break;
|
|
1281
|
+
case 'Argon2d':
|
|
1282
|
+
case 'Argon2i':
|
|
1283
|
+
case 'Argon2id':
|
|
1284
|
+
derivedBits = argon2DeriveBits(algorithm, baseKey, length);
|
|
1285
|
+
break;
|
|
1208
1286
|
default:
|
|
1209
1287
|
throw new Error(`'subtle.deriveKey()' for ${algorithm.name} is not implemented.`);
|
|
1210
1288
|
}
|
|
@@ -1218,7 +1296,7 @@ class Subtle {
|
|
|
1218
1296
|
}
|
|
1219
1297
|
async exportKey(format, key) {
|
|
1220
1298
|
if (!key.extractable) throw new Error('key is not extractable');
|
|
1221
|
-
if (format === 'raw-secret') format = 'raw';
|
|
1299
|
+
if (format === 'raw-secret' || format === 'raw-public') format = 'raw';
|
|
1222
1300
|
switch (format) {
|
|
1223
1301
|
case 'spki':
|
|
1224
1302
|
return await exportKeySpki(key);
|
|
@@ -1369,8 +1447,18 @@ class Subtle {
|
|
|
1369
1447
|
}
|
|
1370
1448
|
return result;
|
|
1371
1449
|
}
|
|
1450
|
+
async getPublicKey(key, keyUsages) {
|
|
1451
|
+
if (key.type === 'secret') {
|
|
1452
|
+
throw (0, _errors.lazyDOMException)('key must be a private key', 'NotSupportedError');
|
|
1453
|
+
}
|
|
1454
|
+
if (key.type !== 'private') {
|
|
1455
|
+
throw (0, _errors.lazyDOMException)('key must be a private key', 'InvalidAccessError');
|
|
1456
|
+
}
|
|
1457
|
+
const publicKeyObject = (0, _keys.createPublicKey)(key.keyObject);
|
|
1458
|
+
return publicKeyObject.toCryptoKey(key.algorithm, true, keyUsages);
|
|
1459
|
+
}
|
|
1372
1460
|
async importKey(format, data, algorithm, extractable, keyUsages) {
|
|
1373
|
-
if (format === 'raw-secret') format = 'raw';
|
|
1461
|
+
if (format === 'raw-secret' || format === 'raw-public') format = 'raw';
|
|
1374
1462
|
const normalizedAlgorithm = normalizeAlgorithm(algorithm, 'importKey');
|
|
1375
1463
|
let result;
|
|
1376
1464
|
switch (normalizedAlgorithm.name) {
|
|
@@ -1403,6 +1491,9 @@ class Subtle {
|
|
|
1403
1491
|
result = await aesImportKey(normalizedAlgorithm, format, data, extractable, keyUsages);
|
|
1404
1492
|
break;
|
|
1405
1493
|
case 'PBKDF2':
|
|
1494
|
+
case 'Argon2d':
|
|
1495
|
+
case 'Argon2i':
|
|
1496
|
+
case 'Argon2id':
|
|
1406
1497
|
result = await importGenericSecretKey(normalizedAlgorithm, format, data, extractable, keyUsages);
|
|
1407
1498
|
break;
|
|
1408
1499
|
case 'HKDF':
|