react-native-quick-crypto 0.7.3 → 1.0.0-beta.2
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 +34 -0
- package/README.md +13 -46
- package/android/CMakeLists.txt +32 -64
- package/android/build.gradle +52 -125
- package/android/gradle.properties +4 -4
- package/android/src/main/cpp/cpp-adapter.cpp +9 -54
- package/android/src/main/java/com/margelo/nitro/quickcrypto/QuickCryptoPackage.java +38 -0
- package/cpp/random/HybridRandom.cpp +34 -0
- package/cpp/random/HybridRandom.hpp +44 -0
- package/cpp/utils/Utils.hpp +9 -0
- package/ios/QuickCryptoOnLoad.mm +19 -0
- package/lib/commonjs/index.js +39 -39
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/random.js +26 -12
- package/lib/commonjs/random.js.map +1 -1
- package/lib/commonjs/{NativeQuickCrypto/rsa.js → specs/random.nitro.js} +1 -1
- package/lib/commonjs/{NativeQuickCrypto/aes.js.map → specs/random.nitro.js.map} +1 -1
- package/lib/commonjs/utils/conversion.js +22 -0
- package/lib/commonjs/utils/conversion.js.map +1 -0
- package/lib/commonjs/utils/index.js +12 -0
- package/lib/commonjs/utils/index.js.map +1 -0
- package/lib/commonjs/utils/types.js +2 -0
- package/lib/{module/NativeQuickCrypto/aes.js.map → commonjs/utils/types.js.map} +1 -1
- package/lib/module/index.js +38 -38
- package/lib/module/index.js.map +1 -1
- package/lib/module/random.js +26 -12
- package/lib/module/random.js.map +1 -1
- package/lib/module/specs/random.nitro.js +4 -0
- package/lib/module/{NativeQuickCrypto/rsa.js.map → specs/random.nitro.js.map} +1 -1
- package/lib/module/utils/conversion.js +16 -0
- package/lib/module/utils/conversion.js.map +1 -0
- package/lib/module/utils/index.js +8 -0
- package/lib/module/utils/index.js.map +1 -0
- package/lib/module/utils/types.js +2 -0
- package/lib/{commonjs/NativeQuickCrypto/rsa.js.map → module/utils/types.js.map} +1 -1
- package/lib/tsconfig.tsbuildinfo +1 -0
- package/lib/typescript/index.d.ts +10 -141
- package/lib/typescript/index.d.ts.map +1 -1
- package/lib/typescript/random.d.ts +4 -5
- package/lib/typescript/random.d.ts.map +1 -1
- package/lib/typescript/specs/random.nitro.d.ts +9 -0
- package/lib/typescript/specs/random.nitro.d.ts.map +1 -0
- package/lib/typescript/utils/conversion.d.ts +4 -0
- package/lib/typescript/utils/conversion.d.ts.map +1 -0
- package/lib/typescript/utils/index.d.ts +6 -0
- package/lib/typescript/utils/index.d.ts.map +1 -0
- package/lib/typescript/utils/types.d.ts +5 -0
- package/lib/typescript/utils/types.d.ts.map +1 -0
- package/nitrogen/generated/android/QuickCrypto+autolinking.cmake +45 -0
- package/nitrogen/generated/android/QuickCrypto+autolinking.gradle +26 -0
- package/nitrogen/generated/ios/QuickCrypto+autolinking.rb +57 -0
- package/nitrogen/generated/ios/QuickCrypto-Swift-Cxx-Bridge.cpp +9 -0
- package/nitrogen/generated/ios/QuickCrypto-Swift-Cxx-Bridge.hpp +25 -0
- package/nitrogen/generated/ios/QuickCrypto-Swift-Cxx-Umbrella.hpp +29 -0
- package/nitrogen/generated/shared/c++/HybridRandomSpec.cpp +23 -0
- package/nitrogen/generated/shared/c++/HybridRandomSpec.hpp +62 -0
- package/package.json +50 -106
- package/src/index.ts +38 -48
- package/src/random.ts +51 -48
- package/src/specs/random.nitro.ts +14 -0
- package/src/utils/conversion.ts +16 -0
- package/src/utils/index.ts +6 -0
- package/src/utils/types.ts +15 -0
- package/LICENSE +0 -27
- package/android/src/main/java/com/margelo/quickcrypto/QuickCryptoModule.java +0 -70
- package/android/src/main/java/com/margelo/quickcrypto/QuickCryptoPackage.java +0 -25
- package/cpp/Cipher/MGLCipherHostObject.cpp +0 -663
- package/cpp/Cipher/MGLCipherHostObject.h +0 -90
- package/cpp/Cipher/MGLCreateCipherInstaller.cpp +0 -75
- package/cpp/Cipher/MGLCreateCipherInstaller.h +0 -22
- package/cpp/Cipher/MGLCreateDecipherInstaller.cpp +0 -77
- package/cpp/Cipher/MGLCreateDecipherInstaller.h +0 -17
- package/cpp/Cipher/MGLGenerateKeyPairInstaller.cpp +0 -134
- package/cpp/Cipher/MGLGenerateKeyPairInstaller.h +0 -35
- package/cpp/Cipher/MGLGenerateKeyPairSyncInstaller.cpp +0 -63
- package/cpp/Cipher/MGLGenerateKeyPairSyncInstaller.h +0 -37
- package/cpp/Cipher/MGLPublicCipher.h +0 -124
- package/cpp/Cipher/MGLPublicCipherInstaller.h +0 -107
- package/cpp/Cipher/MGLRsa.cpp +0 -573
- package/cpp/Cipher/MGLRsa.h +0 -109
- package/cpp/HMAC/MGLHmacHostObject.cpp +0 -95
- package/cpp/HMAC/MGLHmacHostObject.h +0 -39
- package/cpp/HMAC/MGLHmacInstaller.cpp +0 -43
- package/cpp/HMAC/MGLHmacInstaller.h +0 -20
- package/cpp/Hash/MGLHashHostObject.cpp +0 -147
- package/cpp/Hash/MGLHashHostObject.h +0 -53
- package/cpp/Hash/MGLHashInstaller.cpp +0 -44
- package/cpp/Hash/MGLHashInstaller.h +0 -20
- package/cpp/JSIUtils/MGLJSIMacros.h +0 -110
- package/cpp/JSIUtils/MGLJSIUtils.h +0 -41
- package/cpp/JSIUtils/MGLSmartHostObject.cpp +0 -43
- package/cpp/JSIUtils/MGLSmartHostObject.h +0 -46
- package/cpp/JSIUtils/MGLThreadAwareHostObject.cpp +0 -24
- package/cpp/JSIUtils/MGLThreadAwareHostObject.h +0 -43
- package/cpp/JSIUtils/MGLTypedArray.cpp +0 -325
- package/cpp/JSIUtils/MGLTypedArray.h +0 -160
- package/cpp/MGLKeys.cpp +0 -1426
- package/cpp/MGLKeys.h +0 -203
- package/cpp/MGLQuickCryptoHostObject.cpp +0 -127
- package/cpp/MGLQuickCryptoHostObject.h +0 -30
- package/cpp/Random/MGLRandomHostObject.cpp +0 -96
- package/cpp/Random/MGLRandomHostObject.h +0 -27
- package/cpp/Sig/MGLSignHostObjects.cpp +0 -757
- package/cpp/Sig/MGLSignHostObjects.h +0 -128
- package/cpp/Sig/MGLSignInstaller.cpp +0 -24
- package/cpp/Sig/MGLSignInstaller.h +0 -29
- package/cpp/Sig/MGLVerifyInstaller.cpp +0 -24
- package/cpp/Sig/MGLVerifyInstaller.h +0 -22
- package/cpp/Utils/MGLDispatchQueue.cpp +0 -75
- package/cpp/Utils/MGLDispatchQueue.h +0 -55
- package/cpp/Utils/MGLUtils.cpp +0 -295
- package/cpp/Utils/MGLUtils.h +0 -358
- package/cpp/Utils/base64.h +0 -320
- package/cpp/Utils/logs.h +0 -38
- package/cpp/Utils/node.h +0 -13
- package/cpp/fastpbkdf2/MGLPbkdf2HostObject.cpp +0 -164
- package/cpp/fastpbkdf2/MGLPbkdf2HostObject.h +0 -29
- package/cpp/fastpbkdf2/fastpbkdf2.c +0 -352
- package/cpp/fastpbkdf2/fastpbkdf2.h +0 -68
- package/cpp/webcrypto/MGLWebCrypto.cpp +0 -125
- package/cpp/webcrypto/MGLWebCrypto.h +0 -32
- package/cpp/webcrypto/crypto_aes.cpp +0 -516
- package/cpp/webcrypto/crypto_aes.h +0 -79
- package/cpp/webcrypto/crypto_ec.cpp +0 -424
- package/cpp/webcrypto/crypto_ec.h +0 -78
- package/cpp/webcrypto/crypto_keygen.cpp +0 -86
- package/cpp/webcrypto/crypto_keygen.h +0 -38
- package/ios/QuickCrypto.xcodeproj/project.pbxproj +0 -274
- package/ios/QuickCryptoModule.h +0 -5
- package/ios/QuickCryptoModule.mm +0 -42
- package/lib/commonjs/Cipher.js +0 -502
- package/lib/commonjs/Cipher.js.map +0 -1
- package/lib/commonjs/Hash.js +0 -99
- package/lib/commonjs/Hash.js.map +0 -1
- package/lib/commonjs/Hashnames.js +0 -87
- package/lib/commonjs/Hashnames.js.map +0 -1
- package/lib/commonjs/Hmac.js +0 -79
- package/lib/commonjs/Hmac.js.map +0 -1
- package/lib/commonjs/NativeQuickCrypto/Cipher.js +0 -30
- package/lib/commonjs/NativeQuickCrypto/Cipher.js.map +0 -1
- package/lib/commonjs/NativeQuickCrypto/NativeQuickCrypto.js +0 -52
- package/lib/commonjs/NativeQuickCrypto/NativeQuickCrypto.js.map +0 -1
- package/lib/commonjs/NativeQuickCrypto/aes.js +0 -6
- package/lib/commonjs/NativeQuickCrypto/hash.js +0 -2
- package/lib/commonjs/NativeQuickCrypto/hash.js.map +0 -1
- package/lib/commonjs/NativeQuickCrypto/hmac.js +0 -2
- package/lib/commonjs/NativeQuickCrypto/hmac.js.map +0 -1
- package/lib/commonjs/NativeQuickCrypto/keygen.js +0 -6
- package/lib/commonjs/NativeQuickCrypto/keygen.js.map +0 -1
- package/lib/commonjs/NativeQuickCrypto/pbkdf2.js +0 -2
- package/lib/commonjs/NativeQuickCrypto/pbkdf2.js.map +0 -1
- package/lib/commonjs/NativeQuickCrypto/random.js +0 -2
- package/lib/commonjs/NativeQuickCrypto/random.js.map +0 -1
- package/lib/commonjs/NativeQuickCrypto/sig.js +0 -19
- package/lib/commonjs/NativeQuickCrypto/sig.js.map +0 -1
- package/lib/commonjs/NativeQuickCrypto/webcrypto.js +0 -6
- package/lib/commonjs/NativeQuickCrypto/webcrypto.js.map +0 -1
- package/lib/commonjs/Utils.js +0 -608
- package/lib/commonjs/Utils.js.map +0 -1
- package/lib/commonjs/aes.js +0 -281
- package/lib/commonjs/aes.js.map +0 -1
- package/lib/commonjs/constants.js +0 -85
- package/lib/commonjs/constants.js.map +0 -1
- package/lib/commonjs/ec.js +0 -276
- package/lib/commonjs/ec.js.map +0 -1
- package/lib/commonjs/keygen.js +0 -56
- package/lib/commonjs/keygen.js.map +0 -1
- package/lib/commonjs/keys.js +0 -492
- package/lib/commonjs/keys.js.map +0 -1
- package/lib/commonjs/pbkdf2.js +0 -90
- package/lib/commonjs/pbkdf2.js.map +0 -1
- package/lib/commonjs/rsa.js +0 -248
- package/lib/commonjs/rsa.js.map +0 -1
- package/lib/commonjs/sig.js +0 -129
- package/lib/commonjs/sig.js.map +0 -1
- package/lib/commonjs/subtle.js +0 -448
- package/lib/commonjs/subtle.js.map +0 -1
- package/lib/commonjs/webcrypto.js +0 -14
- package/lib/commonjs/webcrypto.js.map +0 -1
- package/lib/module/Cipher.js +0 -491
- package/lib/module/Cipher.js.map +0 -1
- package/lib/module/Hash.js +0 -93
- package/lib/module/Hash.js.map +0 -1
- package/lib/module/Hashnames.js +0 -85
- package/lib/module/Hashnames.js.map +0 -1
- package/lib/module/Hmac.js +0 -74
- package/lib/module/Hmac.js.map +0 -1
- package/lib/module/NativeQuickCrypto/Cipher.js +0 -26
- package/lib/module/NativeQuickCrypto/Cipher.js.map +0 -1
- package/lib/module/NativeQuickCrypto/NativeQuickCrypto.js +0 -49
- package/lib/module/NativeQuickCrypto/NativeQuickCrypto.js.map +0 -1
- package/lib/module/NativeQuickCrypto/aes.js +0 -4
- package/lib/module/NativeQuickCrypto/hash.js +0 -2
- package/lib/module/NativeQuickCrypto/hash.js.map +0 -1
- package/lib/module/NativeQuickCrypto/hmac.js +0 -2
- package/lib/module/NativeQuickCrypto/hmac.js.map +0 -1
- package/lib/module/NativeQuickCrypto/keygen.js +0 -4
- package/lib/module/NativeQuickCrypto/keygen.js.map +0 -1
- package/lib/module/NativeQuickCrypto/pbkdf2.js +0 -2
- package/lib/module/NativeQuickCrypto/pbkdf2.js.map +0 -1
- package/lib/module/NativeQuickCrypto/random.js +0 -2
- package/lib/module/NativeQuickCrypto/random.js.map +0 -1
- package/lib/module/NativeQuickCrypto/rsa.js +0 -4
- package/lib/module/NativeQuickCrypto/sig.js +0 -17
- package/lib/module/NativeQuickCrypto/sig.js.map +0 -1
- package/lib/module/NativeQuickCrypto/webcrypto.js +0 -4
- package/lib/module/NativeQuickCrypto/webcrypto.js.map +0 -1
- package/lib/module/Utils.js +0 -539
- package/lib/module/Utils.js.map +0 -1
- package/lib/module/aes.js +0 -274
- package/lib/module/aes.js.map +0 -1
- package/lib/module/constants.js +0 -81
- package/lib/module/constants.js.map +0 -1
- package/lib/module/ec.js +0 -267
- package/lib/module/ec.js.map +0 -1
- package/lib/module/keygen.js +0 -49
- package/lib/module/keygen.js.map +0 -1
- package/lib/module/keys.js +0 -477
- package/lib/module/keys.js.map +0 -1
- package/lib/module/pbkdf2.js +0 -84
- package/lib/module/pbkdf2.js.map +0 -1
- package/lib/module/rsa.js +0 -242
- package/lib/module/rsa.js.map +0 -1
- package/lib/module/sig.js +0 -124
- package/lib/module/sig.js.map +0 -1
- package/lib/module/subtle.js +0 -443
- package/lib/module/subtle.js.map +0 -1
- package/lib/module/webcrypto.js +0 -10
- package/lib/module/webcrypto.js.map +0 -1
- package/lib/typescript/Cipher.d.ts +0 -81
- package/lib/typescript/Cipher.d.ts.map +0 -1
- package/lib/typescript/Hash.d.ts +0 -44
- package/lib/typescript/Hash.d.ts.map +0 -1
- package/lib/typescript/Hashnames.d.ts +0 -11
- package/lib/typescript/Hashnames.d.ts.map +0 -1
- package/lib/typescript/Hmac.d.ts +0 -37
- package/lib/typescript/Hmac.d.ts.map +0 -1
- package/lib/typescript/NativeQuickCrypto/Cipher.d.ts +0 -44
- package/lib/typescript/NativeQuickCrypto/Cipher.d.ts.map +0 -1
- package/lib/typescript/NativeQuickCrypto/NativeQuickCrypto.d.ts +0 -33
- package/lib/typescript/NativeQuickCrypto/NativeQuickCrypto.d.ts.map +0 -1
- package/lib/typescript/NativeQuickCrypto/aes.d.ts +0 -5
- package/lib/typescript/NativeQuickCrypto/aes.d.ts.map +0 -1
- package/lib/typescript/NativeQuickCrypto/hash.d.ts +0 -7
- package/lib/typescript/NativeQuickCrypto/hash.d.ts.map +0 -1
- package/lib/typescript/NativeQuickCrypto/hmac.d.ts +0 -6
- package/lib/typescript/NativeQuickCrypto/hmac.d.ts.map +0 -1
- package/lib/typescript/NativeQuickCrypto/keygen.d.ts +0 -4
- package/lib/typescript/NativeQuickCrypto/keygen.d.ts.map +0 -1
- package/lib/typescript/NativeQuickCrypto/pbkdf2.d.ts +0 -5
- package/lib/typescript/NativeQuickCrypto/pbkdf2.d.ts.map +0 -1
- package/lib/typescript/NativeQuickCrypto/random.d.ts +0 -5
- package/lib/typescript/NativeQuickCrypto/random.d.ts.map +0 -1
- package/lib/typescript/NativeQuickCrypto/rsa.d.ts +0 -5
- package/lib/typescript/NativeQuickCrypto/rsa.d.ts.map +0 -1
- package/lib/typescript/NativeQuickCrypto/sig.d.ts +0 -23
- package/lib/typescript/NativeQuickCrypto/sig.d.ts.map +0 -1
- package/lib/typescript/NativeQuickCrypto/webcrypto.d.ts +0 -39
- package/lib/typescript/NativeQuickCrypto/webcrypto.d.ts.map +0 -1
- package/lib/typescript/Utils.d.ts +0 -48
- package/lib/typescript/Utils.d.ts.map +0 -1
- package/lib/typescript/aes.d.ts +0 -22
- package/lib/typescript/aes.d.ts.map +0 -1
- package/lib/typescript/constants.d.ts +0 -76
- package/lib/typescript/constants.d.ts.map +0 -1
- package/lib/typescript/ec.d.ts +0 -7
- package/lib/typescript/ec.d.ts.map +0 -1
- package/lib/typescript/keygen.d.ts +0 -6
- package/lib/typescript/keygen.d.ts.map +0 -1
- package/lib/typescript/keys.d.ts +0 -206
- package/lib/typescript/keys.d.ts.map +0 -1
- package/lib/typescript/pbkdf2.d.ts +0 -12
- package/lib/typescript/pbkdf2.d.ts.map +0 -1
- package/lib/typescript/rsa.d.ts +0 -12
- package/lib/typescript/rsa.d.ts.map +0 -1
- package/lib/typescript/sig.d.ts +0 -21
- package/lib/typescript/sig.d.ts.map +0 -1
- package/lib/typescript/subtle.d.ts +0 -15
- package/lib/typescript/subtle.d.ts.map +0 -1
- package/lib/typescript/webcrypto.d.ts +0 -9
- package/lib/typescript/webcrypto.d.ts.map +0 -1
- package/react-native-quick-crypto.podspec +0 -40
- package/src/Cipher.ts +0 -832
- package/src/Hash.ts +0 -132
- package/src/Hashnames.ts +0 -93
- package/src/Hmac.ts +0 -106
- package/src/NativeQuickCrypto/Cipher.ts +0 -102
- package/src/NativeQuickCrypto/NativeQuickCrypto.ts +0 -102
- package/src/NativeQuickCrypto/aes.ts +0 -14
- package/src/NativeQuickCrypto/hash.ts +0 -10
- package/src/NativeQuickCrypto/hmac.ts +0 -9
- package/src/NativeQuickCrypto/keygen.ts +0 -7
- package/src/NativeQuickCrypto/pbkdf2.ts +0 -16
- package/src/NativeQuickCrypto/random.ts +0 -12
- package/src/NativeQuickCrypto/rsa.ts +0 -12
- package/src/NativeQuickCrypto/sig.ts +0 -44
- package/src/NativeQuickCrypto/webcrypto.ts +0 -72
- package/src/Utils.ts +0 -777
- package/src/aes.ts +0 -402
- package/src/constants.ts +0 -79
- package/src/ec.ts +0 -375
- package/src/keygen.ts +0 -80
- package/src/keys.ts +0 -787
- package/src/pbkdf2.ts +0 -169
- package/src/rsa.ts +0 -370
- package/src/sig.ts +0 -164
- package/src/subtle.ts +0 -639
- package/src/webcrypto.ts +0 -8
- /package/android/src/main/{AndroidManifestNew.xml → AndroidManifest.xml} +0 -0
package/lib/commonjs/pbkdf2.js
DELETED
|
@@ -1,90 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.pbkdf2 = pbkdf2;
|
|
7
|
-
exports.pbkdf2DeriveBits = pbkdf2DeriveBits;
|
|
8
|
-
exports.pbkdf2Sync = pbkdf2Sync;
|
|
9
|
-
var _NativeQuickCrypto = require("./NativeQuickCrypto/NativeQuickCrypto");
|
|
10
|
-
var _reactNativeBuffer = require("@craftzdog/react-native-buffer");
|
|
11
|
-
var _Utils = require("./Utils");
|
|
12
|
-
var _util = require("util");
|
|
13
|
-
const WRONG_PASS = 'Password must be a string, a Buffer, a typed array or a DataView';
|
|
14
|
-
const WRONG_SALT = `Salt must be a string, a Buffer, a typed array or a DataView`;
|
|
15
|
-
function sanitizeInput(input, errorMsg) {
|
|
16
|
-
try {
|
|
17
|
-
return (0, _Utils.binaryLikeToArrayBuffer)(input);
|
|
18
|
-
} catch (e) {
|
|
19
|
-
throw errorMsg;
|
|
20
|
-
}
|
|
21
|
-
}
|
|
22
|
-
const nativePbkdf2 = _NativeQuickCrypto.NativeQuickCrypto.pbkdf2;
|
|
23
|
-
function pbkdf2(password, salt, iterations, keylen, arg0, arg1) {
|
|
24
|
-
let digest = 'SHA-1';
|
|
25
|
-
let callback;
|
|
26
|
-
if (typeof arg0 === 'string') {
|
|
27
|
-
digest = arg0;
|
|
28
|
-
if (typeof arg1 === 'function') {
|
|
29
|
-
callback = arg1;
|
|
30
|
-
}
|
|
31
|
-
} else {
|
|
32
|
-
if (typeof arg0 === 'function') {
|
|
33
|
-
callback = arg0;
|
|
34
|
-
}
|
|
35
|
-
}
|
|
36
|
-
if (callback === undefined) {
|
|
37
|
-
throw new Error('No callback provided to pbkdf2');
|
|
38
|
-
}
|
|
39
|
-
const sanitizedPassword = sanitizeInput(password, WRONG_PASS);
|
|
40
|
-
const sanitizedSalt = sanitizeInput(salt, WRONG_SALT);
|
|
41
|
-
const normalizedDigest = (0, _Utils.normalizeHashName)(digest, _Utils.HashContext.Node);
|
|
42
|
-
nativePbkdf2.pbkdf2(sanitizedPassword, sanitizedSalt, iterations, keylen, normalizedDigest).then(res => {
|
|
43
|
-
callback(null, _reactNativeBuffer.Buffer.from(res));
|
|
44
|
-
}, e => {
|
|
45
|
-
callback(e);
|
|
46
|
-
});
|
|
47
|
-
}
|
|
48
|
-
function pbkdf2Sync(password, salt, iterations, keylen, digest) {
|
|
49
|
-
const sanitizedPassword = sanitizeInput(password, WRONG_PASS);
|
|
50
|
-
const sanitizedSalt = sanitizeInput(salt, WRONG_SALT);
|
|
51
|
-
const algo = digest ? (0, _Utils.normalizeHashName)(digest, _Utils.HashContext.Node) : 'sha1';
|
|
52
|
-
let result = nativePbkdf2.pbkdf2Sync(sanitizedPassword, sanitizedSalt, iterations, keylen, algo);
|
|
53
|
-
return _reactNativeBuffer.Buffer.from(result);
|
|
54
|
-
}
|
|
55
|
-
|
|
56
|
-
// We need this because the typescript overload signatures in pbkdf2() above do
|
|
57
|
-
// not play nice with promisify() below.
|
|
58
|
-
const pbkdf2WithDigest = (password, salt, iterations, keylen, digest, callback) => pbkdf2(password, salt, iterations, keylen, digest, callback);
|
|
59
|
-
const pbkdf2Promise = (0, _util.promisify)(pbkdf2WithDigest);
|
|
60
|
-
async function pbkdf2DeriveBits(algorithm, baseKey, length) {
|
|
61
|
-
const {
|
|
62
|
-
iterations,
|
|
63
|
-
hash,
|
|
64
|
-
salt
|
|
65
|
-
} = algorithm;
|
|
66
|
-
const normalizedHash = (0, _Utils.normalizeHashName)(hash);
|
|
67
|
-
if (!normalizedHash) {
|
|
68
|
-
throw (0, _Utils.lazyDOMException)('hash cannot be blank', 'OperationError');
|
|
69
|
-
}
|
|
70
|
-
if (!iterations || iterations === 0) {
|
|
71
|
-
throw (0, _Utils.lazyDOMException)('iterations cannot be zero', 'OperationError');
|
|
72
|
-
}
|
|
73
|
-
if (!salt) {
|
|
74
|
-
throw (0, _Utils.lazyDOMException)(WRONG_SALT, 'OperationError');
|
|
75
|
-
}
|
|
76
|
-
const raw = baseKey.keyObject.export();
|
|
77
|
-
if (length === 0) throw (0, _Utils.lazyDOMException)('length cannot be zero', 'OperationError');
|
|
78
|
-
if (length === null) throw (0, _Utils.lazyDOMException)('length cannot be null', 'OperationError');
|
|
79
|
-
if (length % 8) {
|
|
80
|
-
throw (0, _Utils.lazyDOMException)('length must be a multiple of 8', 'OperationError');
|
|
81
|
-
}
|
|
82
|
-
const sanitizedPassword = sanitizeInput(raw, WRONG_PASS);
|
|
83
|
-
const sanitizedSalt = sanitizeInput(salt, WRONG_SALT);
|
|
84
|
-
let result = await pbkdf2Promise(sanitizedPassword, sanitizedSalt, iterations, length / 8, normalizedHash);
|
|
85
|
-
if (!result) {
|
|
86
|
-
throw (0, _Utils.lazyDOMException)('received bad result from pbkdf2()', 'OperationError');
|
|
87
|
-
}
|
|
88
|
-
return (0, _Utils.bufferLikeToArrayBuffer)(result);
|
|
89
|
-
}
|
|
90
|
-
//# sourceMappingURL=pbkdf2.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["_NativeQuickCrypto","require","_reactNativeBuffer","_Utils","_util","WRONG_PASS","WRONG_SALT","sanitizeInput","input","errorMsg","binaryLikeToArrayBuffer","e","nativePbkdf2","NativeQuickCrypto","pbkdf2","password","salt","iterations","keylen","arg0","arg1","digest","callback","undefined","Error","sanitizedPassword","sanitizedSalt","normalizedDigest","normalizeHashName","HashContext","Node","then","res","Buffer","from","pbkdf2Sync","algo","result","pbkdf2WithDigest","pbkdf2Promise","promisify","pbkdf2DeriveBits","algorithm","baseKey","length","hash","normalizedHash","lazyDOMException","raw","keyObject","export","bufferLikeToArrayBuffer"],"sourceRoot":"../../src","sources":["pbkdf2.ts"],"mappings":"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","ignoreList":[]}
|
package/lib/commonjs/rsa.js
DELETED
|
@@ -1,248 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.rsaKeyGenerate = exports.rsaImportKey = exports.rsaExportKey = exports.rsaCipher = exports.RSAKeyVariant = void 0;
|
|
7
|
-
var _Cipher = require("./NativeQuickCrypto/Cipher");
|
|
8
|
-
var _Cipher2 = require("./Cipher");
|
|
9
|
-
var _NativeQuickCrypto = require("./NativeQuickCrypto/NativeQuickCrypto");
|
|
10
|
-
var _Utils = require("./Utils");
|
|
11
|
-
var _keys = require("./keys");
|
|
12
|
-
// TODO: keep in in sync with C++ side (cpp/Cipher/MGLRsa.h)
|
|
13
|
-
let RSAKeyVariant = exports.RSAKeyVariant = /*#__PURE__*/function (RSAKeyVariant) {
|
|
14
|
-
RSAKeyVariant[RSAKeyVariant["RSA_SSA_PKCS1_v1_5"] = 0] = "RSA_SSA_PKCS1_v1_5";
|
|
15
|
-
RSAKeyVariant[RSAKeyVariant["RSA_PSS"] = 1] = "RSA_PSS";
|
|
16
|
-
RSAKeyVariant[RSAKeyVariant["RSA_OAEP"] = 2] = "RSA_OAEP";
|
|
17
|
-
return RSAKeyVariant;
|
|
18
|
-
}({});
|
|
19
|
-
function verifyAcceptableRsaKeyUse(name, isPublic, usages) {
|
|
20
|
-
let checkSet;
|
|
21
|
-
switch (name) {
|
|
22
|
-
case 'RSA-OAEP':
|
|
23
|
-
checkSet = isPublic ? ['encrypt', 'wrapKey'] : ['decrypt', 'unwrapKey'];
|
|
24
|
-
break;
|
|
25
|
-
case 'RSA-PSS':
|
|
26
|
-
// Fall through
|
|
27
|
-
case 'RSASSA-PKCS1-v1_5':
|
|
28
|
-
checkSet = isPublic ? ['verify'] : ['sign'];
|
|
29
|
-
break;
|
|
30
|
-
default:
|
|
31
|
-
throw (0, _Utils.lazyDOMException)('The algorithm is not supported', 'NotSupportedError');
|
|
32
|
-
}
|
|
33
|
-
if ((0, _Utils.hasAnyNotIn)(usages, checkSet)) {
|
|
34
|
-
throw (0, _Utils.lazyDOMException)(`Unsupported key usage for an ${name} key`, 'SyntaxError');
|
|
35
|
-
}
|
|
36
|
-
}
|
|
37
|
-
const rsaOaepCipher = (mode, key, data, {
|
|
38
|
-
label
|
|
39
|
-
}) => {
|
|
40
|
-
const type = mode === _keys.CipherOrWrapMode.kWebCryptoCipherEncrypt ? 'public' : 'private';
|
|
41
|
-
if (key.type !== type) {
|
|
42
|
-
throw (0, _Utils.lazyDOMException)('The requested operation is not valid for the provided key', 'InvalidAccessError');
|
|
43
|
-
}
|
|
44
|
-
if (label !== undefined) {
|
|
45
|
-
(0, _Utils.validateMaxBufferLength)(label, 'algorithm.label');
|
|
46
|
-
}
|
|
47
|
-
return _NativeQuickCrypto.NativeQuickCrypto.webcrypto.rsaCipher(mode, key.keyObject.handle, data, RSAKeyVariant.RSA_OAEP, (0, _Utils.normalizeHashName)(key.algorithm.hash), label !== undefined ? (0, _Utils.bufferLikeToArrayBuffer)(label) : undefined);
|
|
48
|
-
};
|
|
49
|
-
const rsaCipher = exports.rsaCipher = rsaOaepCipher;
|
|
50
|
-
const rsaKeyGenerate = async (algorithm, extractable, keyUsages) => {
|
|
51
|
-
const {
|
|
52
|
-
name,
|
|
53
|
-
modulusLength,
|
|
54
|
-
publicExponent,
|
|
55
|
-
hash: rawHash
|
|
56
|
-
} = algorithm;
|
|
57
|
-
const hash = (0, _Utils.normalizeHashName)(rawHash);
|
|
58
|
-
|
|
59
|
-
// const usageSet = new SafeSet(keyUsages);
|
|
60
|
-
const publicExponentConverted = (0, _Utils.bigIntArrayToUnsignedInt)(publicExponent);
|
|
61
|
-
if (publicExponentConverted === undefined) {
|
|
62
|
-
throw (0, _Utils.lazyDOMException)('The publicExponent must be equivalent to an unsigned 32-bit value', 'OperationError');
|
|
63
|
-
}
|
|
64
|
-
switch (name) {
|
|
65
|
-
case 'RSA-OAEP':
|
|
66
|
-
if ((0, _Utils.hasAnyNotIn)(keyUsages, ['encrypt', 'decrypt', 'wrapKey', 'unwrapKey'])) {
|
|
67
|
-
throw (0, _Utils.lazyDOMException)('Unsupported key usage for a RSA key', 'SyntaxError');
|
|
68
|
-
}
|
|
69
|
-
break;
|
|
70
|
-
default:
|
|
71
|
-
if ((0, _Utils.hasAnyNotIn)(keyUsages, ['sign', 'verify'])) {
|
|
72
|
-
throw (0, _Utils.lazyDOMException)('Unsupported key usage for a RSA key', 'SyntaxError');
|
|
73
|
-
}
|
|
74
|
-
}
|
|
75
|
-
const [err, keypair] = await (0, _Cipher2.generateKeyPairPromise)('rsa', {
|
|
76
|
-
modulusLength,
|
|
77
|
-
publicExponent: publicExponentConverted
|
|
78
|
-
});
|
|
79
|
-
if (err) {
|
|
80
|
-
throw (0, _Utils.lazyDOMException)('The operation failed for an operation-specific reason', {
|
|
81
|
-
name: 'OperationError',
|
|
82
|
-
cause: err
|
|
83
|
-
});
|
|
84
|
-
}
|
|
85
|
-
const keyAlgorithm = {
|
|
86
|
-
name,
|
|
87
|
-
modulusLength,
|
|
88
|
-
publicExponent: publicExponentConverted,
|
|
89
|
-
hash
|
|
90
|
-
};
|
|
91
|
-
let publicUsages = [];
|
|
92
|
-
let privateUsages = [];
|
|
93
|
-
switch (name) {
|
|
94
|
-
case 'RSA-OAEP':
|
|
95
|
-
{
|
|
96
|
-
publicUsages = (0, _Utils.getUsagesUnion)(keyUsages, 'encrypt', 'wrapKey');
|
|
97
|
-
privateUsages = (0, _Utils.getUsagesUnion)(keyUsages, 'decrypt', 'unwrapKey');
|
|
98
|
-
break;
|
|
99
|
-
}
|
|
100
|
-
default:
|
|
101
|
-
{
|
|
102
|
-
publicUsages = (0, _Utils.getUsagesUnion)(keyUsages, 'verify');
|
|
103
|
-
privateUsages = (0, _Utils.getUsagesUnion)(keyUsages, 'sign');
|
|
104
|
-
break;
|
|
105
|
-
}
|
|
106
|
-
}
|
|
107
|
-
const pub = new _keys.PublicKeyObject(keypair?.publicKey);
|
|
108
|
-
const publicKey = new _keys.CryptoKey(pub, keyAlgorithm, publicUsages, true);
|
|
109
|
-
const priv = new _keys.PrivateKeyObject(keypair?.privateKey);
|
|
110
|
-
const privateKey = new _keys.CryptoKey(priv, keyAlgorithm, privateUsages, extractable);
|
|
111
|
-
return {
|
|
112
|
-
publicKey,
|
|
113
|
-
privateKey
|
|
114
|
-
};
|
|
115
|
-
};
|
|
116
|
-
exports.rsaKeyGenerate = rsaKeyGenerate;
|
|
117
|
-
const rsaExportKey = (key, format) => {
|
|
118
|
-
const variant = _Cipher.KeyVariantLookup[key.algorithm.name];
|
|
119
|
-
if (variant === undefined) {
|
|
120
|
-
throw (0, _Utils.lazyDOMException)(`Unrecognized algorithm name '${key.algorithm.name}'`, 'NotSupportedError');
|
|
121
|
-
}
|
|
122
|
-
return _NativeQuickCrypto.NativeQuickCrypto.webcrypto.rsaExportKey(format, key.keyObject.handle, variant);
|
|
123
|
-
};
|
|
124
|
-
exports.rsaExportKey = rsaExportKey;
|
|
125
|
-
const rsaImportKey = (format, keyData, algorithm, extractable, keyUsages) => {
|
|
126
|
-
// const usagesSet = new SafeSet(keyUsages);
|
|
127
|
-
let keyObject;
|
|
128
|
-
switch (format) {
|
|
129
|
-
case 'spki':
|
|
130
|
-
{
|
|
131
|
-
verifyAcceptableRsaKeyUse(algorithm.name, true, keyUsages);
|
|
132
|
-
try {
|
|
133
|
-
keyObject = (0, _keys.createPublicKey)({
|
|
134
|
-
key: keyData,
|
|
135
|
-
format: 'der',
|
|
136
|
-
type: 'spki'
|
|
137
|
-
});
|
|
138
|
-
} catch (err) {
|
|
139
|
-
throw (0, _Utils.lazyDOMException)('Invalid keyData', {
|
|
140
|
-
name: 'DataError',
|
|
141
|
-
cause: err
|
|
142
|
-
});
|
|
143
|
-
}
|
|
144
|
-
break;
|
|
145
|
-
}
|
|
146
|
-
// case 'pkcs8': {
|
|
147
|
-
// verifyAcceptableRsaKeyUse(algorithm.name, false, keyUsages);
|
|
148
|
-
// try {
|
|
149
|
-
// keyObject = createPrivateKey({
|
|
150
|
-
// key: keyData,
|
|
151
|
-
// format: 'der',
|
|
152
|
-
// type: 'pkcs8',
|
|
153
|
-
// });
|
|
154
|
-
// } catch (err) {
|
|
155
|
-
// throw lazyDOMException('Invalid keyData', {
|
|
156
|
-
// name: 'DataError',
|
|
157
|
-
// cause: err,
|
|
158
|
-
// });
|
|
159
|
-
// }
|
|
160
|
-
// break;
|
|
161
|
-
// }
|
|
162
|
-
case 'jwk':
|
|
163
|
-
{
|
|
164
|
-
const data = keyData;
|
|
165
|
-
if (!data.kty) {
|
|
166
|
-
throw (0, _Utils.lazyDOMException)('Invalid keyData', 'DataError');
|
|
167
|
-
}
|
|
168
|
-
if (data.kty !== 'RSA') throw (0, _Utils.lazyDOMException)('Invalid JWK "kty" Parameter', 'DataError');
|
|
169
|
-
verifyAcceptableRsaKeyUse(algorithm.name, data.d === undefined, keyUsages);
|
|
170
|
-
if (keyUsages.length > 0 && data.use !== undefined) {
|
|
171
|
-
const checkUse = algorithm.name === 'RSA-OAEP' ? 'enc' : 'sig';
|
|
172
|
-
if (data.use !== checkUse) throw (0, _Utils.lazyDOMException)('Invalid JWK "use" Parameter', 'DataError');
|
|
173
|
-
}
|
|
174
|
-
(0, _Utils.validateKeyOps)(data.key_ops, keyUsages);
|
|
175
|
-
if (data.ext !== undefined && data.ext === false && extractable === true) {
|
|
176
|
-
throw (0, _Utils.lazyDOMException)('JWK "ext" Parameter and extractable mismatch', 'DataError');
|
|
177
|
-
}
|
|
178
|
-
if (data.alg !== undefined) {
|
|
179
|
-
const hash = (0, _Utils.normalizeHashName)(data.alg, _Utils.HashContext.WebCrypto);
|
|
180
|
-
if (hash !== algorithm.hash) throw (0, _Utils.lazyDOMException)('JWK "alg" does not match the requested algorithm', 'DataError');
|
|
181
|
-
}
|
|
182
|
-
const handle = _NativeQuickCrypto.NativeQuickCrypto.webcrypto.createKeyObjectHandle();
|
|
183
|
-
const type = handle.initJwk(data);
|
|
184
|
-
if (type === undefined) throw (0, _Utils.lazyDOMException)('Invalid JWK', 'DataError');
|
|
185
|
-
keyObject = type === _keys.KeyType.Private ? new _keys.PrivateKeyObject(handle) : new _keys.PublicKeyObject(handle);
|
|
186
|
-
break;
|
|
187
|
-
}
|
|
188
|
-
default:
|
|
189
|
-
throw (0, _Utils.lazyDOMException)(`Unable to import RSA key with format ${format}`, 'NotSupportedError');
|
|
190
|
-
}
|
|
191
|
-
if (keyObject.asymmetricKeyType !== 'rsa') {
|
|
192
|
-
throw (0, _Utils.lazyDOMException)('Invalid key type', 'DataError');
|
|
193
|
-
}
|
|
194
|
-
const {
|
|
195
|
-
modulusLength,
|
|
196
|
-
publicExponent
|
|
197
|
-
} = keyObject.handle.keyDetail();
|
|
198
|
-
if (publicExponent === undefined) {
|
|
199
|
-
throw (0, _Utils.lazyDOMException)('publicExponent is undefined', 'DataError');
|
|
200
|
-
}
|
|
201
|
-
return new _keys.CryptoKey(keyObject, {
|
|
202
|
-
name: algorithm.name,
|
|
203
|
-
modulusLength,
|
|
204
|
-
publicExponent: new Uint8Array(publicExponent),
|
|
205
|
-
hash: algorithm.hash
|
|
206
|
-
}, keyUsages, extractable);
|
|
207
|
-
};
|
|
208
|
-
|
|
209
|
-
// function rsaSignVerify(key, data, { saltLength }, signature) {
|
|
210
|
-
// let padding;
|
|
211
|
-
// if (key.algorithm.name === 'RSA-PSS') {
|
|
212
|
-
// padding = RSA_PKCS1_PSS_PADDING;
|
|
213
|
-
// // TODO(@jasnell): Validate maximum size of saltLength
|
|
214
|
-
// // based on the key size:
|
|
215
|
-
// // Math.ceil((keySizeInBits - 1)/8) - digestSizeInBytes - 2
|
|
216
|
-
// validateInt32(saltLength, 'algorithm.saltLength', -2);
|
|
217
|
-
// }
|
|
218
|
-
|
|
219
|
-
// const mode = signature === undefined ? kSignJobModeSign : kSignJobModeVerify;
|
|
220
|
-
// const type = mode === kSignJobModeSign ? 'private' : 'public';
|
|
221
|
-
|
|
222
|
-
// if (key.type !== type)
|
|
223
|
-
// throw lazyDOMException(`Key must be a ${type} key`, 'InvalidAccessError');
|
|
224
|
-
|
|
225
|
-
// return jobPromise(() => new SignJob(
|
|
226
|
-
// kCryptoJobAsync,
|
|
227
|
-
// signature === undefined ? kSignJobModeSign : kSignJobModeVerify,
|
|
228
|
-
// key[kKeyObject][kHandle],
|
|
229
|
-
// undefined,
|
|
230
|
-
// undefined,
|
|
231
|
-
// undefined,
|
|
232
|
-
// data,
|
|
233
|
-
// normalizeHashName(key.algorithm.hash.name),
|
|
234
|
-
// saltLength,
|
|
235
|
-
// padding,
|
|
236
|
-
// undefined,
|
|
237
|
-
// signature));
|
|
238
|
-
// }
|
|
239
|
-
|
|
240
|
-
// module.exports = {
|
|
241
|
-
// rsaCipher: rsaOaepCipher,
|
|
242
|
-
// rsaExportKey,
|
|
243
|
-
// rsaImportKey,
|
|
244
|
-
// rsaKeyGenerate,
|
|
245
|
-
// rsaSignVerify,
|
|
246
|
-
// };
|
|
247
|
-
exports.rsaImportKey = rsaImportKey;
|
|
248
|
-
//# sourceMappingURL=rsa.js.map
|
package/lib/commonjs/rsa.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["_Cipher","require","_Cipher2","_NativeQuickCrypto","_Utils","_keys","RSAKeyVariant","exports","verifyAcceptableRsaKeyUse","name","isPublic","usages","checkSet","lazyDOMException","hasAnyNotIn","rsaOaepCipher","mode","key","data","label","type","CipherOrWrapMode","kWebCryptoCipherEncrypt","undefined","validateMaxBufferLength","NativeQuickCrypto","webcrypto","rsaCipher","keyObject","handle","RSA_OAEP","normalizeHashName","algorithm","hash","bufferLikeToArrayBuffer","rsaKeyGenerate","extractable","keyUsages","modulusLength","publicExponent","rawHash","publicExponentConverted","bigIntArrayToUnsignedInt","err","keypair","generateKeyPairPromise","cause","keyAlgorithm","publicUsages","privateUsages","getUsagesUnion","pub","PublicKeyObject","publicKey","CryptoKey","priv","PrivateKeyObject","privateKey","rsaExportKey","format","variant","KeyVariantLookup","rsaImportKey","keyData","createPublicKey","kty","d","length","use","checkUse","validateKeyOps","key_ops","ext","alg","HashContext","WebCrypto","createKeyObjectHandle","initJwk","KeyType","Private","asymmetricKeyType","keyDetail","Uint8Array"],"sourceRoot":"../../src","sources":["rsa.ts"],"mappings":"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","ignoreList":[]}
|
package/lib/commonjs/sig.js
DELETED
|
@@ -1,129 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.createSign = createSign;
|
|
7
|
-
exports.createVerify = createVerify;
|
|
8
|
-
var _NativeQuickCrypto = require("./NativeQuickCrypto/NativeQuickCrypto");
|
|
9
|
-
var _readableStream = _interopRequireDefault(require("readable-stream"));
|
|
10
|
-
var _Utils = require("./Utils");
|
|
11
|
-
var _keys = require("./keys");
|
|
12
|
-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
13
|
-
// TODO(osp) same as publicCipher on node this are defined on C++ and exposed to node
|
|
14
|
-
// Do the same here
|
|
15
|
-
var DSASigEnc = /*#__PURE__*/function (DSASigEnc) {
|
|
16
|
-
DSASigEnc[DSASigEnc["kSigEncDER"] = 0] = "kSigEncDER";
|
|
17
|
-
DSASigEnc[DSASigEnc["kSigEncP1363"] = 1] = "kSigEncP1363";
|
|
18
|
-
return DSASigEnc;
|
|
19
|
-
}(DSASigEnc || {});
|
|
20
|
-
const createInternalSign = _NativeQuickCrypto.NativeQuickCrypto.createSign;
|
|
21
|
-
const createInternalVerify = _NativeQuickCrypto.NativeQuickCrypto.createVerify;
|
|
22
|
-
function getPadding(options) {
|
|
23
|
-
return getIntOption('padding', options);
|
|
24
|
-
}
|
|
25
|
-
function getSaltLength(options) {
|
|
26
|
-
return getIntOption('saltLength', options);
|
|
27
|
-
}
|
|
28
|
-
function getDSASignatureEncoding(options) {
|
|
29
|
-
if (typeof options === 'object') {
|
|
30
|
-
const {
|
|
31
|
-
dsaEncoding = 'der'
|
|
32
|
-
} = options;
|
|
33
|
-
if (dsaEncoding === 'der') return DSASigEnc.kSigEncDER;else if (dsaEncoding === 'ieee-p1363') return DSASigEnc.kSigEncP1363;
|
|
34
|
-
throw new Error(`options.dsaEncoding: ${dsaEncoding} not a valid encoding`);
|
|
35
|
-
}
|
|
36
|
-
return DSASigEnc.kSigEncDER;
|
|
37
|
-
}
|
|
38
|
-
function getIntOption(name, options) {
|
|
39
|
-
const value = options[name];
|
|
40
|
-
if (value !== undefined) {
|
|
41
|
-
// eslint-disable-next-line no-bitwise
|
|
42
|
-
if (value === value >> 0) {
|
|
43
|
-
return value;
|
|
44
|
-
}
|
|
45
|
-
throw new Error(`options.${name}: ${value} not a valid int value`);
|
|
46
|
-
}
|
|
47
|
-
return undefined;
|
|
48
|
-
}
|
|
49
|
-
class Verify extends _readableStream.default.Writable {
|
|
50
|
-
constructor(algorithm, options) {
|
|
51
|
-
super(options);
|
|
52
|
-
this.internal = createInternalVerify();
|
|
53
|
-
this.internal.init(algorithm);
|
|
54
|
-
}
|
|
55
|
-
_write(chunk, encoding, callback) {
|
|
56
|
-
this.update(chunk, encoding);
|
|
57
|
-
callback();
|
|
58
|
-
}
|
|
59
|
-
update(data, encoding) {
|
|
60
|
-
encoding = encoding ?? (0, _Utils.getDefaultEncoding)();
|
|
61
|
-
data = (0, _Utils.binaryLikeToArrayBuffer)(data, encoding);
|
|
62
|
-
this.internal.update(data);
|
|
63
|
-
return this;
|
|
64
|
-
}
|
|
65
|
-
verify(options, signature) {
|
|
66
|
-
if (!options) {
|
|
67
|
-
throw new Error('Crypto sign key required');
|
|
68
|
-
}
|
|
69
|
-
const {
|
|
70
|
-
data,
|
|
71
|
-
format,
|
|
72
|
-
type,
|
|
73
|
-
passphrase
|
|
74
|
-
} = (0, _keys.preparePublicOrPrivateKey)(options);
|
|
75
|
-
const rsaPadding = getPadding(options);
|
|
76
|
-
const pssSaltLength = getSaltLength(options);
|
|
77
|
-
|
|
78
|
-
// Options specific to (EC)DSA
|
|
79
|
-
const dsaSigEnc = getDSASignatureEncoding(options);
|
|
80
|
-
const ret = this.internal.verify(data, format, type, passphrase, (0, _Utils.binaryLikeToArrayBuffer)(signature), rsaPadding, pssSaltLength, dsaSigEnc);
|
|
81
|
-
return ret;
|
|
82
|
-
}
|
|
83
|
-
}
|
|
84
|
-
class Sign extends _readableStream.default.Writable {
|
|
85
|
-
constructor(algorithm, options) {
|
|
86
|
-
super(options);
|
|
87
|
-
this.internal = createInternalSign();
|
|
88
|
-
this.internal.init(algorithm);
|
|
89
|
-
}
|
|
90
|
-
_write(chunk, encoding, callback) {
|
|
91
|
-
this.update(chunk, encoding);
|
|
92
|
-
callback();
|
|
93
|
-
}
|
|
94
|
-
update(data, encoding) {
|
|
95
|
-
encoding = encoding ?? (0, _Utils.getDefaultEncoding)();
|
|
96
|
-
data = (0, _Utils.binaryLikeToArrayBuffer)(data, encoding);
|
|
97
|
-
this.internal.update(data);
|
|
98
|
-
return this;
|
|
99
|
-
}
|
|
100
|
-
sign(options, encoding) {
|
|
101
|
-
if (!options) {
|
|
102
|
-
throw new Error('Crypto sign key required');
|
|
103
|
-
}
|
|
104
|
-
const {
|
|
105
|
-
data,
|
|
106
|
-
format,
|
|
107
|
-
type,
|
|
108
|
-
passphrase
|
|
109
|
-
} = (0, _keys.preparePrivateKey)(options);
|
|
110
|
-
const rsaPadding = getPadding(options);
|
|
111
|
-
const pssSaltLength = getSaltLength(options);
|
|
112
|
-
|
|
113
|
-
// Options specific to (EC)DSA
|
|
114
|
-
const dsaSigEnc = getDSASignatureEncoding(options);
|
|
115
|
-
const ret = this.internal.sign(data, format, type, passphrase, rsaPadding, pssSaltLength, dsaSigEnc);
|
|
116
|
-
encoding = encoding || (0, _Utils.getDefaultEncoding)();
|
|
117
|
-
if (encoding && encoding !== 'buffer') {
|
|
118
|
-
return Buffer.from(ret).toString(encoding);
|
|
119
|
-
}
|
|
120
|
-
return Buffer.from(ret);
|
|
121
|
-
}
|
|
122
|
-
}
|
|
123
|
-
function createSign(algorithm, options) {
|
|
124
|
-
return new Sign(algorithm, options);
|
|
125
|
-
}
|
|
126
|
-
function createVerify(algorithm, options) {
|
|
127
|
-
return new Verify(algorithm, options);
|
|
128
|
-
}
|
|
129
|
-
//# sourceMappingURL=sig.js.map
|
package/lib/commonjs/sig.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["_NativeQuickCrypto","require","_readableStream","_interopRequireDefault","_Utils","_keys","obj","__esModule","default","DSASigEnc","createInternalSign","NativeQuickCrypto","createSign","createInternalVerify","createVerify","getPadding","options","getIntOption","getSaltLength","getDSASignatureEncoding","dsaEncoding","kSigEncDER","kSigEncP1363","Error","name","value","undefined","Verify","Stream","Writable","constructor","algorithm","internal","init","_write","chunk","encoding","callback","update","data","getDefaultEncoding","binaryLikeToArrayBuffer","verify","signature","format","type","passphrase","preparePublicOrPrivateKey","rsaPadding","pssSaltLength","dsaSigEnc","ret","Sign","sign","preparePrivateKey","Buffer","from","toString"],"sourceRoot":"../../src","sources":["sig.ts"],"mappings":"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","ignoreList":[]}
|