react-native-quick-crypto 1.0.11 → 1.0.13
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/android/CMakeLists.txt +7 -0
- package/cpp/cipher/CCMCipher.cpp +4 -1
- package/cpp/cipher/ChaCha20Cipher.cpp +3 -1
- package/cpp/cipher/ChaCha20Poly1305Cipher.cpp +5 -5
- package/cpp/cipher/ChaCha20Poly1305Cipher.hpp +1 -2
- package/cpp/cipher/HybridCipher.cpp +10 -1
- package/cpp/cipher/HybridCipher.hpp +2 -0
- package/cpp/cipher/HybridRsaCipher.cpp +0 -13
- package/cpp/cipher/XChaCha20Poly1305Cipher.cpp +7 -5
- package/cpp/cipher/XChaCha20Poly1305Cipher.hpp +1 -2
- package/cpp/cipher/XSalsa20Cipher.cpp +4 -0
- package/cpp/cipher/XSalsa20Poly1305Cipher.cpp +7 -5
- package/cpp/cipher/XSalsa20Poly1305Cipher.hpp +1 -2
- package/cpp/ecdh/HybridECDH.cpp +20 -133
- package/cpp/keys/HybridKeyObjectHandle.cpp +144 -141
- package/cpp/keys/HybridKeyObjectHandle.hpp +6 -3
- package/cpp/keys/KeyObjectData.hpp +2 -0
- package/cpp/kmac/HybridKmac.cpp +83 -0
- package/cpp/kmac/HybridKmac.hpp +31 -0
- package/cpp/mldsa/HybridMlDsaKeyPair.cpp +11 -20
- package/cpp/mldsa/HybridMlDsaKeyPair.hpp +4 -2
- package/cpp/mlkem/HybridMlKemKeyPair.cpp +319 -0
- package/cpp/mlkem/HybridMlKemKeyPair.hpp +48 -0
- package/cpp/sign/SignUtils.hpp +9 -26
- package/cpp/utils/QuickCryptoUtils.cpp +44 -0
- package/cpp/utils/QuickCryptoUtils.hpp +39 -0
- package/cpp/x509/HybridX509Certificate.cpp +174 -0
- package/cpp/x509/HybridX509Certificate.hpp +51 -0
- package/lib/commonjs/cipher.js +15 -2
- package/lib/commonjs/cipher.js.map +1 -1
- package/lib/commonjs/dhKeyPair.js +3 -3
- package/lib/commonjs/dhKeyPair.js.map +1 -1
- package/lib/commonjs/dsa.js +3 -3
- package/lib/commonjs/dsa.js.map +1 -1
- package/lib/commonjs/ec.js +18 -18
- package/lib/commonjs/ec.js.map +1 -1
- package/lib/commonjs/ed.js +9 -9
- package/lib/commonjs/ed.js.map +1 -1
- package/lib/commonjs/hash.js +17 -12
- package/lib/commonjs/hash.js.map +1 -1
- package/lib/commonjs/hkdf.js.map +1 -1
- package/lib/commonjs/index.js +22 -0
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/keys/classes.js +2 -2
- package/lib/commonjs/keys/classes.js.map +1 -1
- package/lib/commonjs/keys/index.js +24 -0
- package/lib/commonjs/keys/index.js.map +1 -1
- package/lib/commonjs/keys/publicCipher.js +2 -2
- package/lib/commonjs/keys/publicCipher.js.map +1 -1
- package/lib/commonjs/keys/signVerify.js +0 -2
- package/lib/commonjs/keys/signVerify.js.map +1 -1
- package/lib/commonjs/mlkem.js +219 -0
- package/lib/commonjs/mlkem.js.map +1 -0
- package/lib/commonjs/pbkdf2.js +18 -1
- package/lib/commonjs/pbkdf2.js.map +1 -1
- package/lib/commonjs/rsa.js +7 -7
- package/lib/commonjs/rsa.js.map +1 -1
- package/lib/commonjs/specs/kmac.nitro.js +6 -0
- package/lib/commonjs/specs/kmac.nitro.js.map +1 -0
- package/lib/commonjs/specs/mlKemKeyPair.nitro.js +6 -0
- package/lib/commonjs/specs/mlKemKeyPair.nitro.js.map +1 -0
- package/lib/commonjs/specs/x509certificate.nitro.js +6 -0
- package/lib/commonjs/specs/x509certificate.nitro.js.map +1 -0
- package/lib/commonjs/subtle.js +292 -112
- package/lib/commonjs/subtle.js.map +1 -1
- package/lib/commonjs/utils/conversion.js +3 -3
- package/lib/commonjs/utils/conversion.js.map +1 -1
- package/lib/commonjs/utils/hashnames.js +31 -0
- package/lib/commonjs/utils/hashnames.js.map +1 -1
- package/lib/commonjs/utils/types.js.map +1 -1
- package/lib/commonjs/x509certificate.js +189 -0
- package/lib/commonjs/x509certificate.js.map +1 -0
- package/lib/module/cipher.js +16 -3
- package/lib/module/cipher.js.map +1 -1
- package/lib/module/dhKeyPair.js +1 -1
- package/lib/module/dhKeyPair.js.map +1 -1
- package/lib/module/dsa.js +1 -1
- package/lib/module/dsa.js.map +1 -1
- package/lib/module/ec.js +6 -6
- package/lib/module/ec.js.map +1 -1
- package/lib/module/ed.js +1 -1
- package/lib/module/ed.js.map +1 -1
- package/lib/module/hash.js +17 -12
- package/lib/module/hash.js.map +1 -1
- package/lib/module/hkdf.js.map +1 -1
- package/lib/module/index.js +6 -0
- package/lib/module/index.js.map +1 -1
- package/lib/module/keys/classes.js +2 -2
- package/lib/module/keys/classes.js.map +1 -1
- package/lib/module/keys/index.js +25 -1
- package/lib/module/keys/index.js.map +1 -1
- package/lib/module/keys/publicCipher.js +2 -2
- package/lib/module/keys/publicCipher.js.map +1 -1
- package/lib/module/keys/signVerify.js +0 -2
- package/lib/module/keys/signVerify.js.map +1 -1
- package/lib/module/mlkem.js +211 -0
- package/lib/module/mlkem.js.map +1 -0
- package/lib/module/pbkdf2.js +18 -1
- package/lib/module/pbkdf2.js.map +1 -1
- package/lib/module/rsa.js +1 -1
- package/lib/module/rsa.js.map +1 -1
- package/lib/module/specs/kmac.nitro.js +4 -0
- package/lib/module/specs/kmac.nitro.js.map +1 -0
- package/lib/module/specs/mlKemKeyPair.nitro.js +4 -0
- package/lib/module/specs/mlKemKeyPair.nitro.js.map +1 -0
- package/lib/module/specs/x509certificate.nitro.js +4 -0
- package/lib/module/specs/x509certificate.nitro.js.map +1 -0
- package/lib/module/subtle.js +292 -112
- package/lib/module/subtle.js.map +1 -1
- package/lib/module/utils/conversion.js +3 -4
- package/lib/module/utils/conversion.js.map +1 -1
- package/lib/module/utils/hashnames.js +31 -0
- package/lib/module/utils/hashnames.js.map +1 -1
- package/lib/module/utils/types.js.map +1 -1
- package/lib/module/x509certificate.js +184 -0
- package/lib/module/x509certificate.js.map +1 -0
- package/lib/tsconfig.tsbuildinfo +1 -1
- package/lib/typescript/cipher.d.ts +3 -0
- package/lib/typescript/cipher.d.ts.map +1 -1
- package/lib/typescript/dhKeyPair.d.ts +1 -1
- package/lib/typescript/dhKeyPair.d.ts.map +1 -1
- package/lib/typescript/dsa.d.ts +1 -1
- package/lib/typescript/dsa.d.ts.map +1 -1
- package/lib/typescript/ec.d.ts +1 -1
- package/lib/typescript/ec.d.ts.map +1 -1
- package/lib/typescript/ed.d.ts +1 -1
- package/lib/typescript/ed.d.ts.map +1 -1
- package/lib/typescript/hash.d.ts.map +1 -1
- package/lib/typescript/hkdf.d.ts +2 -6
- package/lib/typescript/hkdf.d.ts.map +1 -1
- package/lib/typescript/index.d.ts +15 -4
- package/lib/typescript/index.d.ts.map +1 -1
- package/lib/typescript/keys/classes.d.ts +5 -5
- package/lib/typescript/keys/classes.d.ts.map +1 -1
- package/lib/typescript/keys/index.d.ts +2 -2
- package/lib/typescript/keys/index.d.ts.map +1 -1
- package/lib/typescript/keys/signVerify.d.ts.map +1 -1
- package/lib/typescript/mlkem.d.ts +30 -0
- package/lib/typescript/mlkem.d.ts.map +1 -0
- package/lib/typescript/pbkdf2.d.ts +2 -2
- package/lib/typescript/pbkdf2.d.ts.map +1 -1
- package/lib/typescript/rsa.d.ts +1 -1
- package/lib/typescript/rsa.d.ts.map +1 -1
- package/lib/typescript/specs/keyObjectHandle.nitro.d.ts +1 -0
- package/lib/typescript/specs/keyObjectHandle.nitro.d.ts.map +1 -1
- package/lib/typescript/specs/kmac.nitro.d.ts +10 -0
- package/lib/typescript/specs/kmac.nitro.d.ts.map +1 -0
- package/lib/typescript/specs/mlKemKeyPair.nitro.d.ts +18 -0
- package/lib/typescript/specs/mlKemKeyPair.nitro.d.ts.map +1 -0
- package/lib/typescript/specs/x509certificate.nitro.d.ts +34 -0
- package/lib/typescript/specs/x509certificate.nitro.d.ts.map +1 -0
- package/lib/typescript/subtle.d.ts +10 -0
- package/lib/typescript/subtle.d.ts.map +1 -1
- package/lib/typescript/utils/conversion.d.ts.map +1 -1
- package/lib/typescript/utils/hashnames.d.ts +1 -1
- package/lib/typescript/utils/hashnames.d.ts.map +1 -1
- package/lib/typescript/utils/types.d.ts +13 -7
- package/lib/typescript/utils/types.d.ts.map +1 -1
- package/lib/typescript/x509certificate.d.ts +64 -0
- package/lib/typescript/x509certificate.d.ts.map +1 -0
- package/nitrogen/generated/android/QuickCrypto+autolinking.cmake +3 -0
- package/nitrogen/generated/android/QuickCryptoOnLoad.cpp +30 -0
- package/nitrogen/generated/ios/QuickCryptoAutolinking.mm +30 -0
- package/nitrogen/generated/shared/c++/AsymmetricKeyType.hpp +12 -0
- package/nitrogen/generated/shared/c++/HybridKeyObjectHandleSpec.cpp +1 -0
- package/nitrogen/generated/shared/c++/HybridKeyObjectHandleSpec.hpp +1 -0
- package/nitrogen/generated/shared/c++/HybridKmacSpec.cpp +23 -0
- package/nitrogen/generated/shared/c++/HybridKmacSpec.hpp +66 -0
- package/nitrogen/generated/shared/c++/HybridMlKemKeyPairSpec.cpp +31 -0
- package/nitrogen/generated/shared/c++/HybridMlKemKeyPairSpec.hpp +74 -0
- package/nitrogen/generated/shared/c++/HybridX509CertificateHandleSpec.cpp +46 -0
- package/nitrogen/generated/shared/c++/HybridX509CertificateHandleSpec.hpp +96 -0
- package/package.json +4 -1
- package/src/cipher.ts +17 -3
- package/src/dhKeyPair.ts +1 -1
- package/src/dsa.ts +1 -1
- package/src/ec.ts +9 -9
- package/src/ed.ts +2 -2
- package/src/hash.ts +34 -11
- package/src/hkdf.ts +2 -7
- package/src/index.ts +7 -0
- package/src/keys/classes.ts +10 -9
- package/src/keys/index.ts +37 -2
- package/src/keys/publicCipher.ts +2 -2
- package/src/keys/signVerify.ts +0 -5
- package/src/mlkem.ts +350 -0
- package/src/pbkdf2.ts +34 -5
- package/src/rsa.ts +1 -1
- package/src/specs/keyObjectHandle.nitro.ts +5 -0
- package/src/specs/kmac.nitro.ts +12 -0
- package/src/specs/mlKemKeyPair.nitro.ts +32 -0
- package/src/specs/x509certificate.nitro.ts +38 -0
- package/src/subtle.ts +551 -125
- package/src/utils/conversion.ts +10 -4
- package/src/utils/hashnames.ts +33 -2
- package/src/utils/types.ts +42 -5
- package/src/x509certificate.ts +277 -0
package/lib/commonjs/index.js
CHANGED
|
@@ -7,6 +7,7 @@ var _exportNames = {
|
|
|
7
7
|
install: true,
|
|
8
8
|
Buffer: true,
|
|
9
9
|
Certificate: true,
|
|
10
|
+
X509Certificate: true,
|
|
10
11
|
getCurves: true,
|
|
11
12
|
constants: true,
|
|
12
13
|
subtle: true,
|
|
@@ -24,6 +25,12 @@ Object.defineProperty(exports, "Certificate", {
|
|
|
24
25
|
return _certificate.Certificate;
|
|
25
26
|
}
|
|
26
27
|
});
|
|
28
|
+
Object.defineProperty(exports, "X509Certificate", {
|
|
29
|
+
enumerable: true,
|
|
30
|
+
get: function () {
|
|
31
|
+
return _x509certificate.X509Certificate;
|
|
32
|
+
}
|
|
33
|
+
});
|
|
27
34
|
Object.defineProperty(exports, "constants", {
|
|
28
35
|
enumerable: true,
|
|
29
36
|
get: function () {
|
|
@@ -219,7 +226,20 @@ Object.keys(dh).forEach(function (key) {
|
|
|
219
226
|
}
|
|
220
227
|
});
|
|
221
228
|
});
|
|
229
|
+
var mlkem = _interopRequireWildcard(require("./mlkem"));
|
|
230
|
+
Object.keys(mlkem).forEach(function (key) {
|
|
231
|
+
if (key === "default" || key === "__esModule") return;
|
|
232
|
+
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
|
|
233
|
+
if (key in exports && exports[key] === mlkem[key]) return;
|
|
234
|
+
Object.defineProperty(exports, key, {
|
|
235
|
+
enumerable: true,
|
|
236
|
+
get: function () {
|
|
237
|
+
return mlkem[key];
|
|
238
|
+
}
|
|
239
|
+
});
|
|
240
|
+
});
|
|
222
241
|
var _certificate = require("./certificate");
|
|
242
|
+
var _x509certificate = require("./x509certificate");
|
|
223
243
|
var _ec = require("./ec");
|
|
224
244
|
var _constants = require("./constants");
|
|
225
245
|
var utils = _interopRequireWildcard(require("./utils"));
|
|
@@ -272,9 +292,11 @@ const QuickCrypto = {
|
|
|
272
292
|
...random,
|
|
273
293
|
...ecdh,
|
|
274
294
|
...dh,
|
|
295
|
+
...mlkem,
|
|
275
296
|
...utils,
|
|
276
297
|
...subtle,
|
|
277
298
|
Certificate: _certificate.Certificate,
|
|
299
|
+
X509Certificate: _x509certificate.X509Certificate,
|
|
278
300
|
getCurves: _ec.getCurves,
|
|
279
301
|
constants: _constants.constants,
|
|
280
302
|
Buffer: _reactNativeBuffer.Buffer
|
|
@@ -1 +1 @@
|
|
|
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":"
|
|
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","mlkem","_certificate","_x509certificate","_ec","_constants","utils","subtle","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","set","getOwnPropertyDescriptor","QuickCrypto","hash","hmac","Certificate","X509Certificate","getCurves","constants","Buffer","install","global","crypto","process","nextTick","setImmediate","_default","module"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -216,7 +216,7 @@ class PublicKeyObject extends AsymmetricKeyObject {
|
|
|
216
216
|
}
|
|
217
217
|
export(options) {
|
|
218
218
|
if (options?.format === 'jwk') {
|
|
219
|
-
|
|
219
|
+
return this.handle.exportJwk({}, false);
|
|
220
220
|
}
|
|
221
221
|
const {
|
|
222
222
|
format,
|
|
@@ -240,7 +240,7 @@ class PrivateKeyObject extends AsymmetricKeyObject {
|
|
|
240
240
|
if (options.passphrase !== undefined) {
|
|
241
241
|
throw new Error('jwk does not support encryption');
|
|
242
242
|
}
|
|
243
|
-
|
|
243
|
+
return this.handle.exportJwk({}, false);
|
|
244
244
|
}
|
|
245
245
|
const {
|
|
246
246
|
format,
|
|
@@ -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","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":";;;;;;AAAA,IAAAA,OAAA,GAAAC,OAAA;AACA,IAAAC,wBAAA,GAAAD,OAAA;
|
|
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","exportJwk","parsePublicKeyEncoding","buffer","toString","passphrase","cipher","parsePrivateKeyEncoding"],"sourceRoot":"../../../src","sources":["keys/classes.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -145,6 +145,7 @@ var _generateKeyPair = require("./generateKeyPair");
|
|
|
145
145
|
var _signVerify = require("./signVerify");
|
|
146
146
|
var _publicCipher = require("./publicCipher");
|
|
147
147
|
var _utils = require("./utils");
|
|
148
|
+
var _reactNativeNitroModules = require("react-native-nitro-modules");
|
|
148
149
|
var _utils2 = require("../utils");
|
|
149
150
|
var _random = require("../random");
|
|
150
151
|
function createSecretKey(key) {
|
|
@@ -227,6 +228,21 @@ function prepareAsymmetricKey(key, isPublic) {
|
|
|
227
228
|
throw new Error('Invalid key input');
|
|
228
229
|
}
|
|
229
230
|
function createPublicKey(key) {
|
|
231
|
+
if (typeof key === 'object' && 'key' in key && key.format === 'jwk') {
|
|
232
|
+
const handle = _reactNativeNitroModules.NitroModules.createHybridObject('KeyObjectHandle');
|
|
233
|
+
const keyType = handle.initJwk(key.key);
|
|
234
|
+
if (keyType === undefined) {
|
|
235
|
+
throw new Error('Failed to import JWK');
|
|
236
|
+
}
|
|
237
|
+
if (keyType === _utils2.KeyType.PRIVATE) {
|
|
238
|
+
// Extract public from private
|
|
239
|
+
const exported = handle.exportKey(_utils2.KFormatType.DER, _utils2.KeyEncoding.SPKI);
|
|
240
|
+
const pubHandle = _reactNativeNitroModules.NitroModules.createHybridObject('KeyObjectHandle');
|
|
241
|
+
pubHandle.init(_utils2.KeyType.PUBLIC, exported, _utils2.KFormatType.DER, _utils2.KeyEncoding.SPKI);
|
|
242
|
+
return new _classes.PublicKeyObject(pubHandle);
|
|
243
|
+
}
|
|
244
|
+
return new _classes.PublicKeyObject(handle);
|
|
245
|
+
}
|
|
230
246
|
const {
|
|
231
247
|
data,
|
|
232
248
|
format,
|
|
@@ -243,6 +259,14 @@ function createPublicKey(key) {
|
|
|
243
259
|
return _classes.KeyObject.createKeyObject('public', data, kFormat, kType);
|
|
244
260
|
}
|
|
245
261
|
function createPrivateKey(key) {
|
|
262
|
+
if (typeof key === 'object' && 'key' in key && key.format === 'jwk') {
|
|
263
|
+
const handle = _reactNativeNitroModules.NitroModules.createHybridObject('KeyObjectHandle');
|
|
264
|
+
const keyType = handle.initJwk(key.key);
|
|
265
|
+
if (keyType === undefined || keyType !== _utils2.KeyType.PRIVATE) {
|
|
266
|
+
throw new Error('Failed to import private key from JWK');
|
|
267
|
+
}
|
|
268
|
+
return new _classes.PrivateKeyObject(handle);
|
|
269
|
+
}
|
|
246
270
|
const {
|
|
247
271
|
data,
|
|
248
272
|
format,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_classes","require","_generateKeyPair","_signVerify","_publicCipher","_utils","_utils2","_random","createSecretKey","key","keyBuffer","toAB","KeyObject","createKeyObject","prepareAsymmetricKey","isPublic","type","Error","exported","handle","exportKey","KFormatType","DER","KeyEncoding","SPKI","data","format","PKCS8","isCryptoKey","cryptoKey","keyObject","isStringOrBuffer","isPem","includes","undefined","keyObj","filteredFormat","createPublicKey","kFormat","PEM","kType","PKCS1","createPrivateKey","SEC1","generateKeySync","options","TypeError","length","Number","isInteger","RangeError","keyBytes","keyMaterial","randomBytes","generateKey","callback","process","nextTick","err"],"sourceRoot":"../../../src","sources":["keys/index.ts"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,QAAA,GAAAC,OAAA;AAQA,IAAAC,gBAAA,GAAAD,OAAA;AACA,IAAAE,WAAA,GAAAF,OAAA;AAQA,IAAAG,aAAA,GAAAH,OAAA;AAMA,IAAAI,MAAA,GAAAJ,OAAA;
|
|
1
|
+
{"version":3,"names":["_classes","require","_generateKeyPair","_signVerify","_publicCipher","_utils","_reactNativeNitroModules","_utils2","_random","createSecretKey","key","keyBuffer","toAB","KeyObject","createKeyObject","prepareAsymmetricKey","isPublic","type","Error","exported","handle","exportKey","KFormatType","DER","KeyEncoding","SPKI","data","format","PKCS8","isCryptoKey","cryptoKey","keyObject","isStringOrBuffer","isPem","includes","undefined","keyObj","filteredFormat","createPublicKey","NitroModules","createHybridObject","keyType","initJwk","KeyType","PRIVATE","pubHandle","init","PUBLIC","PublicKeyObject","kFormat","PEM","kType","PKCS1","createPrivateKey","PrivateKeyObject","SEC1","generateKeySync","options","TypeError","length","Number","isInteger","RangeError","keyBytes","keyMaterial","randomBytes","generateKey","callback","process","nextTick","err"],"sourceRoot":"../../../src","sources":["keys/index.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -66,7 +66,7 @@ function publicEncrypt(key, buffer) {
|
|
|
66
66
|
const rsaCipher = _reactNativeNitroModules.NitroModules.createHybridObject('RsaCipher');
|
|
67
67
|
const data = (0, _utils.binaryLikeToArrayBuffer)(buffer);
|
|
68
68
|
const paddingMode = padding ?? _constants.constants.RSA_PKCS1_OAEP_PADDING;
|
|
69
|
-
const hashAlgorithm = oaepHash || '
|
|
69
|
+
const hashAlgorithm = oaepHash || 'sha1';
|
|
70
70
|
try {
|
|
71
71
|
const encrypted = rsaCipher.encrypt(keyHandle.handle, data, paddingMode, hashAlgorithm, oaepLabel);
|
|
72
72
|
return Buffer.from(encrypted);
|
|
@@ -153,7 +153,7 @@ function privateDecrypt(key, buffer) {
|
|
|
153
153
|
const rsaCipher = _reactNativeNitroModules.NitroModules.createHybridObject('RsaCipher');
|
|
154
154
|
const data = (0, _utils.binaryLikeToArrayBuffer)(buffer);
|
|
155
155
|
const paddingMode = padding ?? _constants.constants.RSA_PKCS1_OAEP_PADDING;
|
|
156
|
-
const hashAlgorithm = oaepHash || '
|
|
156
|
+
const hashAlgorithm = oaepHash || 'sha1';
|
|
157
157
|
try {
|
|
158
158
|
const decrypted = rsaCipher.privateDecrypt(keyHandle.handle, data, paddingMode, hashAlgorithm, oaepLabel);
|
|
159
159
|
return Buffer.from(decrypted);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_reactNativeNitroModules","require","_utils","_utils2","_classes","_constants","preparePublicCipherKey","key","isEncrypt","keyObj","padding","oaepHash","oaepLabel","KeyObject","type","Error","isCryptoKey","cryptoKey","keyObject","isStringOrBuffer","data","toAB","isPem","includes","isPrivatePem","createKeyObject","KFormatType","PEM","KeyEncoding","PKCS8","DER","SPKI","options","result","keyHandle","publicEncrypt","buffer","rsaCipher","NitroModules","createHybridObject","paddingMode","constants","RSA_PKCS1_OAEP_PADDING","hashAlgorithm","encrypted","encrypt","handle","Buffer","from","error","message","publicDecrypt","RSA_PKCS1_PADDING","decrypted","preparePrivateCipherKey","privateEncrypt","privateDecrypt"],"sourceRoot":"../../../src","sources":["keys/publicCipher.ts"],"mappings":";;;;;;;;;AAAA,IAAAA,wBAAA,GAAAC,OAAA;AAGA,IAAAC,MAAA,GAAAD,OAAA;AAMA,IAAAE,OAAA,GAAAF,OAAA;AACA,IAAAG,QAAA,GAAAH,OAAA;AACA,IAAAI,UAAA,GAAAJ,OAAA;AA4BA,SAASK,sBAAsBA,CAC7BC,GAAsB,EACtBC,SAAkB,EAMlB;EACA,IAAIC,MAAiB;EACrB,IAAIC,OAA2B;EAC/B,IAAIC,QAA4B;EAChC,IAAIC,SAAkC;EAEtC,IAAIL,GAAG,YAAYM,kBAAS,EAAE;IAC5B,IAAIL,SAAS,IAAID,GAAG,CAACO,IAAI,KAAK,QAAQ,EAAE;MACtC,MAAM,IAAIC,KAAK,CAAC,qCAAqC,CAAC;IACxD;IACA;IACA;IACAN,MAAM,GAAGF,GAAG;EACd,CAAC,MAAM,IAAI,IAAAS,mBAAW,EAACT,GAAG,CAAC,EAAE;IAC3B,MAAMU,SAAS,GAAGV,GAAgB;IAClCE,MAAM,GAAGQ,SAAS,CAACC,SAAS;EAC9B,CAAC,MAAM,IAAI,IAAAC,uBAAgB,EAACZ,GAAG,CAAC,EAAE;IAChC,MAAMa,IAAI,GAAG,IAAAC,8BAAI,EAACd,GAAG,CAAC;IACtB,MAAMe,KAAK,GAAG,OAAOf,GAAG,KAAK,QAAQ,IAAIA,GAAG,CAACgB,QAAQ,CAAC,YAAY,CAAC;IACnE,MAAMC,YAAY,GAChB,OAAOjB,GAAG,KAAK,QAAQ,IAAIA,GAAG,CAACgB,QAAQ,CAAC,oBAAoB,CAAC;IAC/D;IACA,IAAI,CAACf,SAAS,IAAIgB,YAAY,EAAE;MAC9Bf,MAAM,GAAGI,kBAAS,CAACY,eAAe,CAChC,SAAS,EACTL,IAAI,EACJM,kBAAW,CAACC,GAAG,EACfC,kBAAW,CAACC,KACd,CAAC;IACH,CAAC,MAAM;MACLpB,MAAM,GAAGI,kBAAS,CAACY,eAAe,CAChC,QAAQ,EACRL,IAAI,EACJE,KAAK,GAAGI,kBAAW,CAACC,GAAG,GAAGD,kBAAW,CAACI,GAAG,EACzCF,kBAAW,CAACG,IACd,CAAC;IACH;EACF,CAAC,MAAM,IAAI,OAAOxB,GAAG,KAAK,QAAQ,IAAI,KAAK,IAAIA,GAAG,EAAE;IAClD,MAAMyB,OAAO,GAAGzB,GAA0B;IAC1C,MAAM0B,MAAM,GAAG3B,sBAAsB,CAAC0B,OAAO,CAACzB,GAAG,EAAEC,SAAS,CAAC;IAC7DC,MAAM,GAAGwB,MAAM,CAACC,SAAS;IACzBxB,OAAO,GAAGsB,OAAO,CAACtB,OAAO;IACzBC,QAAQ,GAAGqB,OAAO,CAACrB,QAAQ;IAC3B,IAAIqB,OAAO,CAACpB,SAAS,EAAE;MACrBA,SAAS,GAAG,IAAAS,8BAAI,EAACW,OAAO,CAACpB,SAAS,CAAC;IACrC;EACF,CAAC,MAAM;IACL,MAAM,IAAIG,KAAK,CAAC,mBAAmB,CAAC;EACtC;EAEA,OAAO;IAAEmB,SAAS,EAAEzB,MAAM;IAAEC,OAAO;IAAEC,QAAQ;IAAEC;EAAU,CAAC;AAC5D;AAEO,SAASuB,aAAaA,CAC3B5B,GAAsB,EACtB6B,MAAkB,EACV;EACR,MAAM;IAAEF,SAAS;IAAExB,OAAO;IAAEC,QAAQ;IAAEC;EAAU,CAAC,GAAGN,sBAAsB,CACxEC,GAAG,EACH,IACF,CAAC;EAED,MAAM8B,SAAoB,GAAGC,qCAAY,CAACC,kBAAkB,CAAC,WAAW,CAAC;EACzE,MAAMnB,IAAI,GAAG,IAAAC,8BAAI,EAACe,MAAM,CAAC;EACzB,MAAMI,WAAW,GAAG9B,OAAO,IAAI+B,oBAAS,CAACC,sBAAsB;EAC/D,MAAMC,aAAa,GAAGhC,QAAQ,IAAI,
|
|
1
|
+
{"version":3,"names":["_reactNativeNitroModules","require","_utils","_utils2","_classes","_constants","preparePublicCipherKey","key","isEncrypt","keyObj","padding","oaepHash","oaepLabel","KeyObject","type","Error","isCryptoKey","cryptoKey","keyObject","isStringOrBuffer","data","toAB","isPem","includes","isPrivatePem","createKeyObject","KFormatType","PEM","KeyEncoding","PKCS8","DER","SPKI","options","result","keyHandle","publicEncrypt","buffer","rsaCipher","NitroModules","createHybridObject","paddingMode","constants","RSA_PKCS1_OAEP_PADDING","hashAlgorithm","encrypted","encrypt","handle","Buffer","from","error","message","publicDecrypt","RSA_PKCS1_PADDING","decrypted","preparePrivateCipherKey","privateEncrypt","privateDecrypt"],"sourceRoot":"../../../src","sources":["keys/publicCipher.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -96,9 +96,7 @@ function prepareKey(key, isPublic) {
|
|
|
96
96
|
if (type === 'pkcs8') kType = _utils2.KeyEncoding.PKCS8;else if (type === 'pkcs1') kType = _utils2.KeyEncoding.PKCS1;else if (type === 'sec1') kType = _utils2.KeyEncoding.SEC1;else if (type === 'spki') kType = _utils2.KeyEncoding.SPKI;
|
|
97
97
|
const keyType = isPublic ? 'public' : 'private';
|
|
98
98
|
// Always convert to ArrayBuffer to avoid Nitro bridge string truncation bug
|
|
99
|
-
const originalLength = typeof data === 'string' ? data.length : data.byteLength;
|
|
100
99
|
const keyData = (0, _utils2.binaryLikeToArrayBuffer)(data);
|
|
101
|
-
console.log(`[prepareKey KeyInputObject] ${keyType} key, original length: ${originalLength}, ArrayBuffer size: ${keyData.byteLength}`);
|
|
102
100
|
const keyObject = _classes.KeyObject.createKeyObject(keyType, keyData, kFormat, kType);
|
|
103
101
|
return {
|
|
104
102
|
keyObject,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_reactNativeBuffer","require","_reactNativeNitroModules","_classes","_utils","_utils2","prepareKey","key","isPublic","KeyObject","type","Error","keyObject","isCryptoKey","cryptoKey","isStringOrBuffer","isPem","includes","format","KFormatType","PEM","undefined","keyData","toAB","createKeyObject","keyObj","data","padding","saltLength","dsaEncoding","options","kFormat","DER","kType","KeyEncoding","PKCS8","PKCS1","SEC1","SPKI","keyType","
|
|
1
|
+
{"version":3,"names":["_reactNativeBuffer","require","_reactNativeNitroModules","_classes","_utils","_utils2","prepareKey","key","isPublic","KeyObject","type","Error","keyObject","isCryptoKey","cryptoKey","isStringOrBuffer","isPem","includes","format","KFormatType","PEM","undefined","keyData","toAB","createKeyObject","keyObj","data","padding","saltLength","dsaEncoding","options","kFormat","DER","kType","KeyEncoding","PKCS8","PKCS1","SEC1","SPKI","keyType","dsaEncodingToNumber","Sign","constructor","algorithm","handle","NitroModules","createHybridObject","init","update","dataBuffer","sign","privateKey","outputEncoding","signature","buf","Buffer","from","toString","exports","Verify","verify","publicKey","signatureEncoding","sigBuffer","createSign","createVerify","callback","doSign","signer","process","nextTick","err","doVerify","verifier","result"],"sourceRoot":"../../../src","sources":["keys/signVerify.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,219 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.MlKem = void 0;
|
|
7
|
+
exports.decapsulate = decapsulate;
|
|
8
|
+
exports.encapsulate = encapsulate;
|
|
9
|
+
exports.mlkem_generateKeyPairWebCrypto = mlkem_generateKeyPairWebCrypto;
|
|
10
|
+
var _reactNativeNitroModules = require("react-native-nitro-modules");
|
|
11
|
+
var _keys = require("./keys");
|
|
12
|
+
var _utils = require("./utils");
|
|
13
|
+
const ML_KEM_VARIANTS = {
|
|
14
|
+
'ml-kem-512': 'ML-KEM-512',
|
|
15
|
+
'ml-kem-768': 'ML-KEM-768',
|
|
16
|
+
'ml-kem-1024': 'ML-KEM-1024'
|
|
17
|
+
};
|
|
18
|
+
function isMlKemKeyType(type) {
|
|
19
|
+
return type in ML_KEM_VARIANTS;
|
|
20
|
+
}
|
|
21
|
+
function unpackEncapsulateResult(packed) {
|
|
22
|
+
const view = new DataView(packed);
|
|
23
|
+
const ciphertextLen = view.getUint32(0, true);
|
|
24
|
+
const sharedKeyLen = view.getUint32(4, true);
|
|
25
|
+
const headerSize = 8;
|
|
26
|
+
const ciphertext = packed.slice(headerSize, headerSize + ciphertextLen);
|
|
27
|
+
const sharedKey = packed.slice(headerSize + ciphertextLen, headerSize + ciphertextLen + sharedKeyLen);
|
|
28
|
+
return {
|
|
29
|
+
ciphertext,
|
|
30
|
+
sharedKey
|
|
31
|
+
};
|
|
32
|
+
}
|
|
33
|
+
class MlKem {
|
|
34
|
+
constructor(variant) {
|
|
35
|
+
this.variant = variant;
|
|
36
|
+
this.native = _reactNativeNitroModules.NitroModules.createHybridObject('MlKemKeyPair');
|
|
37
|
+
this.native.setVariant(variant);
|
|
38
|
+
}
|
|
39
|
+
async generateKeyPair() {
|
|
40
|
+
await this.native.generateKeyPair(_utils.KFormatType.DER, _utils.KeyEncoding.SPKI, _utils.KFormatType.DER, _utils.KeyEncoding.PKCS8);
|
|
41
|
+
}
|
|
42
|
+
generateKeyPairSync() {
|
|
43
|
+
this.native.generateKeyPairSync(_utils.KFormatType.DER, _utils.KeyEncoding.SPKI, _utils.KFormatType.DER, _utils.KeyEncoding.PKCS8);
|
|
44
|
+
}
|
|
45
|
+
getPublicKey() {
|
|
46
|
+
return this.native.getPublicKey();
|
|
47
|
+
}
|
|
48
|
+
getPrivateKey() {
|
|
49
|
+
return this.native.getPrivateKey();
|
|
50
|
+
}
|
|
51
|
+
setPublicKey(keyData, format, type) {
|
|
52
|
+
this.native.setPublicKey(keyData, format, type);
|
|
53
|
+
}
|
|
54
|
+
setPrivateKey(keyData, format, type) {
|
|
55
|
+
this.native.setPrivateKey(keyData, format, type);
|
|
56
|
+
}
|
|
57
|
+
async encapsulate() {
|
|
58
|
+
const packed = await this.native.encapsulate();
|
|
59
|
+
return unpackEncapsulateResult(packed);
|
|
60
|
+
}
|
|
61
|
+
encapsulateSync() {
|
|
62
|
+
const packed = this.native.encapsulateSync();
|
|
63
|
+
return unpackEncapsulateResult(packed);
|
|
64
|
+
}
|
|
65
|
+
async decapsulate(ciphertext) {
|
|
66
|
+
return this.native.decapsulate(ciphertext);
|
|
67
|
+
}
|
|
68
|
+
decapsulateSync(ciphertext) {
|
|
69
|
+
return this.native.decapsulateSync(ciphertext);
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
exports.MlKem = MlKem;
|
|
73
|
+
function prepareKey(key, isPublic) {
|
|
74
|
+
if (key instanceof _keys.KeyObject) {
|
|
75
|
+
if (isPublic) {
|
|
76
|
+
if (key.type === 'secret') {
|
|
77
|
+
throw new Error('Cannot use secret key for encapsulation');
|
|
78
|
+
}
|
|
79
|
+
} else {
|
|
80
|
+
if (key.type !== 'private') {
|
|
81
|
+
throw new Error('Key must be a private key for decapsulation');
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
return {
|
|
85
|
+
keyObject: key
|
|
86
|
+
};
|
|
87
|
+
}
|
|
88
|
+
if ((0, _keys.isCryptoKey)(key)) {
|
|
89
|
+
const cryptoKey = key;
|
|
90
|
+
return prepareKey(cryptoKey.keyObject, isPublic);
|
|
91
|
+
}
|
|
92
|
+
if ((0, _utils.isStringOrBuffer)(key)) {
|
|
93
|
+
const isPem = typeof key === 'string' && key.includes('-----BEGIN');
|
|
94
|
+
const format = isPem ? _utils.KFormatType.PEM : undefined;
|
|
95
|
+
const keyType = isPublic ? 'public' : 'private';
|
|
96
|
+
const keyData = (0, _utils.binaryLikeToArrayBuffer)(key);
|
|
97
|
+
const keyObject = _keys.KeyObject.createKeyObject(keyType, keyData, format);
|
|
98
|
+
return {
|
|
99
|
+
keyObject
|
|
100
|
+
};
|
|
101
|
+
}
|
|
102
|
+
if (typeof key === 'object' && 'key' in key) {
|
|
103
|
+
const keyObj = key;
|
|
104
|
+
const {
|
|
105
|
+
key: data,
|
|
106
|
+
format,
|
|
107
|
+
type
|
|
108
|
+
} = keyObj;
|
|
109
|
+
if (data instanceof _keys.KeyObject) {
|
|
110
|
+
return {
|
|
111
|
+
keyObject: data
|
|
112
|
+
};
|
|
113
|
+
}
|
|
114
|
+
if ((0, _keys.isCryptoKey)(data)) {
|
|
115
|
+
return {
|
|
116
|
+
keyObject: data.keyObject
|
|
117
|
+
};
|
|
118
|
+
}
|
|
119
|
+
if (!(0, _utils.isStringOrBuffer)(data)) {
|
|
120
|
+
throw new Error('Invalid key data type');
|
|
121
|
+
}
|
|
122
|
+
const isPem = format === 'pem' || typeof data === 'string' && data.includes('-----BEGIN');
|
|
123
|
+
const kFormat = isPem ? _utils.KFormatType.PEM : format === 'der' ? _utils.KFormatType.DER : undefined;
|
|
124
|
+
let kType;
|
|
125
|
+
if (type === 'pkcs8') kType = _utils.KeyEncoding.PKCS8;else if (type === 'pkcs1') kType = _utils.KeyEncoding.PKCS1;else if (type === 'sec1') kType = _utils.KeyEncoding.SEC1;else if (type === 'spki') kType = _utils.KeyEncoding.SPKI;
|
|
126
|
+
const keyType = isPublic ? 'public' : 'private';
|
|
127
|
+
const keyData = (0, _utils.binaryLikeToArrayBuffer)(data);
|
|
128
|
+
const keyObject = _keys.KeyObject.createKeyObject(keyType, keyData, kFormat, kType);
|
|
129
|
+
return {
|
|
130
|
+
keyObject
|
|
131
|
+
};
|
|
132
|
+
}
|
|
133
|
+
throw new Error('Invalid key input');
|
|
134
|
+
}
|
|
135
|
+
function getVariantFromKey(keyObject) {
|
|
136
|
+
const keyType = keyObject.handle.getAsymmetricKeyType();
|
|
137
|
+
if (!isMlKemKeyType(keyType)) {
|
|
138
|
+
throw new Error(`Key is not an ML-KEM key. Got asymmetricKeyType: ${keyType}`);
|
|
139
|
+
}
|
|
140
|
+
return ML_KEM_VARIANTS[keyType];
|
|
141
|
+
}
|
|
142
|
+
function encapsulate(key, callback) {
|
|
143
|
+
const doEncapsulate = () => {
|
|
144
|
+
if (key === null || key === undefined) {
|
|
145
|
+
throw new Error('Public key is required for encapsulation');
|
|
146
|
+
}
|
|
147
|
+
const {
|
|
148
|
+
keyObject
|
|
149
|
+
} = prepareKey(key, true);
|
|
150
|
+
const variant = getVariantFromKey(keyObject);
|
|
151
|
+
const mlkem = new MlKem(variant);
|
|
152
|
+
const keyData = keyObject.handle.exportKey(_utils.KFormatType.DER, _utils.KeyEncoding.SPKI);
|
|
153
|
+
mlkem.setPublicKey(keyData, _utils.KFormatType.DER, _utils.KeyEncoding.SPKI);
|
|
154
|
+
return mlkem.encapsulateSync();
|
|
155
|
+
};
|
|
156
|
+
if (callback) {
|
|
157
|
+
try {
|
|
158
|
+
const result = doEncapsulate();
|
|
159
|
+
process.nextTick(callback, null, result);
|
|
160
|
+
} catch (err) {
|
|
161
|
+
process.nextTick(callback, err);
|
|
162
|
+
}
|
|
163
|
+
return;
|
|
164
|
+
}
|
|
165
|
+
return doEncapsulate();
|
|
166
|
+
}
|
|
167
|
+
function decapsulate(key, ciphertext, callback) {
|
|
168
|
+
const doDecapsulate = () => {
|
|
169
|
+
if (key === null || key === undefined) {
|
|
170
|
+
throw new Error('Private key is required for decapsulation');
|
|
171
|
+
}
|
|
172
|
+
const {
|
|
173
|
+
keyObject
|
|
174
|
+
} = prepareKey(key, false);
|
|
175
|
+
const variant = getVariantFromKey(keyObject);
|
|
176
|
+
const mlkem = new MlKem(variant);
|
|
177
|
+
const keyData = keyObject.handle.exportKey(_utils.KFormatType.DER, _utils.KeyEncoding.PKCS8);
|
|
178
|
+
mlkem.setPrivateKey(keyData, _utils.KFormatType.DER, _utils.KeyEncoding.PKCS8);
|
|
179
|
+
const ciphertextBuffer = (0, _utils.binaryLikeToArrayBuffer)(ciphertext);
|
|
180
|
+
return mlkem.decapsulateSync(ciphertextBuffer);
|
|
181
|
+
};
|
|
182
|
+
if (callback) {
|
|
183
|
+
try {
|
|
184
|
+
const result = doDecapsulate();
|
|
185
|
+
process.nextTick(callback, null, result);
|
|
186
|
+
} catch (err) {
|
|
187
|
+
process.nextTick(callback, err);
|
|
188
|
+
}
|
|
189
|
+
return;
|
|
190
|
+
}
|
|
191
|
+
return doDecapsulate();
|
|
192
|
+
}
|
|
193
|
+
async function mlkem_generateKeyPairWebCrypto(variant, extractable, keyUsages) {
|
|
194
|
+
if ((0, _utils.hasAnyNotIn)(keyUsages, ['encapsulateBits', 'encapsulateKey', 'decapsulateBits', 'decapsulateKey'])) {
|
|
195
|
+
throw (0, _utils.lazyDOMException)(`Unsupported key usage for ${variant}`, 'SyntaxError');
|
|
196
|
+
}
|
|
197
|
+
const publicUsages = (0, _utils.getUsagesUnion)(keyUsages, 'encapsulateBits', 'encapsulateKey');
|
|
198
|
+
const privateUsages = (0, _utils.getUsagesUnion)(keyUsages, 'decapsulateBits', 'decapsulateKey');
|
|
199
|
+
if (privateUsages.length === 0) {
|
|
200
|
+
throw (0, _utils.lazyDOMException)('Usages cannot be empty', 'SyntaxError');
|
|
201
|
+
}
|
|
202
|
+
const mlkem = new MlKem(variant);
|
|
203
|
+
await mlkem.generateKeyPair();
|
|
204
|
+
const publicKeyData = mlkem.getPublicKey();
|
|
205
|
+
const privateKeyData = mlkem.getPrivateKey();
|
|
206
|
+
const pub = _keys.KeyObject.createKeyObject('public', publicKeyData, _utils.KFormatType.DER, _utils.KeyEncoding.SPKI);
|
|
207
|
+
const publicKey = new _keys.CryptoKey(pub, {
|
|
208
|
+
name: variant
|
|
209
|
+
}, publicUsages, true);
|
|
210
|
+
const priv = _keys.KeyObject.createKeyObject('private', privateKeyData, _utils.KFormatType.DER, _utils.KeyEncoding.PKCS8);
|
|
211
|
+
const privateKey = new _keys.CryptoKey(priv, {
|
|
212
|
+
name: variant
|
|
213
|
+
}, privateUsages, extractable);
|
|
214
|
+
return {
|
|
215
|
+
publicKey,
|
|
216
|
+
privateKey
|
|
217
|
+
};
|
|
218
|
+
}
|
|
219
|
+
//# sourceMappingURL=mlkem.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_reactNativeNitroModules","require","_keys","_utils","ML_KEM_VARIANTS","isMlKemKeyType","type","unpackEncapsulateResult","packed","view","DataView","ciphertextLen","getUint32","sharedKeyLen","headerSize","ciphertext","slice","sharedKey","MlKem","constructor","variant","native","NitroModules","createHybridObject","setVariant","generateKeyPair","KFormatType","DER","KeyEncoding","SPKI","PKCS8","generateKeyPairSync","getPublicKey","getPrivateKey","setPublicKey","keyData","format","setPrivateKey","encapsulate","encapsulateSync","decapsulate","decapsulateSync","exports","prepareKey","key","isPublic","KeyObject","Error","keyObject","isCryptoKey","cryptoKey","isStringOrBuffer","isPem","includes","PEM","undefined","keyType","toAB","createKeyObject","keyObj","data","kFormat","kType","PKCS1","SEC1","getVariantFromKey","handle","getAsymmetricKeyType","callback","doEncapsulate","mlkem","exportKey","result","process","nextTick","err","doDecapsulate","ciphertextBuffer","mlkem_generateKeyPairWebCrypto","extractable","keyUsages","hasAnyNotIn","lazyDOMException","publicUsages","getUsagesUnion","privateUsages","length","publicKeyData","privateKeyData","pub","publicKey","CryptoKey","name","priv","privateKey"],"sourceRoot":"../../src","sources":["mlkem.ts"],"mappings":"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","ignoreList":[]}
|
package/lib/commonjs/pbkdf2.js
CHANGED
|
@@ -21,6 +21,21 @@ function getNative() {
|
|
|
21
21
|
}
|
|
22
22
|
return native;
|
|
23
23
|
}
|
|
24
|
+
const MAX_INT32 = 2147483647;
|
|
25
|
+
function validateParameters(iterations, keylen) {
|
|
26
|
+
if (typeof iterations !== 'number') {
|
|
27
|
+
throw new TypeError('Iterations not a number');
|
|
28
|
+
}
|
|
29
|
+
if (typeof keylen !== 'number') {
|
|
30
|
+
throw new TypeError('Key length not a number');
|
|
31
|
+
}
|
|
32
|
+
if (iterations < 1 || !Number.isFinite(iterations) || !Number.isInteger(iterations) || iterations > MAX_INT32) {
|
|
33
|
+
throw new TypeError('Bad iterations');
|
|
34
|
+
}
|
|
35
|
+
if (keylen < 0 || !Number.isFinite(keylen) || !Number.isInteger(keylen) || keylen > MAX_INT32) {
|
|
36
|
+
throw new TypeError('Bad key length');
|
|
37
|
+
}
|
|
38
|
+
}
|
|
24
39
|
function sanitizeInput(input, errorMsg) {
|
|
25
40
|
try {
|
|
26
41
|
return (0, _utils.binaryLikeToArrayBuffer)(input);
|
|
@@ -33,6 +48,7 @@ function pbkdf2(password, salt, iterations, keylen, digest, callback) {
|
|
|
33
48
|
if (callback === undefined || typeof callback !== 'function') {
|
|
34
49
|
throw new Error('No callback provided to pbkdf2');
|
|
35
50
|
}
|
|
51
|
+
validateParameters(iterations, keylen);
|
|
36
52
|
const sanitizedPassword = sanitizeInput(password, WRONG_PASS);
|
|
37
53
|
const sanitizedSalt = sanitizeInput(salt, WRONG_SALT);
|
|
38
54
|
const normalizedDigest = (0, _utils.normalizeHashName)(digest, _utils.HashContext.Node);
|
|
@@ -44,9 +60,10 @@ function pbkdf2(password, salt, iterations, keylen, digest, callback) {
|
|
|
44
60
|
});
|
|
45
61
|
}
|
|
46
62
|
function pbkdf2Sync(password, salt, iterations, keylen, digest) {
|
|
63
|
+
validateParameters(iterations, keylen);
|
|
47
64
|
const sanitizedPassword = sanitizeInput(password, WRONG_PASS);
|
|
48
65
|
const sanitizedSalt = sanitizeInput(salt, WRONG_SALT);
|
|
49
|
-
const algo =
|
|
66
|
+
const algo = (0, _utils.normalizeHashName)(digest, _utils.HashContext.Node);
|
|
50
67
|
getNative();
|
|
51
68
|
const result = native.pbkdf2Sync(sanitizedPassword, sanitizedSalt, iterations, keylen, algo);
|
|
52
69
|
return _reactNativeBuffer.Buffer.from(result);
|