react-native-quick-crypto 0.7.2 → 0.7.4
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/README.md +13 -46
- package/cpp/Cipher/MGLPublicCipher.h +5 -1
- package/cpp/Cipher/MGLPublicCipherInstaller.h +1 -1
- package/cpp/MGLQuickCryptoHostObject.cpp +8 -5
- package/lib/commonjs/Cipher.js +113 -111
- package/lib/commonjs/Cipher.js.map +1 -1
- package/lib/commonjs/Hash.js +8 -5
- package/lib/commonjs/Hash.js.map +1 -1
- package/lib/commonjs/Hashnames.js +4 -1
- package/lib/commonjs/Hashnames.js.map +1 -1
- package/lib/commonjs/Hmac.js +5 -3
- package/lib/commonjs/Hmac.js.map +1 -1
- package/lib/commonjs/NativeQuickCrypto/Cipher.js +7 -7
- package/lib/commonjs/NativeQuickCrypto/Cipher.js.map +1 -1
- package/lib/commonjs/NativeQuickCrypto/NativeQuickCrypto.js +11 -4
- package/lib/commonjs/NativeQuickCrypto/NativeQuickCrypto.js.map +1 -1
- package/lib/commonjs/NativeQuickCrypto/sig.js.map +1 -1
- package/lib/commonjs/Utils.js +98 -63
- package/lib/commonjs/Utils.js.map +1 -1
- package/lib/commonjs/aes.js +9 -8
- package/lib/commonjs/aes.js.map +1 -1
- package/lib/commonjs/ec.js +2 -3
- package/lib/commonjs/ec.js.map +1 -1
- package/lib/commonjs/index.js +1 -1
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/keygen.js +4 -2
- package/lib/commonjs/keygen.js.map +1 -1
- package/lib/commonjs/keys.js +7 -2
- package/lib/commonjs/keys.js.map +1 -1
- package/lib/commonjs/package.json +1 -0
- package/lib/commonjs/pbkdf2.js +13 -21
- package/lib/commonjs/pbkdf2.js.map +1 -1
- package/lib/commonjs/random.js +6 -8
- package/lib/commonjs/random.js.map +1 -1
- package/lib/commonjs/rsa.js.map +1 -1
- package/lib/commonjs/sig.js +1 -2
- package/lib/commonjs/sig.js.map +1 -1
- package/lib/commonjs/subtle.js +4 -3
- package/lib/commonjs/subtle.js.map +1 -1
- package/lib/module/Cipher.js +114 -110
- package/lib/module/Cipher.js.map +1 -1
- package/lib/module/Hash.js +9 -4
- package/lib/module/Hash.js.map +1 -1
- package/lib/module/Hashnames.js +6 -1
- package/lib/module/Hashnames.js.map +1 -1
- package/lib/module/Hmac.js +6 -2
- package/lib/module/Hmac.js.map +1 -1
- package/lib/module/NativeQuickCrypto/Cipher.js +9 -7
- package/lib/module/NativeQuickCrypto/Cipher.js.map +1 -1
- package/lib/module/NativeQuickCrypto/NativeQuickCrypto.js +13 -4
- package/lib/module/NativeQuickCrypto/NativeQuickCrypto.js.map +1 -1
- package/lib/module/NativeQuickCrypto/aes.js +2 -0
- package/lib/module/NativeQuickCrypto/hash.js +1 -1
- package/lib/module/NativeQuickCrypto/hmac.js +1 -1
- package/lib/module/NativeQuickCrypto/keygen.js +2 -0
- package/lib/module/NativeQuickCrypto/pbkdf2.js +1 -1
- package/lib/module/NativeQuickCrypto/random.js +1 -1
- package/lib/module/NativeQuickCrypto/rsa.js +2 -0
- package/lib/module/NativeQuickCrypto/sig.js +2 -0
- package/lib/module/NativeQuickCrypto/sig.js.map +1 -1
- package/lib/module/NativeQuickCrypto/webcrypto.js +2 -0
- package/lib/module/Utils.js +97 -62
- package/lib/module/Utils.js.map +1 -1
- package/lib/module/aes.js +11 -8
- package/lib/module/aes.js.map +1 -1
- package/lib/module/constants.js +2 -0
- package/lib/module/constants.js.map +1 -1
- package/lib/module/ec.js +4 -3
- package/lib/module/ec.js.map +1 -1
- package/lib/module/index.js +2 -0
- package/lib/module/index.js.map +1 -1
- package/lib/module/keygen.js +6 -2
- package/lib/module/keygen.js.map +1 -1
- package/lib/module/keys.js +9 -2
- package/lib/module/keys.js.map +1 -1
- package/lib/module/package.json +1 -0
- package/lib/module/pbkdf2.js +15 -21
- package/lib/module/pbkdf2.js.map +1 -1
- package/lib/module/random.js +8 -8
- package/lib/module/random.js.map +1 -1
- package/lib/module/rsa.js +2 -0
- package/lib/module/rsa.js.map +1 -1
- package/lib/module/sig.js +2 -1
- package/lib/module/sig.js.map +1 -1
- package/lib/module/subtle.js +6 -3
- package/lib/module/subtle.js.map +1 -1
- package/lib/module/webcrypto.js +2 -0
- package/lib/module/webcrypto.js.map +1 -1
- package/lib/typescript/{Cipher.d.ts → src/Cipher.d.ts} +37 -33
- package/lib/typescript/src/Cipher.d.ts.map +1 -0
- package/lib/typescript/src/Hash.d.ts.map +1 -0
- package/lib/typescript/src/Hashnames.d.ts.map +1 -0
- package/lib/typescript/src/Hmac.d.ts.map +1 -0
- package/lib/typescript/{NativeQuickCrypto → src/NativeQuickCrypto}/Cipher.d.ts +5 -5
- package/lib/typescript/src/NativeQuickCrypto/Cipher.d.ts.map +1 -0
- package/lib/typescript/{NativeQuickCrypto → src/NativeQuickCrypto}/NativeQuickCrypto.d.ts +1 -1
- package/lib/typescript/src/NativeQuickCrypto/NativeQuickCrypto.d.ts.map +1 -0
- package/lib/typescript/src/NativeQuickCrypto/aes.d.ts.map +1 -0
- package/lib/typescript/src/NativeQuickCrypto/hash.d.ts.map +1 -0
- package/lib/typescript/src/NativeQuickCrypto/hmac.d.ts.map +1 -0
- package/lib/typescript/src/NativeQuickCrypto/keygen.d.ts.map +1 -0
- package/lib/typescript/src/NativeQuickCrypto/pbkdf2.d.ts.map +1 -0
- package/lib/typescript/src/NativeQuickCrypto/random.d.ts.map +1 -0
- package/lib/typescript/src/NativeQuickCrypto/rsa.d.ts.map +1 -0
- package/lib/typescript/src/NativeQuickCrypto/sig.d.ts.map +1 -0
- package/lib/typescript/{NativeQuickCrypto → src/NativeQuickCrypto}/webcrypto.d.ts +1 -1
- package/lib/typescript/src/NativeQuickCrypto/webcrypto.d.ts.map +1 -0
- package/lib/typescript/{Utils.d.ts → src/Utils.d.ts} +18 -8
- package/lib/typescript/src/Utils.d.ts.map +1 -0
- package/lib/typescript/src/aes.d.ts.map +1 -0
- package/lib/typescript/src/constants.d.ts.map +1 -0
- package/lib/typescript/src/ec.d.ts.map +1 -0
- package/lib/typescript/{index.d.ts → src/index.d.ts} +5 -30
- package/lib/typescript/src/index.d.ts.map +1 -0
- package/lib/typescript/src/keygen.d.ts.map +1 -0
- package/lib/typescript/{keys.d.ts → src/keys.d.ts} +27 -25
- package/lib/typescript/src/keys.d.ts.map +1 -0
- package/lib/typescript/{pbkdf2.d.ts → src/pbkdf2.d.ts} +3 -4
- package/lib/typescript/src/pbkdf2.d.ts.map +1 -0
- package/lib/typescript/{random.d.ts → src/random.d.ts} +5 -5
- package/lib/typescript/src/random.d.ts.map +1 -0
- package/lib/typescript/src/rsa.d.ts.map +1 -0
- package/lib/typescript/{sig.d.ts → src/sig.d.ts} +5 -5
- package/lib/typescript/src/sig.d.ts.map +1 -0
- package/lib/typescript/src/subtle.d.ts.map +1 -0
- package/lib/typescript/src/webcrypto.d.ts.map +1 -0
- package/package.json +23 -46
- package/src/Cipher.ts +270 -212
- package/src/Hash.ts +14 -7
- package/src/Hashnames.ts +5 -2
- package/src/Hmac.ts +6 -5
- package/src/NativeQuickCrypto/Cipher.ts +21 -20
- package/src/NativeQuickCrypto/NativeQuickCrypto.ts +15 -11
- package/src/NativeQuickCrypto/aes.ts +1 -1
- package/src/NativeQuickCrypto/hash.ts +1 -1
- package/src/NativeQuickCrypto/hmac.ts +1 -1
- package/src/NativeQuickCrypto/keygen.ts +1 -1
- package/src/NativeQuickCrypto/pbkdf2.ts +2 -2
- package/src/NativeQuickCrypto/random.ts +2 -2
- package/src/NativeQuickCrypto/rsa.ts +1 -1
- package/src/NativeQuickCrypto/sig.ts +3 -1
- package/src/NativeQuickCrypto/webcrypto.ts +5 -5
- package/src/Utils.ts +175 -108
- package/src/aes.ts +29 -29
- package/src/ec.ts +18 -19
- package/src/keygen.ts +7 -7
- package/src/keys.ts +71 -65
- package/src/pbkdf2.ts +24 -48
- package/src/random.ts +37 -43
- package/src/rsa.ts +25 -23
- package/src/sig.ts +12 -13
- package/src/subtle.ts +50 -45
- package/ios/QuickCrypto.xcodeproj/project.xcworkspace/contents.xcworkspacedata +0 -7
- package/ios/QuickCrypto.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +0 -8
- package/ios/QuickCrypto.xcodeproj/project.xcworkspace/xcuserdata/brad.xcuserdatad/UserInterfaceState.xcuserstate +0 -0
- package/ios/QuickCrypto.xcodeproj/xcuserdata/brad.xcuserdatad/xcschemes/xcschememanagement.plist +0 -14
- package/lib/typescript/Cipher.d.ts.map +0 -1
- package/lib/typescript/Hash.d.ts.map +0 -1
- package/lib/typescript/Hashnames.d.ts.map +0 -1
- package/lib/typescript/Hmac.d.ts.map +0 -1
- package/lib/typescript/NativeQuickCrypto/Cipher.d.ts.map +0 -1
- package/lib/typescript/NativeQuickCrypto/NativeQuickCrypto.d.ts.map +0 -1
- package/lib/typescript/NativeQuickCrypto/aes.d.ts.map +0 -1
- package/lib/typescript/NativeQuickCrypto/hash.d.ts.map +0 -1
- package/lib/typescript/NativeQuickCrypto/hmac.d.ts.map +0 -1
- package/lib/typescript/NativeQuickCrypto/keygen.d.ts.map +0 -1
- package/lib/typescript/NativeQuickCrypto/pbkdf2.d.ts.map +0 -1
- package/lib/typescript/NativeQuickCrypto/random.d.ts.map +0 -1
- package/lib/typescript/NativeQuickCrypto/rsa.d.ts.map +0 -1
- package/lib/typescript/NativeQuickCrypto/sig.d.ts.map +0 -1
- package/lib/typescript/NativeQuickCrypto/webcrypto.d.ts.map +0 -1
- package/lib/typescript/Utils.d.ts.map +0 -1
- package/lib/typescript/aes.d.ts.map +0 -1
- package/lib/typescript/constants.d.ts.map +0 -1
- package/lib/typescript/ec.d.ts.map +0 -1
- package/lib/typescript/index.d.ts.map +0 -1
- package/lib/typescript/keygen.d.ts.map +0 -1
- package/lib/typescript/keys.d.ts.map +0 -1
- package/lib/typescript/pbkdf2.d.ts.map +0 -1
- package/lib/typescript/random.d.ts.map +0 -1
- package/lib/typescript/rsa.d.ts.map +0 -1
- package/lib/typescript/sig.d.ts.map +0 -1
- package/lib/typescript/subtle.d.ts.map +0 -1
- package/lib/typescript/webcrypto.d.ts.map +0 -1
- /package/lib/typescript/{Hash.d.ts → src/Hash.d.ts} +0 -0
- /package/lib/typescript/{Hashnames.d.ts → src/Hashnames.d.ts} +0 -0
- /package/lib/typescript/{Hmac.d.ts → src/Hmac.d.ts} +0 -0
- /package/lib/typescript/{NativeQuickCrypto → src/NativeQuickCrypto}/aes.d.ts +0 -0
- /package/lib/typescript/{NativeQuickCrypto → src/NativeQuickCrypto}/hash.d.ts +0 -0
- /package/lib/typescript/{NativeQuickCrypto → src/NativeQuickCrypto}/hmac.d.ts +0 -0
- /package/lib/typescript/{NativeQuickCrypto → src/NativeQuickCrypto}/keygen.d.ts +0 -0
- /package/lib/typescript/{NativeQuickCrypto → src/NativeQuickCrypto}/pbkdf2.d.ts +0 -0
- /package/lib/typescript/{NativeQuickCrypto → src/NativeQuickCrypto}/random.d.ts +0 -0
- /package/lib/typescript/{NativeQuickCrypto → src/NativeQuickCrypto}/rsa.d.ts +0 -0
- /package/lib/typescript/{NativeQuickCrypto → src/NativeQuickCrypto}/sig.d.ts +0 -0
- /package/lib/typescript/{aes.d.ts → src/aes.d.ts} +0 -0
- /package/lib/typescript/{constants.d.ts → src/constants.d.ts} +0 -0
- /package/lib/typescript/{ec.d.ts → src/ec.d.ts} +0 -0
- /package/lib/typescript/{keygen.d.ts → src/keygen.d.ts} +0 -0
- /package/lib/typescript/{rsa.d.ts → src/rsa.d.ts} +0 -0
- /package/lib/typescript/{subtle.d.ts → src/subtle.d.ts} +0 -0
- /package/lib/typescript/{webcrypto.d.ts → src/webcrypto.d.ts} +0 -0
|
@@ -19,12 +19,12 @@ const KeyVariantLookup = exports.KeyVariantLookup = {
|
|
|
19
19
|
'RSASSA-PKCS1-v1_5': KeyVariant.RSA_SSA_PKCS1_v1_5,
|
|
20
20
|
'RSA-PSS': KeyVariant.RSA_PSS,
|
|
21
21
|
'RSA-OAEP': KeyVariant.RSA_OAEP,
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
22
|
+
ECDSA: KeyVariant.DSA,
|
|
23
|
+
ECDH: KeyVariant.EC,
|
|
24
|
+
Ed25519: KeyVariant.NID,
|
|
25
|
+
Ed448: KeyVariant.NID,
|
|
26
|
+
X25519: KeyVariant.NID,
|
|
27
|
+
X448: KeyVariant.NID,
|
|
28
|
+
DH: KeyVariant.DH
|
|
29
29
|
};
|
|
30
30
|
//# sourceMappingURL=Cipher.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["KeyVariant","exports","KeyVariantLookup","RSA_SSA_PKCS1_v1_5","RSA_PSS","RSA_OAEP","DSA","EC","NID","DH"],"sourceRoot":"../../../src","sources":["NativeQuickCrypto/Cipher.ts"],"mappings":";;;;;;
|
|
1
|
+
{"version":3,"names":["KeyVariant","exports","KeyVariantLookup","RSA_SSA_PKCS1_v1_5","RSA_PSS","RSA_OAEP","ECDSA","DSA","ECDH","EC","Ed25519","NID","Ed448","X25519","X448","DH"],"sourceRoot":"../../../src","sources":["NativeQuickCrypto/Cipher.ts"],"mappings":";;;;;;AAWA;AAAA,IACYA,UAAU,GAAAC,OAAA,CAAAD,UAAA,0BAAVA,UAAU;EAAVA,UAAU,CAAVA,UAAU;EAAVA,UAAU,CAAVA,UAAU;EAAVA,UAAU,CAAVA,UAAU;EAAVA,UAAU,CAAVA,UAAU;EAAVA,UAAU,CAAVA,UAAU;EAAVA,UAAU,CAAVA,UAAU;EAAVA,UAAU,CAAVA,UAAU;EAAA,OAAVA,UAAU;AAAA;AAUf,MAAME,gBAA4C,GAAAD,OAAA,CAAAC,gBAAA,GAAG;EAC1D,mBAAmB,EAAEF,UAAU,CAACG,kBAAkB;EAClD,SAAS,EAAEH,UAAU,CAACI,OAAO;EAC7B,UAAU,EAAEJ,UAAU,CAACK,QAAQ;EAC/BC,KAAK,EAAEN,UAAU,CAACO,GAAG;EACrBC,IAAI,EAAER,UAAU,CAACS,EAAE;EACnBC,OAAO,EAAEV,UAAU,CAACW,GAAG;EACvBC,KAAK,EAAEZ,UAAU,CAACW,GAAG;EACrBE,MAAM,EAAEb,UAAU,CAACW,GAAG;EACtBG,IAAI,EAAEd,UAAU,CAACW,GAAG;EACpBI,EAAE,EAAEf,UAAU,CAACe;AACjB,CAAC","ignoreList":[]}
|
|
@@ -8,6 +8,7 @@ var _reactNative = require("react-native");
|
|
|
8
8
|
// global func declaration for JSI functions
|
|
9
9
|
|
|
10
10
|
// Check if the constructor exists. If not, try installing the JSI bindings.
|
|
11
|
+
// @ts-expect-error this may not exist on global object
|
|
11
12
|
if (global.__QuickCryptoProxy == null) {
|
|
12
13
|
// Get the native QuickCrypto ReactModule
|
|
13
14
|
const QuickCryptoModule = _reactNative.NativeModules.QuickCrypto;
|
|
@@ -35,18 +36,24 @@ if (global.__QuickCryptoProxy == null) {
|
|
|
35
36
|
throw new Error(message);
|
|
36
37
|
}
|
|
37
38
|
|
|
38
|
-
//
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
39
|
+
// see #333, commenting this may allow the library to work in new architecture
|
|
40
|
+
// // Check if we are running on-device (JSI)
|
|
41
|
+
// if (global.nativeCallSyncHook == null || QuickCryptoModule.install == null) {
|
|
42
|
+
// throw new Error(
|
|
43
|
+
// 'Failed to install react-native-quick-crypto: React Native is not running on-device. QuickCrypto can only be used when synchronous method invocations (JSI) are possible. If you are using a remote debugger (e.g. Chrome), switch to an on-device debugger (e.g. Flipper) instead.',
|
|
44
|
+
// );
|
|
45
|
+
// }
|
|
42
46
|
|
|
43
47
|
// Call the synchronous blocking install() function
|
|
44
48
|
const result = QuickCryptoModule.install();
|
|
45
49
|
if (result !== true) throw new Error(`Failed to install react-native-quick-crypto: The native QuickCrypto Module could not be installed! Looks like something went wrong when installing JSI bindings: ${result}`);
|
|
46
50
|
|
|
47
51
|
// Check again if the constructor now exists. If not, throw an error.
|
|
52
|
+
// @ts-expect-error this may not exist on global object
|
|
48
53
|
if (global.__QuickCryptoProxy == null) throw new Error('Failed to install react-native-quick-crypto, the native initializer function does not exist. Are you trying to use QuickCrypto from different JS Runtimes?');
|
|
49
54
|
}
|
|
55
|
+
|
|
56
|
+
// @ts-expect-error this may not exist on global object
|
|
50
57
|
const proxy = global.__QuickCryptoProxy;
|
|
51
58
|
const NativeQuickCrypto = exports.NativeQuickCrypto = proxy;
|
|
52
59
|
//# sourceMappingURL=NativeQuickCrypto.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_reactNative","require","global","__QuickCryptoProxy","QuickCryptoModule","NativeModules","QuickCrypto","message","Platform","OS","ExpoConstants","NativeUnimoduleProxy","modulesConstants","ExponentConstants","appOwnership","Error","
|
|
1
|
+
{"version":3,"names":["_reactNative","require","global","__QuickCryptoProxy","QuickCryptoModule","NativeModules","QuickCrypto","message","Platform","OS","ExpoConstants","NativeUnimoduleProxy","modulesConstants","ExponentConstants","appOwnership","Error","result","install","proxy","NativeQuickCrypto","exports"],"sourceRoot":"../../../src","sources":["NativeQuickCrypto/NativeQuickCrypto.ts"],"mappings":";;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AAuCA;;AAMA;AACA;AACA,IAAIC,MAAM,CAACC,kBAAkB,IAAI,IAAI,EAAE;EACrC;EACA,MAAMC,iBAAiB,GAAGC,0BAAa,CAACC,WAAW;EACnD,IAAIF,iBAAiB,IAAI,IAAI,EAAE;IAC7B,IAAIG,OAAO,GACT,kGAAkG;IACpGA,OAAO,IACL,2GAA2G;IAC7G,IAAIC,qBAAQ,CAACC,EAAE,KAAK,KAAK,IAAID,qBAAQ,CAACC,EAAE,KAAK,OAAO,EAAE;MACpDF,OAAO,IAAI,4DAA4D;IACzE;IACA,IAAIC,qBAAQ,CAACC,EAAE,KAAK,SAAS,EAAE;MAC7BF,OAAO,IAAI,iCAAiC;IAC9C;IACA;IACA,MAAMG,aAAa,GACjBL,0BAAa,CAACM,oBAAoB,EAAEC,gBAAgB,EAAEC,iBAAiB;IACzE,IAAIH,aAAa,IAAI,IAAI,EAAE;MACzB,IAAIA,aAAa,CAACI,YAAY,KAAK,MAAM,EAAE;QACzC;QACA,MAAM,IAAIC,KAAK,CACb,uHACF,CAAC;MACH,CAAC,MAAM;QACL;QACAR,OAAO,IAAI,wCAAwC;MACrD;IACF;IAEAA,OAAO,IAAI,oCAAoC;IAC/C,MAAM,IAAIQ,KAAK,CAACR,OAAO,CAAC;EAC1B;;EAEA;EACA;EACA;EACA;EACA;EACA;EACA;;EAEA;EACA,MAAMS,MAAM,GAAGZ,iBAAiB,CAACa,OAAO,CAAC,CAAC;EAC1C,IAAID,MAAM,KAAK,IAAI,EACjB,MAAM,IAAID,KAAK,CACb,oKAAoKC,MAAM,EAC5K,CAAC;;EAEH;EACA;EACA,IAAId,MAAM,CAACC,kBAAkB,IAAI,IAAI,EACnC,MAAM,IAAIY,KAAK,CACb,4JACF,CAAC;AACL;;AAEA;AACA,MAAMG,KAAK,GAAGhB,MAAM,CAACC,kBAAkB;AAChC,MAAMgB,iBAAiB,GAAAC,OAAA,CAAAD,iBAAA,GAAGD,KAA8B","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["DSASigEnc","exports","SignMode"],"sourceRoot":"../../../src","sources":["NativeQuickCrypto/sig.ts"],"mappings":";;;;;;AAAA;AAIA;AAAA,
|
|
1
|
+
{"version":3,"names":["DSASigEnc","exports","SignMode"],"sourceRoot":"../../../src","sources":["NativeQuickCrypto/sig.ts"],"mappings":";;;;;;AAAA;AAIA;AAAA,IAmBYA,SAAS,GAAAC,OAAA,CAAAD,SAAA,0BAATA,SAAS;EAATA,SAAS,CAATA,SAAS;EAATA,SAAS,CAATA,SAAS;EAAA,OAATA,SAAS;AAAA;AAAA,IAKTE,QAAQ,GAAAD,OAAA,CAAAC,QAAA,0BAARA,QAAQ;EAARA,QAAQ,CAARA,QAAQ;EAARA,QAAQ,CAARA,QAAQ;EAAA,OAARA,QAAQ;AAAA","ignoreList":[]}
|
package/lib/commonjs/Utils.js
CHANGED
|
@@ -26,10 +26,12 @@ var _exportNames = {
|
|
|
26
26
|
getUsagesUnion: true,
|
|
27
27
|
validateKeyOps: true,
|
|
28
28
|
bigIntArrayToUnsignedInt: true,
|
|
29
|
+
abvToArrayBuffer: true,
|
|
29
30
|
getHashes: true,
|
|
30
31
|
getCiphers: true
|
|
31
32
|
};
|
|
32
33
|
exports.ab2str = ab2str;
|
|
34
|
+
exports.abvToArrayBuffer = abvToArrayBuffer;
|
|
33
35
|
exports.bigIntArrayToUnsignedInt = void 0;
|
|
34
36
|
exports.binaryLikeToArrayBuffer = binaryLikeToArrayBuffer;
|
|
35
37
|
exports.bufferLikeToArrayBuffer = bufferLikeToArrayBuffer;
|
|
@@ -51,6 +53,7 @@ exports.validateObject = validateObject;
|
|
|
51
53
|
exports.validateString = validateString;
|
|
52
54
|
exports.validateUint32 = validateUint32;
|
|
53
55
|
var _reactNativeBuffer = require("@craftzdog/react-native-buffer");
|
|
56
|
+
var _safeBuffer = require("safe-buffer");
|
|
54
57
|
var _Hashnames = require("./Hashnames");
|
|
55
58
|
Object.keys(_Hashnames).forEach(function (key) {
|
|
56
59
|
if (key === "default" || key === "__esModule") return;
|
|
@@ -67,6 +70,9 @@ Object.keys(_Hashnames).forEach(function (key) {
|
|
|
67
70
|
|
|
68
71
|
// TODO(osp) should buffer be part of the Encoding type?
|
|
69
72
|
|
|
73
|
+
// These are for shortcomings in @types/node
|
|
74
|
+
// Here we use "*Type" instead of "*Types" like node does.
|
|
75
|
+
|
|
70
76
|
// Mimics node behavior for default global encoding
|
|
71
77
|
let defaultEncoding = 'buffer';
|
|
72
78
|
function setDefaultEncoding(encoding) {
|
|
@@ -149,22 +155,32 @@ const kEmptyObject = exports.kEmptyObject = Object.freeze(Object.create(null));
|
|
|
149
155
|
// }
|
|
150
156
|
|
|
151
157
|
function toArrayBuffer(buf) {
|
|
152
|
-
if (buf?.buffer?.slice) {
|
|
158
|
+
if (_reactNativeBuffer.Buffer.isBuffer(buf) && buf?.buffer?.slice) {
|
|
153
159
|
return buf.buffer.slice(buf.byteOffset, buf.byteOffset + buf.byteLength);
|
|
154
160
|
}
|
|
155
161
|
const ab = new ArrayBuffer(buf.length);
|
|
156
162
|
const view = new Uint8Array(ab);
|
|
157
163
|
for (let i = 0; i < buf.length; ++i) {
|
|
158
|
-
view[i] = buf[i];
|
|
164
|
+
view[i] = _safeBuffer.Buffer.isBuffer(buf) ? buf.readUInt8(i) : buf[i];
|
|
159
165
|
}
|
|
160
166
|
return ab;
|
|
161
167
|
}
|
|
162
168
|
function bufferLikeToArrayBuffer(buf) {
|
|
163
|
-
|
|
169
|
+
if (_reactNativeBuffer.Buffer.isBuffer(buf)) {
|
|
170
|
+
return buf.buffer;
|
|
171
|
+
}
|
|
172
|
+
if (_safeBuffer.Buffer.isBuffer(buf)) {
|
|
173
|
+
return toArrayBuffer(buf);
|
|
174
|
+
}
|
|
175
|
+
if (ArrayBuffer.isView(buf)) {
|
|
176
|
+
return buf.buffer;
|
|
177
|
+
}
|
|
178
|
+
return buf;
|
|
164
179
|
}
|
|
165
180
|
function binaryLikeToArrayBuffer(input,
|
|
166
181
|
// CipherKey adds compat with node types
|
|
167
182
|
encoding = 'utf-8') {
|
|
183
|
+
// string
|
|
168
184
|
if (typeof input === 'string') {
|
|
169
185
|
if (encoding === 'buffer') {
|
|
170
186
|
throw new Error('Cannot create a buffer from a string with a buffer encoding');
|
|
@@ -172,28 +188,41 @@ encoding = 'utf-8') {
|
|
|
172
188
|
const buffer = _reactNativeBuffer.Buffer.from(input, encoding);
|
|
173
189
|
return buffer.buffer.slice(buffer.byteOffset, buffer.byteOffset + buffer.byteLength);
|
|
174
190
|
}
|
|
191
|
+
|
|
192
|
+
// Buffer
|
|
175
193
|
if (_reactNativeBuffer.Buffer.isBuffer(input)) {
|
|
176
194
|
return toArrayBuffer(input);
|
|
177
195
|
}
|
|
178
196
|
|
|
197
|
+
// ArrayBufferView
|
|
179
198
|
// TODO add further binary types to BinaryLike, UInt8Array and so for have this array as property
|
|
180
199
|
if (ArrayBuffer.isView(input)) {
|
|
181
200
|
return input.buffer;
|
|
182
201
|
}
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
const buffer = _reactNativeBuffer.Buffer.from(input);
|
|
188
|
-
return buffer.buffer.slice(buffer.byteOffset, buffer.byteOffset + buffer.byteLength);
|
|
189
|
-
} catch {
|
|
190
|
-
throw 'error';
|
|
191
|
-
}
|
|
202
|
+
|
|
203
|
+
// ArrayBuffer
|
|
204
|
+
if (input instanceof ArrayBuffer) {
|
|
205
|
+
return input;
|
|
192
206
|
}
|
|
193
207
|
|
|
208
|
+
// if (!(input instanceof ArrayBuffer)) {
|
|
209
|
+
// try {
|
|
210
|
+
// // this is a strange fallback case and input is unknown at this point
|
|
211
|
+
// const buffer = Buffer.from(input as unknown as string);
|
|
212
|
+
// return buffer.buffer.slice(
|
|
213
|
+
// buffer.byteOffset,
|
|
214
|
+
// buffer.byteOffset + buffer.byteLength
|
|
215
|
+
// );
|
|
216
|
+
// } catch(e: unknown) {
|
|
217
|
+
// console.log('throwing 1');
|
|
218
|
+
// const err = e as Error;
|
|
219
|
+
// throw new Error(err.message);
|
|
220
|
+
// }
|
|
221
|
+
// }
|
|
222
|
+
|
|
194
223
|
// TODO: handle if input is KeyObject?
|
|
195
224
|
|
|
196
|
-
|
|
225
|
+
throw new Error('input could not be converted to ArrayBuffer');
|
|
197
226
|
}
|
|
198
227
|
function ab2str(buf, encoding = 'hex') {
|
|
199
228
|
return _reactNativeBuffer.Buffer.from(buf).toString(encoding);
|
|
@@ -221,7 +250,9 @@ function validateObject(value, name, options) {
|
|
|
221
250
|
}
|
|
222
251
|
return true;
|
|
223
252
|
}
|
|
224
|
-
function validateInt32(
|
|
253
|
+
function validateInt32(
|
|
254
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
255
|
+
value, name, min = -2147483648, max = 2147483647) {
|
|
225
256
|
// The defaults for min and max correspond to the limits of 32-bit integers.
|
|
226
257
|
if (typeof value !== 'number') {
|
|
227
258
|
throw new Error(`Invalid argument - ${name} is not a number: ${value}`);
|
|
@@ -285,76 +316,76 @@ const kMaxBufferLength = 2 ** 31 - 1;
|
|
|
285
316
|
// const kHashTypes = ['SHA-1', 'SHA-256', 'SHA-384', 'SHA-512'];
|
|
286
317
|
|
|
287
318
|
const kSupportedAlgorithms = {
|
|
288
|
-
|
|
319
|
+
digest: {
|
|
289
320
|
'SHA-1': null,
|
|
290
321
|
'SHA-256': null,
|
|
291
322
|
'SHA-384': null,
|
|
292
323
|
'SHA-512': null
|
|
293
324
|
},
|
|
294
|
-
|
|
325
|
+
generateKey: {
|
|
295
326
|
'RSASSA-PKCS1-v1_5': 'RsaHashedKeyGenParams',
|
|
296
327
|
'RSA-PSS': 'RsaHashedKeyGenParams',
|
|
297
328
|
'RSA-OAEP': 'RsaHashedKeyGenParams',
|
|
298
|
-
|
|
299
|
-
|
|
329
|
+
ECDSA: 'EcKeyGenParams',
|
|
330
|
+
ECDH: 'EcKeyGenParams',
|
|
300
331
|
'AES-CTR': 'AesKeyGenParams',
|
|
301
332
|
'AES-CBC': 'AesKeyGenParams',
|
|
302
333
|
'AES-GCM': 'AesKeyGenParams',
|
|
303
334
|
'AES-KW': 'AesKeyGenParams',
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
335
|
+
HMAC: 'HmacKeyGenParams',
|
|
336
|
+
X25519: null,
|
|
337
|
+
Ed25519: null,
|
|
338
|
+
X448: null,
|
|
339
|
+
Ed448: null
|
|
309
340
|
},
|
|
310
|
-
|
|
341
|
+
sign: {
|
|
311
342
|
'RSASSA-PKCS1-v1_5': null,
|
|
312
343
|
'RSA-PSS': 'RsaPssParams',
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
344
|
+
ECDSA: 'EcdsaParams',
|
|
345
|
+
HMAC: null,
|
|
346
|
+
Ed25519: null,
|
|
347
|
+
Ed448: 'Ed448Params'
|
|
317
348
|
},
|
|
318
|
-
|
|
349
|
+
verify: {
|
|
319
350
|
'RSASSA-PKCS1-v1_5': null,
|
|
320
351
|
'RSA-PSS': 'RsaPssParams',
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
352
|
+
ECDSA: 'EcdsaParams',
|
|
353
|
+
HMAC: null,
|
|
354
|
+
Ed25519: null,
|
|
355
|
+
Ed448: 'Ed448Params'
|
|
325
356
|
},
|
|
326
|
-
|
|
357
|
+
importKey: {
|
|
327
358
|
'RSASSA-PKCS1-v1_5': 'RsaHashedImportParams',
|
|
328
359
|
'RSA-PSS': 'RsaHashedImportParams',
|
|
329
360
|
'RSA-OAEP': 'RsaHashedImportParams',
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
361
|
+
ECDSA: 'EcKeyImportParams',
|
|
362
|
+
ECDH: 'EcKeyImportParams',
|
|
363
|
+
HMAC: 'HmacImportParams',
|
|
364
|
+
HKDF: null,
|
|
365
|
+
PBKDF2: null,
|
|
335
366
|
'AES-CTR': null,
|
|
336
367
|
'AES-CBC': null,
|
|
337
368
|
'AES-GCM': null,
|
|
338
369
|
'AES-KW': null,
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
370
|
+
Ed25519: null,
|
|
371
|
+
X25519: null,
|
|
372
|
+
Ed448: null,
|
|
373
|
+
X448: null
|
|
343
374
|
},
|
|
344
|
-
|
|
375
|
+
deriveBits: {
|
|
345
376
|
HKDF: 'HkdfParams',
|
|
346
377
|
PBKDF2: 'Pbkdf2Params',
|
|
347
378
|
ECDH: 'EcdhKeyDeriveParams',
|
|
348
379
|
X25519: 'EcdhKeyDeriveParams',
|
|
349
380
|
X448: 'EcdhKeyDeriveParams'
|
|
350
381
|
},
|
|
351
|
-
|
|
382
|
+
encrypt: {
|
|
352
383
|
'RSA-OAEP': 'RsaOaepParams',
|
|
353
384
|
'AES-CBC': 'AesCbcParams',
|
|
354
385
|
'AES-GCM': 'AesGcmParams',
|
|
355
386
|
'AES-CTR': 'AesCtrParams'
|
|
356
387
|
},
|
|
357
|
-
|
|
388
|
+
decrypt: {
|
|
358
389
|
'RSA-OAEP': 'RsaOaepParams',
|
|
359
390
|
'AES-CBC': 'AesCbcParams',
|
|
360
391
|
'AES-GCM': 'AesGcmParams',
|
|
@@ -365,14 +396,14 @@ const kSupportedAlgorithms = {
|
|
|
365
396
|
'AES-CTR': 'AesDerivedKeyParams',
|
|
366
397
|
'AES-GCM': 'AesDerivedKeyParams',
|
|
367
398
|
'AES-KW': 'AesDerivedKeyParams',
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
399
|
+
HMAC: 'HmacImportParams',
|
|
400
|
+
HKDF: null,
|
|
401
|
+
PBKDF2: null
|
|
371
402
|
},
|
|
372
|
-
|
|
403
|
+
wrapKey: {
|
|
373
404
|
'AES-KW': null
|
|
374
405
|
},
|
|
375
|
-
|
|
406
|
+
unwrapKey: {
|
|
376
407
|
'AES-KW': null
|
|
377
408
|
}
|
|
378
409
|
};
|
|
@@ -416,7 +447,7 @@ const simpleAlgorithmDictionaries = {
|
|
|
416
447
|
EcKeyImportParams: {}
|
|
417
448
|
};
|
|
418
449
|
const validateMaxBufferLength = (data, name) => {
|
|
419
|
-
const length = typeof data === 'string' ? data.length : data.byteLength;
|
|
450
|
+
const length = typeof data === 'string' || data instanceof _safeBuffer.Buffer ? data.length : data.byteLength;
|
|
420
451
|
if (length > kMaxBufferLength) {
|
|
421
452
|
throw lazyDOMException(`${name} must be less than ${kMaxBufferLength + 1} bits`, 'OperationError');
|
|
422
453
|
}
|
|
@@ -444,20 +475,18 @@ const normalizeAlgorithm = (algorithm, op) => {
|
|
|
444
475
|
|
|
445
476
|
// 4.
|
|
446
477
|
let algName = algorithm.name;
|
|
447
|
-
// @ts-expect-error
|
|
448
478
|
if (algName === undefined) return {
|
|
449
|
-
name:
|
|
479
|
+
name: 'unknown'
|
|
450
480
|
};
|
|
451
481
|
|
|
452
482
|
// 5.
|
|
453
483
|
let desiredType;
|
|
454
484
|
for (const key in registeredAlgorithms) {
|
|
455
|
-
if (!
|
|
485
|
+
if (!Object.prototype.hasOwnProperty.call(registeredAlgorithms, key)) {
|
|
456
486
|
continue;
|
|
457
487
|
}
|
|
458
488
|
if (key.toUpperCase() === algName.toUpperCase()) {
|
|
459
489
|
algName = key;
|
|
460
|
-
// @ts-ignore
|
|
461
490
|
desiredType = registeredAlgorithms[algName];
|
|
462
491
|
}
|
|
463
492
|
}
|
|
@@ -484,7 +513,7 @@ const normalizeAlgorithm = (algorithm, op) => {
|
|
|
484
513
|
const dictKeys = dict ? Object.keys(dict) : [];
|
|
485
514
|
for (let i = 0; i < dictKeys.length; i++) {
|
|
486
515
|
const member = dictKeys[i] || '';
|
|
487
|
-
if (!
|
|
516
|
+
if (!Object.prototype.hasOwnProperty.call(dict, member)) continue;
|
|
488
517
|
// TODO: implement this? Maybe via typescript?
|
|
489
518
|
// const idlType = dict[member];
|
|
490
519
|
// const idlValue = normalizedAlgorithm[member];
|
|
@@ -521,7 +550,7 @@ const validateBitLength = (length, name, required = false) => {
|
|
|
521
550
|
};
|
|
522
551
|
exports.validateBitLength = validateBitLength;
|
|
523
552
|
const validateByteLength = (buf, name, target) => {
|
|
524
|
-
if (buf.byteLength !== target) {
|
|
553
|
+
if (_safeBuffer.Buffer.isBuffer(buf) && buf.length !== target || buf.byteLength !== target) {
|
|
525
554
|
throw lazyDOMException(`${name} must contain exactly ${target} bytes`, 'OperationError');
|
|
526
555
|
}
|
|
527
556
|
};
|
|
@@ -557,9 +586,7 @@ const validateKeyOps = (keyOps, usagesSet) => {
|
|
|
557
586
|
// Skipping unknown key ops
|
|
558
587
|
if (op_flag === undefined) continue;
|
|
559
588
|
// Have we seen it already? if so, error
|
|
560
|
-
// eslint-disable-next-line no-bitwise
|
|
561
589
|
if (flags & 1 << op_flag) throw lazyDOMException('Duplicate key operation', 'DataError');
|
|
562
|
-
// eslint-disable-next-line no-bitwise
|
|
563
590
|
flags |= 1 << op_flag;
|
|
564
591
|
|
|
565
592
|
// TODO(@jasnell): RFC7517 section 4.3 strong recommends validating
|
|
@@ -588,16 +615,24 @@ const bigIntArrayToUnsignedInt = input => {
|
|
|
588
615
|
for (let n = 0; n < input.length; ++n) {
|
|
589
616
|
const n_reversed = input.length - n - 1;
|
|
590
617
|
if (n_reversed >= 4 && input[n]) return; // Too large
|
|
591
|
-
// @ts-
|
|
592
|
-
// eslint-disable-next-line no-bitwise
|
|
618
|
+
// @ts-expect-error - input[n] is possibly undefined
|
|
593
619
|
result |= input[n] << 8 * n_reversed;
|
|
594
620
|
}
|
|
595
621
|
return result;
|
|
596
622
|
};
|
|
623
|
+
exports.bigIntArrayToUnsignedInt = bigIntArrayToUnsignedInt;
|
|
624
|
+
function abvToArrayBuffer(buffer) {
|
|
625
|
+
if (_reactNativeBuffer.Buffer.isBuffer(buffer)) {
|
|
626
|
+
return buffer.buffer;
|
|
627
|
+
}
|
|
628
|
+
if (ArrayBuffer.isView(buffer)) {
|
|
629
|
+
return buffer.buffer;
|
|
630
|
+
}
|
|
631
|
+
return buffer;
|
|
632
|
+
}
|
|
597
633
|
|
|
598
634
|
// TODO: these used to be shipped by crypto-browserify in quickcrypto v0.6
|
|
599
635
|
// could instead fetch from OpenSSL if needed and handle breaking changes
|
|
600
|
-
exports.bigIntArrayToUnsignedInt = bigIntArrayToUnsignedInt;
|
|
601
636
|
const getHashes = () => ['sha1', 'sha224', 'sha256', 'sha384', 'sha512', 'md5', 'rmd160', 'sha224WithRSAEncryption', 'RSA-SHA224', 'sha256WithRSAEncryption', 'RSA-SHA256', 'sha384WithRSAEncryption', 'RSA-SHA384', 'sha512WithRSAEncryption', 'RSA-SHA512', 'RSA-SHA1', 'ecdsa-with-SHA1', 'sha256', 'sha224', 'sha384', 'sha512', 'DSA-SHA', 'DSA-SHA1', 'DSA', 'DSA-WITH-SHA224', 'DSA-SHA224', 'DSA-WITH-SHA256', 'DSA-SHA256', 'DSA-WITH-SHA384', 'DSA-SHA384', 'DSA-WITH-SHA512', 'DSA-SHA512', 'DSA-RIPEMD160', 'ripemd160WithRSA', 'RSA-RIPEMD160', 'md5WithRSAEncryption', 'RSA-MD5'];
|
|
602
637
|
|
|
603
638
|
// TODO: these used to be shipped by crypto-browserify in quickcrypto v0.6
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_reactNativeBuffer","require","_Hashnames","Object","keys","forEach","key","prototype","hasOwnProperty","call","_exportNames","exports","defineProperty","enumerable","get","defaultEncoding","setDefaultEncoding","encoding","getDefaultEncoding","kEmptyObject","freeze","create","toArrayBuffer","buf","buffer","slice","byteOffset","byteLength","ab","ArrayBuffer","length","view","Uint8Array","i","bufferLikeToArrayBuffer","Buffer","isBuffer","isView","binaryLikeToArrayBuffer","input","Error","from","ab2str","toString","validateString","str","name","isString","validateFunction","f","isStringOrBuffer","val","validateObject","value","options","useDefaultOptions","allowArray","allowFunction","nullable","Array","isArray","validateInt32","min","max","Number","isInteger","validateUint32","positive","hasAnyNotIn","set","checks","s","includes","lazyDOMException","message","domName","cause","kMaxBufferLength","kSupportedAlgorithms","HKDF","PBKDF2","ECDH","X25519","X448","simpleAlgorithmDictionaries","AesGcmParams","iv","additionalData","RsaHashedKeyGenParams","hash","EcKeyGenParams","HmacKeyGenParams","RsaPssParams","EcdsaParams","HmacImportParams","HkdfParams","salt","info","Ed448Params","context","Pbkdf2Params","RsaOaepParams","label","RsaHashedImportParams","EcKeyImportParams","validateMaxBufferLength","data","normalizeAlgorithm","algorithm","op","registeredAlgorithms","algName","undefined","desiredType","toUpperCase","normalizedAlgorithm","dict","dictKeys","member","validateBitLength","required","validateByteLength","target","getUsagesUnion","usageSet","usages","newset","n","push","kKeyOps","sign","verify","encrypt","decrypt","wrapKey","unwrapKey","deriveKey","deriveBits","validateKeyOps","keyOps","usagesSet","flags","op_flag","use","bigIntArrayToUnsignedInt","result","n_reversed","getHashes","getCiphers"],"sourceRoot":"../../src","sources":["Utils.ts"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_reactNativeBuffer","require","_safeBuffer","_Hashnames","Object","keys","forEach","key","prototype","hasOwnProperty","call","_exportNames","exports","defineProperty","enumerable","get","defaultEncoding","setDefaultEncoding","encoding","getDefaultEncoding","kEmptyObject","freeze","create","toArrayBuffer","buf","Buffer","isBuffer","buffer","slice","byteOffset","byteLength","ab","ArrayBuffer","length","view","Uint8Array","i","SBuffer","readUInt8","bufferLikeToArrayBuffer","isView","binaryLikeToArrayBuffer","input","Error","from","ab2str","toString","validateString","str","name","isString","validateFunction","f","isStringOrBuffer","val","validateObject","value","options","useDefaultOptions","allowArray","allowFunction","nullable","Array","isArray","validateInt32","min","max","Number","isInteger","validateUint32","positive","hasAnyNotIn","set","checks","s","includes","lazyDOMException","message","domName","cause","kMaxBufferLength","kSupportedAlgorithms","digest","generateKey","ECDSA","ECDH","HMAC","X25519","Ed25519","X448","Ed448","sign","verify","importKey","HKDF","PBKDF2","deriveBits","encrypt","decrypt","wrapKey","unwrapKey","simpleAlgorithmDictionaries","AesGcmParams","iv","additionalData","RsaHashedKeyGenParams","hash","EcKeyGenParams","HmacKeyGenParams","RsaPssParams","EcdsaParams","HmacImportParams","HkdfParams","salt","info","Ed448Params","context","Pbkdf2Params","RsaOaepParams","label","RsaHashedImportParams","EcKeyImportParams","validateMaxBufferLength","data","normalizeAlgorithm","algorithm","op","registeredAlgorithms","algName","undefined","desiredType","toUpperCase","normalizedAlgorithm","dict","dictKeys","member","validateBitLength","required","validateByteLength","target","getUsagesUnion","usageSet","usages","newset","n","push","kKeyOps","deriveKey","validateKeyOps","keyOps","usagesSet","flags","op_flag","use","bigIntArrayToUnsignedInt","result","n_reversed","abvToArrayBuffer","getHashes","getCiphers"],"sourceRoot":"../../src","sources":["Utils.ts"],"mappings":"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","ignoreList":[]}
|
package/lib/commonjs/aes.js
CHANGED
|
@@ -57,7 +57,7 @@ function getVariant(name, length) {
|
|
|
57
57
|
case 256:
|
|
58
58
|
return AESKeyVariant.AES_CBC_256;
|
|
59
59
|
}
|
|
60
|
-
// @ts-
|
|
60
|
+
// @ts-expect-error unreachable code
|
|
61
61
|
break;
|
|
62
62
|
case 'AES-CTR':
|
|
63
63
|
switch (length) {
|
|
@@ -68,7 +68,7 @@ function getVariant(name, length) {
|
|
|
68
68
|
case 256:
|
|
69
69
|
return AESKeyVariant.AES_CTR_256;
|
|
70
70
|
}
|
|
71
|
-
// @ts-
|
|
71
|
+
// @ts-expect-error unreachable code
|
|
72
72
|
break;
|
|
73
73
|
case 'AES-GCM':
|
|
74
74
|
switch (length) {
|
|
@@ -79,7 +79,7 @@ function getVariant(name, length) {
|
|
|
79
79
|
case 256:
|
|
80
80
|
return AESKeyVariant.AES_GCM_256;
|
|
81
81
|
}
|
|
82
|
-
// @ts-
|
|
82
|
+
// @ts-expect-error unreachable code
|
|
83
83
|
break;
|
|
84
84
|
case 'AES-KW':
|
|
85
85
|
switch (length) {
|
|
@@ -90,11 +90,11 @@ function getVariant(name, length) {
|
|
|
90
90
|
case 256:
|
|
91
91
|
return AESKeyVariant.AES_KW_256;
|
|
92
92
|
}
|
|
93
|
-
// @ts-
|
|
93
|
+
// @ts-expect-error unreachable code
|
|
94
94
|
break;
|
|
95
95
|
}
|
|
96
96
|
|
|
97
|
-
// @ts-
|
|
97
|
+
// @ts-expect-error unreachable code
|
|
98
98
|
throw (0, _Utils.lazyDOMException)(`Error getting variant ${name} at length: ${length}`, 'DataError');
|
|
99
99
|
}
|
|
100
100
|
function asyncAesCtrCipher(mode, key, data, {
|
|
@@ -168,7 +168,8 @@ function asyncAesGcmCipher(mode, key, data, {
|
|
|
168
168
|
}
|
|
169
169
|
return _NativeQuickCrypto.NativeQuickCrypto.webcrypto.aesCipher(mode, key.keyObject.handle, data, getVariant('AES-GCM', key.algorithm.length), (0, _Utils.bufferLikeToArrayBuffer)(iv), length, (0, _Utils.bufferLikeToArrayBuffer)(tag), (0, _Utils.bufferLikeToArrayBuffer)(additionalData || new ArrayBuffer(0)));
|
|
170
170
|
}
|
|
171
|
-
const aesCipher = (mode, key, data, algorithm
|
|
171
|
+
const aesCipher = (mode, key, data, algorithm // | WrapUnwrapParams
|
|
172
|
+
) => {
|
|
172
173
|
switch (algorithm.name) {
|
|
173
174
|
case 'AES-CTR':
|
|
174
175
|
return asyncAesCtrCipher(mode, key, data, algorithm);
|
|
@@ -234,9 +235,9 @@ const aesImportKey = async (algorithm, format, keyData, extractable, keyUsages)
|
|
|
234
235
|
switch (format) {
|
|
235
236
|
case 'raw':
|
|
236
237
|
{
|
|
237
|
-
const data = keyData;
|
|
238
|
+
const data = (0, _Utils.bufferLikeToArrayBuffer)(keyData);
|
|
238
239
|
validateKeyLength(data.byteLength * 8);
|
|
239
|
-
keyObject = (0, _keys.createSecretKey)(
|
|
240
|
+
keyObject = (0, _keys.createSecretKey)(data);
|
|
240
241
|
break;
|
|
241
242
|
}
|
|
242
243
|
case 'jwk':
|
package/lib/commonjs/aes.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_NativeQuickCrypto","require","_Utils","_keys","_keygen","AESKeyVariant","exports","kMaxCounterLength","kTagLengths","kAesKeyLengths","getAlgorithmName","name","length","undefined","lazyDOMException","validateKeyLength","getVariant","AES_CBC_128","AES_CBC_192","AES_CBC_256","AES_CTR_128","AES_CTR_192","AES_CTR_256","AES_GCM_128","AES_GCM_192","AES_GCM_256","AES_KW_128","AES_KW_192","AES_KW_256","asyncAesCtrCipher","mode","key","data","counter","validateByteLength","NativeQuickCrypto","webcrypto","aesCipher","keyObject","handle","algorithm","bufferLikeToArrayBuffer","asyncAesCbcCipher","iv","asyncAesGcmCipher","additionalData","tagLength","includes","validateMaxBufferLength","tagByteLength","Math","floor","tag","ArrayBuffer","CipherOrWrapMode","kWebCryptoCipherDecrypt","slice","byteLength","kWebCryptoCipherEncrypt","Error","aesGenerateKey","extractable","keyUsages","checkUsages","push","hasAnyNotIn","err","generateKeyPromise","message","cause","CryptoKey","Array","from","aesImportKey","format","keyData","createSecretKey","kty","use","validateKeyOps","key_ops","ext","createKeyObjectHandle","initJwk","keyDetail","alg","SecretKeyObject"],"sourceRoot":"../../src","sources":["aes.ts"],"mappings":";;;;;;AAAA,IAAAA,kBAAA,GAAAC,OAAA;AACA,IAAAC,MAAA,GAAAD,OAAA;AASA,IAAAE,KAAA,GAAAF,OAAA;AAkBA,IAAAG,OAAA,GAAAH,OAAA;AAEA;AAAA,IACYI,aAAa,GAAAC,OAAA,CAAAD,aAAA,0BAAbA,aAAa;EAAbA,aAAa,CAAbA,aAAa;EAAbA,aAAa,CAAbA,aAAa;EAAbA,aAAa,CAAbA,aAAa;EAAbA,aAAa,CAAbA,aAAa;EAAbA,aAAa,CAAbA,aAAa;EAAbA,aAAa,CAAbA,aAAa;EAAbA,aAAa,CAAbA,aAAa;EAAbA,aAAa,CAAbA,aAAa;EAAbA,aAAa,CAAbA,aAAa;EAAbA,aAAa,CAAbA,aAAa;EAAbA,aAAa,CAAbA,aAAa;EAAbA,aAAa,CAAbA,aAAa;EAAA,OAAbA,aAAa;AAAA;AAezB,MAAME,iBAAiB,GAAG,GAAG;AAC7B,MAAMC,WAAwB,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;AAC1D,MAAMC,cAAc,GAAAH,OAAA,CAAAG,cAAA,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;AAEtC,MAAMC,gBAAgB,GAAGA,CAACC,IAAY,EAAEC,MAAe,KAAK;EACjE,IAAIA,MAAM,KAAKC,SAAS,EACtB,MAAM,IAAAC,uBAAgB,
|
|
1
|
+
{"version":3,"names":["_NativeQuickCrypto","require","_Utils","_keys","_keygen","AESKeyVariant","exports","kMaxCounterLength","kTagLengths","kAesKeyLengths","getAlgorithmName","name","length","undefined","lazyDOMException","validateKeyLength","getVariant","AES_CBC_128","AES_CBC_192","AES_CBC_256","AES_CTR_128","AES_CTR_192","AES_CTR_256","AES_GCM_128","AES_GCM_192","AES_GCM_256","AES_KW_128","AES_KW_192","AES_KW_256","asyncAesCtrCipher","mode","key","data","counter","validateByteLength","NativeQuickCrypto","webcrypto","aesCipher","keyObject","handle","algorithm","bufferLikeToArrayBuffer","asyncAesCbcCipher","iv","asyncAesGcmCipher","additionalData","tagLength","includes","validateMaxBufferLength","tagByteLength","Math","floor","tag","ArrayBuffer","CipherOrWrapMode","kWebCryptoCipherDecrypt","slice","byteLength","kWebCryptoCipherEncrypt","Error","aesGenerateKey","extractable","keyUsages","checkUsages","push","hasAnyNotIn","err","generateKeyPromise","message","cause","CryptoKey","Array","from","aesImportKey","format","keyData","createSecretKey","kty","use","validateKeyOps","key_ops","ext","createKeyObjectHandle","initJwk","keyDetail","alg","SecretKeyObject"],"sourceRoot":"../../src","sources":["aes.ts"],"mappings":"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","ignoreList":[]}
|
package/lib/commonjs/ec.js
CHANGED
|
@@ -168,7 +168,7 @@ function ecImportKey(format, keyData, algorithm, extractable, keyUsages) {
|
|
|
168
168
|
{
|
|
169
169
|
const data = keyData;
|
|
170
170
|
verifyAcceptableEcKeyUse(name, true, keyUsages);
|
|
171
|
-
|
|
171
|
+
const buffer = typeof data === 'string' ? (0, _Utils.binaryLikeToArrayBuffer)(data) : (0, _Utils.bufferLikeToArrayBuffer)(data);
|
|
172
172
|
keyObject = createECPublicKeyRaw(namedCurve, buffer);
|
|
173
173
|
break;
|
|
174
174
|
}
|
|
@@ -226,8 +226,7 @@ const ecGenerateKey = async (algorithm, extractable, keyUsages) => {
|
|
|
226
226
|
// const usageSet = new SafeSet(keyUsages);
|
|
227
227
|
switch (name) {
|
|
228
228
|
case 'ECDSA':
|
|
229
|
-
|
|
230
|
-
if ((0, _Utils.hasAnyNotIn)(keyUsages, checkUsages)) {
|
|
229
|
+
if ((0, _Utils.hasAnyNotIn)(keyUsages, ['sign', 'verify'])) {
|
|
231
230
|
throw (0, _Utils.lazyDOMException)('Unsupported key usage for an ECDSA key', 'SyntaxError');
|
|
232
231
|
}
|
|
233
232
|
break;
|