react-native-quick-crypto 1.0.2 → 1.0.3
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/QuickCrypto.podspec +1 -0
- package/README.md +1 -1
- package/android/CMakeLists.txt +4 -0
- package/cpp/hkdf/HybridHkdf.cpp +96 -0
- package/cpp/hkdf/HybridHkdf.hpp +28 -0
- package/cpp/scrypt/HybridScrypt.cpp +62 -0
- package/cpp/scrypt/HybridScrypt.hpp +28 -0
- package/lib/commonjs/hkdf.js +81 -0
- package/lib/commonjs/hkdf.js.map +1 -0
- package/lib/commonjs/index.js +33 -1
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/scrypt.js +98 -0
- package/lib/commonjs/scrypt.js.map +1 -0
- package/lib/commonjs/specs/hkdf.nitro.js +6 -0
- package/lib/commonjs/specs/hkdf.nitro.js.map +1 -0
- package/lib/commonjs/specs/scrypt.nitro.js +6 -0
- package/lib/commonjs/specs/scrypt.nitro.js.map +1 -0
- package/lib/commonjs/subtle.js +28 -0
- package/lib/commonjs/subtle.js.map +1 -1
- package/lib/module/hkdf.js +75 -0
- package/lib/module/hkdf.js.map +1 -0
- package/lib/module/index.js +13 -1
- package/lib/module/index.js.map +1 -1
- package/lib/module/scrypt.js +93 -0
- package/lib/module/scrypt.js.map +1 -0
- package/lib/module/specs/hkdf.nitro.js +4 -0
- package/lib/module/specs/hkdf.nitro.js.map +1 -0
- package/lib/module/specs/scrypt.nitro.js +4 -0
- package/lib/module/specs/scrypt.nitro.js.map +1 -0
- package/lib/module/subtle.js +28 -0
- package/lib/module/subtle.js.map +1 -1
- package/lib/tsconfig.tsbuildinfo +1 -1
- package/lib/typescript/hkdf.d.ts +26 -0
- package/lib/typescript/hkdf.d.ts.map +1 -0
- package/lib/typescript/index.d.ts +9 -0
- package/lib/typescript/index.d.ts.map +1 -1
- package/lib/typescript/scrypt.d.ts +18 -0
- package/lib/typescript/scrypt.d.ts.map +1 -0
- package/lib/typescript/specs/hkdf.nitro.d.ts +9 -0
- package/lib/typescript/specs/hkdf.nitro.d.ts.map +1 -0
- package/lib/typescript/specs/scrypt.nitro.d.ts +9 -0
- package/lib/typescript/specs/scrypt.nitro.d.ts.map +1 -0
- package/lib/typescript/subtle.d.ts.map +1 -1
- package/nitrogen/generated/android/QuickCrypto+autolinking.cmake +2 -0
- package/nitrogen/generated/android/QuickCryptoOnLoad.cpp +20 -0
- package/nitrogen/generated/ios/QuickCryptoAutolinking.mm +20 -0
- package/nitrogen/generated/shared/c++/HybridHkdfSpec.cpp +22 -0
- package/nitrogen/generated/shared/c++/HybridHkdfSpec.hpp +66 -0
- package/nitrogen/generated/shared/c++/HybridScryptSpec.cpp +22 -0
- package/nitrogen/generated/shared/c++/HybridScryptSpec.hpp +65 -0
- package/package.json +1 -1
- package/src/hkdf.ts +152 -0
- package/src/index.ts +13 -1
- package/src/scrypt.ts +134 -0
- package/src/specs/hkdf.nitro.ts +19 -0
- package/src/specs/scrypt.nitro.ts +23 -0
- package/src/subtle.ts +45 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_safeBuffer","require","_utils","_keys","_conversion","_errors","_hashnames","_validation","_hash","_reactNativeNitroModules","_pbkdf","_ec","_rsa","_random","_hmac","_signVerify","_ed","_mldsa","KWebCryptoKeyFormat","CipherOrWrapMode","hasAnyNotIn","usages","allowed","some","usage","includes","normalizeAlgorithm","algorithm","_operation","name","getAlgorithmName","length","ecExportKey","key","format","keyObject","kWebCryptoKeyFormatSPKI","exported","export","type","bufferLikeToArrayBuffer","kWebCryptoKeyFormatPKCS8","Error","rsaExportKey","rsaCipher","mode","data","rsaParams","expectedType","kWebCryptoCipherEncrypt","lazyDOMException","hashAlgorithm","normalizeHashName","hash","label","undefined","rsaCipherModule","NitroModules","createHybridObject","RSA_PKCS1_OAEP_PADDING","encrypt","handle","decrypt","aesCipher","aesCtrCipher","aesCbcCipher","aesGcmCipher","counter","byteLength","keyLength","cipherType","factory","cipher","createCipher","isCipher","cipherKey","iv","updated","update","final","result","Uint8Array","set","buffer","tagLength","validTagLengths","tagByteLength","authTagLen","processData","authTag","kWebCryptoCipherDecrypt","dataView","ciphertextLength","slice","setAuthTag","additionalData","setAAD","tag","getAuthTag","aesKwCipher","isWrap","exportedKey","defaultWrapIV","chaCha20Poly1305Cipher","ivBuffer","aesGenerateKey","extractable","keyUsages","validUsages","keyBytes","getRandomValues","createSecretKey","keyAlgorithm","CryptoKey","hmacGenerateKey","hashName","Math","ceil","webCryptoHashName","HashContext","WebCrypto","rsaImportKey","checkSet","jwk","kty","keyType","initJwk","PublicKeyObject","PrivateKeyObject","keyData","KeyObject","createKeyObject","KFormatType","DER","KeyEncoding","SPKI","PKCS8","keyDetails","asymmetricKeyDetails","publicExponentBytes","publicExponent","exp","bytes","value","unshift","floor","normalizedHash","algorithmWithDetails","modulusLength","hmacImportKey","k","decoded","SBuffer","from","keyBitLength","SecretKeyObject","normalizedAlgorithm","aesImportKey","actualLength","edImportKey","isX","allowedUsages","init","mldsaImportKey","exportKeySpki","exportKey","exportKeyPkcs8","exportKeyRaw","kWebCryptoKeyFormatRaw","byteOffset","exportKeyJWK","exportJwk","key_ops","ext","alg","JwkRsa","JwkRsaPss","JwkRsaOaep","JwkHmac","crv","namedCurve","importGenericSecretKey","checkLength","isBuffer","checkCryptoKeyPairUsages","pair","privateKey","isCryptoKeyPair","hmacSignVerify","signature","hmac","createHmac","computed","digest","sigBytes","computedBytes","i","rsaSignVerify","padding","saltLength","RSA_PKCS1_PADDING","RSA_PKCS1_PSS_PADDING","paddingValue","signer","createSign","sig","sign","verifier","createVerify","verify","edSignVerify","isSign","expectedKeyType","algorithmName","curveType","toLowerCase","ed","Ed","rawKey","dataBuffer","signSync","signatureBuffer","verifySync","mldsaSignVerify","signVerify","ecdsaSignVerify","cipherOrWrap","op","validateMaxBufferLength","Subtle","asyncDigest","deriveBits","baseKey","pbkdf2DeriveBits","xDeriveBits","deriveKey","derivedKeyAlgorithm","getKeyLength","derivedBits","importKey","wrapKey","wrappingKey","wrapAlgorithm","jwkString","JSON","stringify","paddedLength","paddedBuffer","alloc","copy","writeUInt8","unwrapKey","wrappedKey","unwrappingKey","unwrapAlgorithm","unwrappedKeyAlgorithm","decrypted","nullIndex","indexOf","toString","trim","parse","generateKey","rsa_generateKeyPair","ec_generateKeyPair","ed_generateKeyPairWebCrypto","mldsa_generateKeyPairWebCrypto","x_generateKeyPairWebCrypto","ecImportKey","keyAlg","expectedDigest","expected","signatureArray","exports","subtle","hmacAlg"],"sourceRoot":"../../src","sources":["subtle.ts"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_safeBuffer","require","_utils","_keys","_conversion","_errors","_hashnames","_validation","_hash","_reactNativeNitroModules","_pbkdf","_ec","_rsa","_random","_hmac","_signVerify","_ed","_mldsa","_hkdf","KWebCryptoKeyFormat","CipherOrWrapMode","hasAnyNotIn","usages","allowed","some","usage","includes","normalizeAlgorithm","algorithm","_operation","name","getAlgorithmName","length","ecExportKey","key","format","keyObject","kWebCryptoKeyFormatSPKI","exported","export","type","bufferLikeToArrayBuffer","kWebCryptoKeyFormatPKCS8","Error","rsaExportKey","rsaCipher","mode","data","rsaParams","expectedType","kWebCryptoCipherEncrypt","lazyDOMException","hashAlgorithm","normalizeHashName","hash","label","undefined","rsaCipherModule","NitroModules","createHybridObject","RSA_PKCS1_OAEP_PADDING","encrypt","handle","decrypt","aesCipher","aesCtrCipher","aesCbcCipher","aesGcmCipher","counter","byteLength","keyLength","cipherType","factory","cipher","createCipher","isCipher","cipherKey","iv","updated","update","final","result","Uint8Array","set","buffer","tagLength","validTagLengths","tagByteLength","authTagLen","processData","authTag","kWebCryptoCipherDecrypt","dataView","ciphertextLength","slice","setAuthTag","additionalData","setAAD","tag","getAuthTag","aesKwCipher","isWrap","exportedKey","defaultWrapIV","chaCha20Poly1305Cipher","ivBuffer","aesGenerateKey","extractable","keyUsages","validUsages","keyBytes","getRandomValues","createSecretKey","keyAlgorithm","CryptoKey","hmacGenerateKey","hashName","Math","ceil","webCryptoHashName","HashContext","WebCrypto","rsaImportKey","checkSet","jwk","kty","keyType","initJwk","PublicKeyObject","PrivateKeyObject","keyData","KeyObject","createKeyObject","KFormatType","DER","KeyEncoding","SPKI","PKCS8","keyDetails","asymmetricKeyDetails","publicExponentBytes","publicExponent","exp","bytes","value","unshift","floor","normalizedHash","algorithmWithDetails","modulusLength","hmacImportKey","k","decoded","SBuffer","from","keyBitLength","SecretKeyObject","normalizedAlgorithm","aesImportKey","actualLength","edImportKey","isX","allowedUsages","init","mldsaImportKey","exportKeySpki","exportKey","exportKeyPkcs8","exportKeyRaw","kWebCryptoKeyFormatRaw","byteOffset","exportKeyJWK","exportJwk","key_ops","ext","alg","JwkRsa","JwkRsaPss","JwkRsaOaep","JwkHmac","crv","namedCurve","importGenericSecretKey","checkLength","isBuffer","hkdfImportKey","checkCryptoKeyPairUsages","pair","privateKey","isCryptoKeyPair","hmacSignVerify","signature","hmac","createHmac","computed","digest","sigBytes","computedBytes","i","rsaSignVerify","padding","saltLength","RSA_PKCS1_PADDING","RSA_PKCS1_PSS_PADDING","paddingValue","signer","createSign","sig","sign","verifier","createVerify","verify","edSignVerify","isSign","expectedKeyType","algorithmName","curveType","toLowerCase","ed","Ed","rawKey","dataBuffer","signSync","signatureBuffer","verifySync","mldsaSignVerify","signVerify","ecdsaSignVerify","cipherOrWrap","op","validateMaxBufferLength","Subtle","asyncDigest","deriveBits","baseKey","pbkdf2DeriveBits","xDeriveBits","hkdfDeriveBits","deriveKey","derivedKeyAlgorithm","getKeyLength","derivedBits","importKey","wrapKey","wrappingKey","wrapAlgorithm","jwkString","JSON","stringify","paddedLength","paddedBuffer","alloc","copy","writeUInt8","unwrapKey","wrappedKey","unwrappingKey","unwrapAlgorithm","unwrappedKeyAlgorithm","decrypted","nullIndex","indexOf","toString","trim","parse","generateKey","rsa_generateKeyPair","ec_generateKeyPair","ed_generateKeyPairWebCrypto","mldsa_generateKeyPairWebCrypto","x_generateKeyPairWebCrypto","ecImportKey","keyAlg","expectedDigest","expected","signatureArray","exports","subtle","hmacAlg"],"sourceRoot":"../../src","sources":["subtle.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { Buffer } from '@craftzdog/react-native-buffer';
|
|
4
|
+
import { NitroModules } from 'react-native-nitro-modules';
|
|
5
|
+
import { binaryLikeToArrayBuffer, normalizeHashName } from './utils';
|
|
6
|
+
// Lazy load native module
|
|
7
|
+
let native;
|
|
8
|
+
function getNative() {
|
|
9
|
+
if (native == null) {
|
|
10
|
+
native = NitroModules.createHybridObject('Hkdf');
|
|
11
|
+
}
|
|
12
|
+
return native;
|
|
13
|
+
}
|
|
14
|
+
function validateCallback(callback) {
|
|
15
|
+
if (callback === undefined || typeof callback !== 'function') {
|
|
16
|
+
throw new Error('No callback provided to hkdf');
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
function sanitizeInput(input, name) {
|
|
20
|
+
try {
|
|
21
|
+
return binaryLikeToArrayBuffer(input);
|
|
22
|
+
} catch {
|
|
23
|
+
throw new Error(`${name} must be a string, a Buffer, a typed array, or a DataView`);
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
export function hkdf(digest, key, salt, info, keylen, callback) {
|
|
27
|
+
validateCallback(callback);
|
|
28
|
+
try {
|
|
29
|
+
const normalizedDigest = normalizeHashName(digest);
|
|
30
|
+
const sanitizedKey = sanitizeInput(key, 'Key');
|
|
31
|
+
const sanitizedSalt = sanitizeInput(salt, 'Salt');
|
|
32
|
+
const sanitizedInfo = sanitizeInput(info, 'Info');
|
|
33
|
+
if (keylen < 0) {
|
|
34
|
+
throw new TypeError('Bad key length');
|
|
35
|
+
}
|
|
36
|
+
const nativeMod = getNative();
|
|
37
|
+
nativeMod.deriveKey(normalizedDigest, sanitizedKey, sanitizedSalt, sanitizedInfo, keylen).then(res => {
|
|
38
|
+
callback(null, Buffer.from(res));
|
|
39
|
+
}, err => {
|
|
40
|
+
callback(err);
|
|
41
|
+
});
|
|
42
|
+
} catch (err) {
|
|
43
|
+
callback(err);
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
export function hkdfSync(digest, key, salt, info, keylen) {
|
|
47
|
+
const normalizedDigest = normalizeHashName(digest);
|
|
48
|
+
const sanitizedKey = sanitizeInput(key, 'Key');
|
|
49
|
+
const sanitizedSalt = sanitizeInput(salt, 'Salt');
|
|
50
|
+
const sanitizedInfo = sanitizeInput(info, 'Info');
|
|
51
|
+
if (keylen < 0) {
|
|
52
|
+
throw new TypeError('Bad key length');
|
|
53
|
+
}
|
|
54
|
+
const nativeMod = getNative();
|
|
55
|
+
const result = nativeMod.deriveKeySync(normalizedDigest, sanitizedKey, sanitizedSalt, sanitizedInfo, keylen);
|
|
56
|
+
return Buffer.from(result);
|
|
57
|
+
}
|
|
58
|
+
export function hkdfDeriveBits(algorithm, baseKey, length) {
|
|
59
|
+
const hash = algorithm.hash;
|
|
60
|
+
const salt = algorithm.salt;
|
|
61
|
+
const info = algorithm.info;
|
|
62
|
+
|
|
63
|
+
// Check if key is extractable or we can access its handle/buffer
|
|
64
|
+
// For raw keys, we can export.
|
|
65
|
+
const keyBuffer = baseKey.keyObject.export();
|
|
66
|
+
|
|
67
|
+
// length is in bits, native expects bytes
|
|
68
|
+
const keylen = Math.ceil(length / 8);
|
|
69
|
+
const hashName = typeof hash === 'string' ? hash : hash.name;
|
|
70
|
+
const normalizedDigest = normalizeHashName(hashName);
|
|
71
|
+
const nativeMod = getNative();
|
|
72
|
+
const result = nativeMod.deriveKeySync(normalizedDigest, binaryLikeToArrayBuffer(keyBuffer), binaryLikeToArrayBuffer(salt), binaryLikeToArrayBuffer(info), keylen);
|
|
73
|
+
return result;
|
|
74
|
+
}
|
|
75
|
+
//# sourceMappingURL=hkdf.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["Buffer","NitroModules","binaryLikeToArrayBuffer","normalizeHashName","native","getNative","createHybridObject","validateCallback","callback","undefined","Error","sanitizeInput","input","name","hkdf","digest","key","salt","info","keylen","normalizedDigest","sanitizedKey","sanitizedSalt","sanitizedInfo","TypeError","nativeMod","deriveKey","then","res","from","err","hkdfSync","result","deriveKeySync","hkdfDeriveBits","algorithm","baseKey","length","hash","keyBuffer","keyObject","export","Math","ceil","hashName"],"sourceRoot":"../../src","sources":["hkdf.ts"],"mappings":"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","ignoreList":[]}
|
package/lib/module/index.js
CHANGED
|
@@ -10,7 +10,9 @@ import * as cipher from './cipher';
|
|
|
10
10
|
import * as ed from './ed';
|
|
11
11
|
import { hashExports as hash } from './hash';
|
|
12
12
|
import { hmacExports as hmac } from './hmac';
|
|
13
|
+
import * as hkdf from './hkdf';
|
|
13
14
|
import * as pbkdf2 from './pbkdf2';
|
|
15
|
+
import * as scrypt from './scrypt';
|
|
14
16
|
import * as random from './random';
|
|
15
17
|
import { constants } from './constants';
|
|
16
18
|
|
|
@@ -29,7 +31,9 @@ const QuickCrypto = {
|
|
|
29
31
|
...ed,
|
|
30
32
|
...hash,
|
|
31
33
|
...hmac,
|
|
34
|
+
...hkdf,
|
|
32
35
|
...pbkdf2,
|
|
36
|
+
...scrypt,
|
|
33
37
|
...random,
|
|
34
38
|
...utils,
|
|
35
39
|
...subtle,
|
|
@@ -49,7 +53,13 @@ export const install = () => {
|
|
|
49
53
|
};
|
|
50
54
|
|
|
51
55
|
// random, cipher, hash use nextTick
|
|
52
|
-
global.process
|
|
56
|
+
if (global.process == null) {
|
|
57
|
+
// @ts-expect-error - process is not defined
|
|
58
|
+
global.process = {};
|
|
59
|
+
}
|
|
60
|
+
if (global.process.nextTick == null) {
|
|
61
|
+
global.process.nextTick = setImmediate;
|
|
62
|
+
}
|
|
53
63
|
|
|
54
64
|
// exports
|
|
55
65
|
export default QuickCrypto;
|
|
@@ -59,7 +69,9 @@ export * from './ed';
|
|
|
59
69
|
export * from './keys';
|
|
60
70
|
export * from './hash';
|
|
61
71
|
export * from './hmac';
|
|
72
|
+
export * from './hkdf';
|
|
62
73
|
export * from './pbkdf2';
|
|
74
|
+
export * from './scrypt';
|
|
63
75
|
export * from './random';
|
|
64
76
|
export * from './utils';
|
|
65
77
|
export * from './subtle';
|
package/lib/module/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["Buffer","keys","blake3","cipher","ed","hashExports","hash","hmacExports","hmac","pbkdf2","random","constants","utils","subtle","QuickCrypto","install","global","crypto","process","nextTick","setImmediate","isCryptoKeyPair","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,MAAM,MAAM,UAAU;AAClC,OAAO,KAAKC,MAAM,MAAM,UAAU;AAClC,OAAO,KAAKC,EAAE,MAAM,MAAM;AAC1B,SAASC,WAAW,IAAIC,IAAI,QAAQ,QAAQ;AAC5C,SAASC,WAAW,IAAIC,IAAI,QAAQ,QAAQ;AAC5C,OAAO,KAAKC,MAAM,MAAM,UAAU;AAClC,OAAO,KAAKC,MAAM,MAAM,UAAU;AAClC,SAASC,SAAS,QAAQ,aAAa;;AAEvC;AACA,OAAO,KAAKC,KAAK,MAAM,SAAS;AAChC,OAAO,KAAKC,MAAM,MAAM,UAAU;;AAElC;AACA;AACA;AACA;AACA,MAAMC,WAAW,GAAG;EAClB,
|
|
1
|
+
{"version":3,"names":["Buffer","keys","blake3","cipher","ed","hashExports","hash","hmacExports","hmac","hkdf","pbkdf2","scrypt","random","constants","utils","subtle","QuickCrypto","install","global","crypto","process","nextTick","setImmediate","isCryptoKeyPair","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,MAAM,MAAM,UAAU;AAClC,OAAO,KAAKC,MAAM,MAAM,UAAU;AAClC,OAAO,KAAKC,EAAE,MAAM,MAAM;AAC1B,SAASC,WAAW,IAAIC,IAAI,QAAQ,QAAQ;AAC5C,SAASC,WAAW,IAAIC,IAAI,QAAQ,QAAQ;AAC5C,OAAO,KAAKC,IAAI,MAAM,QAAQ;AAC9B,OAAO,KAAKC,MAAM,MAAM,UAAU;AAClC,OAAO,KAAKC,MAAM,MAAM,UAAU;AAClC,OAAO,KAAKC,MAAM,MAAM,UAAU;AAClC,SAASC,SAAS,QAAQ,aAAa;;AAEvC;AACA,OAAO,KAAKC,KAAK,MAAM,SAAS;AAChC,OAAO,KAAKC,MAAM,MAAM,UAAU;;AAElC;AACA;AACA;AACA;AACA,MAAMC,WAAW,GAAG;EAClB,GAAGf,IAAI;EACP,GAAGC,MAAM;EACT,GAAGC,MAAM;EACT,GAAGC,EAAE;EACL,GAAGE,IAAI;EACP,GAAGE,IAAI;EACP,GAAGC,IAAI;EACP,GAAGC,MAAM;EACT,GAAGC,MAAM;EACT,GAAGC,MAAM;EACT,GAAGE,KAAK;EACR,GAAGC,MAAM;EACTF;AACF,CAAC;;AAED;AACA;AACA;AACA;AACA,OAAO,MAAMI,OAAO,GAAGA,CAAA,KAAM;EAC3B;EACAC,MAAM,CAAClB,MAAM,GAAGA,MAAM;;EAEtB;EACAkB,MAAM,CAACC,MAAM,GAAGH,WAAW;AAC7B,CAAC;;AAED;AACA,IAAIE,MAAM,CAACE,OAAO,IAAI,IAAI,EAAE;EAC1B;EACAF,MAAM,CAACE,OAAO,GAAG,CAAC,CAAC;AACrB;AACA,IAAIF,MAAM,CAACE,OAAO,CAACC,QAAQ,IAAI,IAAI,EAAE;EACnCH,MAAM,CAACE,OAAO,CAACC,QAAQ,GAAGC,YAAY;AACxC;;AAEA;AACA,eAAeN,WAAW;AAC1B,cAAc,UAAU;AACxB,cAAc,UAAU;AACxB,cAAc,MAAM;AACpB,cAAc,QAAQ;AACtB,cAAc,QAAQ;AACtB,cAAc,QAAQ;AACtB,cAAc,QAAQ;AACtB,cAAc,UAAU;AACxB,cAAc,UAAU;AACxB,cAAc,UAAU;AACxB,cAAc,SAAS;AACvB,cAAc,UAAU;AACxB,SAASD,MAAM,EAAEQ,eAAe,QAAQ,UAAU;AAClD,SAASV,SAAS,QAAQ,aAAa;;AAEvC;AACAW,MAAM,CAACC,OAAO,GAAGT,WAAW;AAC5BQ,MAAM,CAACC,OAAO,CAACC,OAAO,GAAGV,WAAW;AACpCQ,MAAM,CAACC,OAAO,CAACR,OAAO,GAAGA,OAAO","ignoreList":[]}
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { Buffer } from '@craftzdog/react-native-buffer';
|
|
4
|
+
import { NitroModules } from 'react-native-nitro-modules';
|
|
5
|
+
import { binaryLikeToArrayBuffer } from './utils';
|
|
6
|
+
// Lazy load native module
|
|
7
|
+
let native;
|
|
8
|
+
function getNative() {
|
|
9
|
+
if (native == null) {
|
|
10
|
+
native = NitroModules.createHybridObject('Scrypt');
|
|
11
|
+
}
|
|
12
|
+
return native;
|
|
13
|
+
}
|
|
14
|
+
const defaults = {
|
|
15
|
+
N: 16384,
|
|
16
|
+
r: 8,
|
|
17
|
+
p: 1,
|
|
18
|
+
maxmem: 32 * 1024 * 1024
|
|
19
|
+
};
|
|
20
|
+
function getScryptParams(options) {
|
|
21
|
+
const N = options?.N ?? options?.cost ?? defaults.N;
|
|
22
|
+
const r = options?.r ?? options?.blockSize ?? defaults.r;
|
|
23
|
+
const p = options?.p ?? options?.parallelization ?? defaults.p;
|
|
24
|
+
const maxmem = options?.maxmem ?? defaults.maxmem;
|
|
25
|
+
return {
|
|
26
|
+
N,
|
|
27
|
+
r,
|
|
28
|
+
p,
|
|
29
|
+
maxmem
|
|
30
|
+
};
|
|
31
|
+
}
|
|
32
|
+
function validateCallback(callback) {
|
|
33
|
+
if (callback === undefined || typeof callback !== 'function') {
|
|
34
|
+
throw new Error('No callback provided to scrypt');
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
function sanitizeInput(input, name) {
|
|
38
|
+
try {
|
|
39
|
+
return binaryLikeToArrayBuffer(input);
|
|
40
|
+
} catch {
|
|
41
|
+
throw new Error(`${name} must be a string, a Buffer, a typed array, or a DataView`);
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
export function scrypt(password, salt, keylen, options, callback) {
|
|
45
|
+
let cb;
|
|
46
|
+
let opts;
|
|
47
|
+
if (typeof options === 'function') {
|
|
48
|
+
cb = options;
|
|
49
|
+
opts = undefined;
|
|
50
|
+
} else {
|
|
51
|
+
cb = callback;
|
|
52
|
+
opts = options;
|
|
53
|
+
}
|
|
54
|
+
validateCallback(cb);
|
|
55
|
+
try {
|
|
56
|
+
const {
|
|
57
|
+
N,
|
|
58
|
+
r,
|
|
59
|
+
p,
|
|
60
|
+
maxmem
|
|
61
|
+
} = getScryptParams(opts);
|
|
62
|
+
const sanitizedPassword = sanitizeInput(password, 'Password');
|
|
63
|
+
const sanitizedSalt = sanitizeInput(salt, 'Salt');
|
|
64
|
+
if (keylen < 0) {
|
|
65
|
+
throw new TypeError('Bad key length');
|
|
66
|
+
}
|
|
67
|
+
const nativeMod = getNative();
|
|
68
|
+
nativeMod.deriveKey(sanitizedPassword, sanitizedSalt, N, r, p, maxmem, keylen).then(res => {
|
|
69
|
+
cb(null, Buffer.from(res));
|
|
70
|
+
}, err => {
|
|
71
|
+
cb(err);
|
|
72
|
+
});
|
|
73
|
+
} catch (err) {
|
|
74
|
+
cb(err);
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
export function scryptSync(password, salt, keylen, options) {
|
|
78
|
+
const {
|
|
79
|
+
N,
|
|
80
|
+
r,
|
|
81
|
+
p,
|
|
82
|
+
maxmem
|
|
83
|
+
} = getScryptParams(options);
|
|
84
|
+
const sanitizedPassword = sanitizeInput(password, 'Password');
|
|
85
|
+
const sanitizedSalt = sanitizeInput(salt, 'Salt');
|
|
86
|
+
if (keylen < 0) {
|
|
87
|
+
throw new TypeError('Bad key length');
|
|
88
|
+
}
|
|
89
|
+
const nativeMod = getNative();
|
|
90
|
+
const result = nativeMod.deriveKeySync(sanitizedPassword, sanitizedSalt, N, r, p, maxmem, keylen);
|
|
91
|
+
return Buffer.from(result);
|
|
92
|
+
}
|
|
93
|
+
//# sourceMappingURL=scrypt.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["Buffer","NitroModules","binaryLikeToArrayBuffer","native","getNative","createHybridObject","defaults","N","r","p","maxmem","getScryptParams","options","cost","blockSize","parallelization","validateCallback","callback","undefined","Error","sanitizeInput","input","name","scrypt","password","salt","keylen","cb","opts","sanitizedPassword","sanitizedSalt","TypeError","nativeMod","deriveKey","then","res","from","err","scryptSync","result","deriveKeySync"],"sourceRoot":"../../src","sources":["scrypt.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":[],"sourceRoot":"../../../src","sources":["specs/hkdf.nitro.ts"],"mappings":"","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":[],"sourceRoot":"../../../src","sources":["specs/scrypt.nitro.ts"],"mappings":"","ignoreList":[]}
|
package/lib/module/subtle.js
CHANGED
|
@@ -19,6 +19,7 @@ import { createHmac } from './hmac';
|
|
|
19
19
|
import { createSign, createVerify } from './keys/signVerify';
|
|
20
20
|
import { ed_generateKeyPairWebCrypto, x_generateKeyPairWebCrypto, xDeriveBits, Ed } from './ed';
|
|
21
21
|
import { mldsa_generateKeyPairWebCrypto } from './mldsa';
|
|
22
|
+
import { hkdfDeriveBits } from './hkdf';
|
|
22
23
|
// import { pbkdf2DeriveBits } from './pbkdf2';
|
|
23
24
|
// import { aesCipher, aesGenerateKey, aesImportKey, getAlgorithmName } from './aes';
|
|
24
25
|
// import { rsaCipher, rsaExportKey, rsaImportKey, rsaKeyGenerate } from './rsa';
|
|
@@ -919,6 +920,25 @@ const importGenericSecretKey = async ({
|
|
|
919
920
|
}
|
|
920
921
|
throw new Error(`Unable to import ${name} key with format ${format}`);
|
|
921
922
|
};
|
|
923
|
+
const hkdfImportKey = async (format, keyData, algorithm, extractable, keyUsages) => {
|
|
924
|
+
const {
|
|
925
|
+
name
|
|
926
|
+
} = algorithm;
|
|
927
|
+
if (hasAnyNotIn(keyUsages, ['deriveKey', 'deriveBits'])) {
|
|
928
|
+
throw new Error(`Unsupported key usage for a ${name} key`);
|
|
929
|
+
}
|
|
930
|
+
switch (format) {
|
|
931
|
+
case 'raw':
|
|
932
|
+
{
|
|
933
|
+
const keyObject = createSecretKey(keyData);
|
|
934
|
+
return new CryptoKey(keyObject, {
|
|
935
|
+
name
|
|
936
|
+
}, keyUsages, extractable);
|
|
937
|
+
}
|
|
938
|
+
default:
|
|
939
|
+
throw new Error(`Unable to import ${name} key with format ${format}`);
|
|
940
|
+
}
|
|
941
|
+
};
|
|
922
942
|
const checkCryptoKeyPairUsages = pair => {
|
|
923
943
|
if (pair.privateKey && pair.privateKey instanceof CryptoKey && pair.privateKey.keyUsages && pair.privateKey.keyUsages.length > 0) {
|
|
924
944
|
return;
|
|
@@ -1106,6 +1126,8 @@ export class Subtle {
|
|
|
1106
1126
|
// Fall through
|
|
1107
1127
|
case 'X448':
|
|
1108
1128
|
return xDeriveBits(algorithm, baseKey, length);
|
|
1129
|
+
case 'HKDF':
|
|
1130
|
+
return hkdfDeriveBits(algorithm, baseKey, length);
|
|
1109
1131
|
}
|
|
1110
1132
|
throw new Error(`'subtle.deriveBits()' for ${algorithm.name} is not implemented.`);
|
|
1111
1133
|
}
|
|
@@ -1130,6 +1152,9 @@ export class Subtle {
|
|
|
1130
1152
|
case 'X448':
|
|
1131
1153
|
derivedBits = await xDeriveBits(algorithm, baseKey, length);
|
|
1132
1154
|
break;
|
|
1155
|
+
case 'HKDF':
|
|
1156
|
+
derivedBits = hkdfDeriveBits(algorithm, baseKey, length);
|
|
1157
|
+
break;
|
|
1133
1158
|
default:
|
|
1134
1159
|
throw new Error(`'subtle.deriveKey()' for ${algorithm.name} is not implemented.`);
|
|
1135
1160
|
}
|
|
@@ -1324,6 +1349,9 @@ export class Subtle {
|
|
|
1324
1349
|
case 'PBKDF2':
|
|
1325
1350
|
result = await importGenericSecretKey(normalizedAlgorithm, format, data, extractable, keyUsages);
|
|
1326
1351
|
break;
|
|
1352
|
+
case 'HKDF':
|
|
1353
|
+
result = await hkdfImportKey(format, data, normalizedAlgorithm, extractable, keyUsages);
|
|
1354
|
+
break;
|
|
1327
1355
|
case 'X25519':
|
|
1328
1356
|
// Fall through
|
|
1329
1357
|
case 'X448':
|