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/module/subtle.js
DELETED
|
@@ -1,443 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
import { CryptoKey, KWebCryptoKeyFormat, createSecretKey, CipherOrWrapMode } from './keys';
|
|
4
|
-
import { hasAnyNotIn, normalizeAlgorithm, lazyDOMException, normalizeHashName, HashContext, validateMaxBufferLength, bufferLikeToArrayBuffer } from './Utils';
|
|
5
|
-
import { ecImportKey, ecExportKey, ecGenerateKey, ecdsaSignVerify } from './ec';
|
|
6
|
-
import { pbkdf2DeriveBits } from './pbkdf2';
|
|
7
|
-
import { asyncDigest } from './Hash';
|
|
8
|
-
import { aesCipher, aesGenerateKey, aesImportKey, getAlgorithmName } from './aes';
|
|
9
|
-
import { rsaCipher, rsaExportKey, rsaImportKey, rsaKeyGenerate } from './rsa';
|
|
10
|
-
const exportKeySpki = async key => {
|
|
11
|
-
switch (key.algorithm.name) {
|
|
12
|
-
case 'RSASSA-PKCS1-v1_5':
|
|
13
|
-
// Fall through
|
|
14
|
-
case 'RSA-PSS':
|
|
15
|
-
// Fall through
|
|
16
|
-
case 'RSA-OAEP':
|
|
17
|
-
if (key.type === 'public') {
|
|
18
|
-
return rsaExportKey(key, KWebCryptoKeyFormat.kWebCryptoKeyFormatSPKI);
|
|
19
|
-
}
|
|
20
|
-
break;
|
|
21
|
-
case 'ECDSA':
|
|
22
|
-
// Fall through
|
|
23
|
-
case 'ECDH':
|
|
24
|
-
if (key.type === 'public') {
|
|
25
|
-
return ecExportKey(key, KWebCryptoKeyFormat.kWebCryptoKeyFormatSPKI);
|
|
26
|
-
}
|
|
27
|
-
break;
|
|
28
|
-
// case 'Ed25519':
|
|
29
|
-
// // Fall through
|
|
30
|
-
// case 'Ed448':
|
|
31
|
-
// // Fall through
|
|
32
|
-
// case 'X25519':
|
|
33
|
-
// // Fall through
|
|
34
|
-
// case 'X448':
|
|
35
|
-
// if (key.type === 'public') {
|
|
36
|
-
// return cfrgExportKey(key, KWebCryptoKeyFormat.kWebCryptoKeyFormatSPKI);
|
|
37
|
-
// }
|
|
38
|
-
// break;
|
|
39
|
-
}
|
|
40
|
-
throw new Error(`Unable to export a spki ${key.algorithm.name} ${key.type} key`);
|
|
41
|
-
};
|
|
42
|
-
const exportKeyPkcs8 = async key => {
|
|
43
|
-
switch (key.algorithm.name) {
|
|
44
|
-
case 'RSASSA-PKCS1-v1_5':
|
|
45
|
-
// Fall through
|
|
46
|
-
case 'RSA-PSS':
|
|
47
|
-
// Fall through
|
|
48
|
-
case 'RSA-OAEP':
|
|
49
|
-
if (key.type === 'private') {
|
|
50
|
-
return rsaExportKey(key, KWebCryptoKeyFormat.kWebCryptoKeyFormatPKCS8);
|
|
51
|
-
}
|
|
52
|
-
break;
|
|
53
|
-
case 'ECDSA':
|
|
54
|
-
// Fall through
|
|
55
|
-
case 'ECDH':
|
|
56
|
-
if (key.type === 'private') {
|
|
57
|
-
return ecExportKey(key, KWebCryptoKeyFormat.kWebCryptoKeyFormatPKCS8);
|
|
58
|
-
}
|
|
59
|
-
break;
|
|
60
|
-
// case 'Ed25519':
|
|
61
|
-
// // Fall through
|
|
62
|
-
// case 'Ed448':
|
|
63
|
-
// // Fall through
|
|
64
|
-
// case 'X25519':
|
|
65
|
-
// // Fall through
|
|
66
|
-
// case 'X448':
|
|
67
|
-
// if (key.type === 'private') {
|
|
68
|
-
// return cfrgExportKey(key, KWebCryptoKeyFormat.kWebCryptoKeyFormatPKCS8);
|
|
69
|
-
// }
|
|
70
|
-
// break;
|
|
71
|
-
}
|
|
72
|
-
throw new Error(`Unable to export a pkcs8 ${key.algorithm.name} ${key.type} key`);
|
|
73
|
-
};
|
|
74
|
-
const exportKeyRaw = key => {
|
|
75
|
-
switch (key.algorithm.name) {
|
|
76
|
-
case 'ECDSA':
|
|
77
|
-
// Fall through
|
|
78
|
-
case 'ECDH':
|
|
79
|
-
if (key.type === 'public') {
|
|
80
|
-
return ecExportKey(key, KWebCryptoKeyFormat.kWebCryptoKeyFormatRaw);
|
|
81
|
-
}
|
|
82
|
-
break;
|
|
83
|
-
// case 'Ed25519':
|
|
84
|
-
// // Fall through
|
|
85
|
-
// case 'Ed448':
|
|
86
|
-
// // Fall through
|
|
87
|
-
// case 'X25519':
|
|
88
|
-
// // Fall through
|
|
89
|
-
// case 'X448':
|
|
90
|
-
// if (key.type === 'public') {
|
|
91
|
-
// return require('internal/crypto/cfrg')
|
|
92
|
-
// .cfrgExportKey(key, kWebCryptoKeyFormatRaw);
|
|
93
|
-
// }
|
|
94
|
-
// break;
|
|
95
|
-
case 'AES-CTR':
|
|
96
|
-
// Fall through
|
|
97
|
-
case 'AES-CBC':
|
|
98
|
-
// Fall through
|
|
99
|
-
case 'AES-GCM':
|
|
100
|
-
// Fall through
|
|
101
|
-
case 'AES-KW':
|
|
102
|
-
// Fall through
|
|
103
|
-
case 'HMAC':
|
|
104
|
-
return key.keyObject.export();
|
|
105
|
-
}
|
|
106
|
-
throw lazyDOMException(`Unable to export a raw ${key.algorithm.name} ${key.type} key`, 'InvalidAccessError');
|
|
107
|
-
};
|
|
108
|
-
const exportKeyJWK = key => {
|
|
109
|
-
const jwk = key.keyObject.handle.exportJwk({
|
|
110
|
-
key_ops: key.usages,
|
|
111
|
-
ext: key.extractable
|
|
112
|
-
}, true);
|
|
113
|
-
switch (key.algorithm.name) {
|
|
114
|
-
case 'RSASSA-PKCS1-v1_5':
|
|
115
|
-
jwk.alg = normalizeHashName(key.algorithm.hash, HashContext.JwkRsa);
|
|
116
|
-
return jwk;
|
|
117
|
-
case 'RSA-PSS':
|
|
118
|
-
jwk.alg = normalizeHashName(key.algorithm.hash, HashContext.JwkRsaPss);
|
|
119
|
-
return jwk;
|
|
120
|
-
case 'RSA-OAEP':
|
|
121
|
-
jwk.alg = normalizeHashName(key.algorithm.hash, HashContext.JwkRsaOaep);
|
|
122
|
-
return jwk;
|
|
123
|
-
case 'ECDSA':
|
|
124
|
-
// Fall through
|
|
125
|
-
case 'ECDH':
|
|
126
|
-
jwk.crv ||= key.algorithm.namedCurve;
|
|
127
|
-
return jwk;
|
|
128
|
-
// case 'X25519':
|
|
129
|
-
// // Fall through
|
|
130
|
-
// case 'X448':
|
|
131
|
-
// jwk.crv ||= key.algorithm.name;
|
|
132
|
-
// return jwk;
|
|
133
|
-
// case 'Ed25519':
|
|
134
|
-
// // Fall through
|
|
135
|
-
// case 'Ed448':
|
|
136
|
-
// jwk.crv ||= key.algorithm.name;
|
|
137
|
-
// return jwk;
|
|
138
|
-
case 'AES-CTR':
|
|
139
|
-
// Fall through
|
|
140
|
-
case 'AES-CBC':
|
|
141
|
-
// Fall through
|
|
142
|
-
case 'AES-GCM':
|
|
143
|
-
// Fall through
|
|
144
|
-
case 'AES-KW':
|
|
145
|
-
jwk.alg = getAlgorithmName(key.algorithm.name, key.algorithm.length);
|
|
146
|
-
return jwk;
|
|
147
|
-
// case 'HMAC':
|
|
148
|
-
// jwk.alg = normalizeHashName(
|
|
149
|
-
// key.algorithm.hash.name,
|
|
150
|
-
// normalizeHashName.kContextJwkHmac);
|
|
151
|
-
// return jwk;
|
|
152
|
-
default:
|
|
153
|
-
// Fall through
|
|
154
|
-
}
|
|
155
|
-
throw lazyDOMException(`JWK export not yet supported: ${key.algorithm.name}`, 'NotSupportedError');
|
|
156
|
-
};
|
|
157
|
-
const importGenericSecretKey = async ({
|
|
158
|
-
name,
|
|
159
|
-
length
|
|
160
|
-
}, format, keyData, extractable, keyUsages) => {
|
|
161
|
-
if (extractable) {
|
|
162
|
-
throw new Error(`${name} keys are not extractable`);
|
|
163
|
-
}
|
|
164
|
-
if (hasAnyNotIn(keyUsages, ['deriveKey', 'deriveBits'])) {
|
|
165
|
-
throw new Error(`Unsupported key usage for a ${name} key`);
|
|
166
|
-
}
|
|
167
|
-
switch (format) {
|
|
168
|
-
case 'raw':
|
|
169
|
-
{
|
|
170
|
-
if (hasAnyNotIn(keyUsages, ['deriveKey', 'deriveBits'])) {
|
|
171
|
-
throw new Error(`Unsupported key usage for a ${name} key`);
|
|
172
|
-
}
|
|
173
|
-
const checkLength = typeof keyData === 'string' ? keyData.length * 8 : keyData.byteLength * 8;
|
|
174
|
-
|
|
175
|
-
// The Web Crypto spec allows for key lengths that are not multiples of
|
|
176
|
-
// 8. We don't. Our check here is stricter than that defined by the spec
|
|
177
|
-
// in that we require that algorithm.length match keyData.length * 8 if
|
|
178
|
-
// algorithm.length is specified.
|
|
179
|
-
if (length !== undefined && length !== checkLength) {
|
|
180
|
-
throw new Error('Invalid key length');
|
|
181
|
-
}
|
|
182
|
-
const keyObject = createSecretKey(keyData);
|
|
183
|
-
return new CryptoKey(keyObject, {
|
|
184
|
-
name
|
|
185
|
-
}, keyUsages, false);
|
|
186
|
-
}
|
|
187
|
-
}
|
|
188
|
-
throw new Error(`Unable to import ${name} key with format ${format}`);
|
|
189
|
-
};
|
|
190
|
-
|
|
191
|
-
// const checkCryptoKeyUsages = (key: CryptoKey) => {
|
|
192
|
-
// if (
|
|
193
|
-
// (key.type === 'secret' || key.type === 'private') &&
|
|
194
|
-
// key.usages.length === 0
|
|
195
|
-
// ) {
|
|
196
|
-
// throw lazyDOMException(
|
|
197
|
-
// 'Usages cannot be empty when creating a key.',
|
|
198
|
-
// 'SyntaxError'
|
|
199
|
-
// );
|
|
200
|
-
// }
|
|
201
|
-
// };
|
|
202
|
-
|
|
203
|
-
const checkCryptoKeyPairUsages = pair => {
|
|
204
|
-
if (!(pair.privateKey instanceof Buffer) && pair.privateKey && pair.privateKey.hasOwnProperty('keyUsages')) {
|
|
205
|
-
const priv = pair.privateKey;
|
|
206
|
-
if (priv.usages.length > 0) {
|
|
207
|
-
return;
|
|
208
|
-
}
|
|
209
|
-
}
|
|
210
|
-
console.log(pair.privateKey);
|
|
211
|
-
throw lazyDOMException('Usages cannot be empty when creating a key.', 'SyntaxError');
|
|
212
|
-
};
|
|
213
|
-
const signVerify = (algorithm, key, data, signature) => {
|
|
214
|
-
const usage = signature === undefined ? 'sign' : 'verify';
|
|
215
|
-
algorithm = normalizeAlgorithm(algorithm, usage);
|
|
216
|
-
if (!key.usages.includes(usage) || algorithm.name !== key.algorithm.name) {
|
|
217
|
-
throw lazyDOMException(`Unable to use this key to ${usage}`, 'InvalidAccessError');
|
|
218
|
-
}
|
|
219
|
-
switch (algorithm.name) {
|
|
220
|
-
// case 'RSA-PSS':
|
|
221
|
-
// // Fall through
|
|
222
|
-
// case 'RSASSA-PKCS1-v1_5':
|
|
223
|
-
// return require('internal/crypto/rsa').rsaSignVerify(
|
|
224
|
-
// key,
|
|
225
|
-
// data,
|
|
226
|
-
// algorithm,
|
|
227
|
-
// signature
|
|
228
|
-
// );
|
|
229
|
-
case 'ECDSA':
|
|
230
|
-
return ecdsaSignVerify(key, data, algorithm, signature);
|
|
231
|
-
// case 'Ed25519':
|
|
232
|
-
// // Fall through
|
|
233
|
-
// case 'Ed448':
|
|
234
|
-
// return require('internal/crypto/cfrg').eddsaSignVerify(
|
|
235
|
-
// key,
|
|
236
|
-
// data,
|
|
237
|
-
// algorithm,
|
|
238
|
-
// signature
|
|
239
|
-
// );
|
|
240
|
-
// case 'HMAC':
|
|
241
|
-
// return require('internal/crypto/mac').hmacSignVerify(
|
|
242
|
-
// key,
|
|
243
|
-
// data,
|
|
244
|
-
// algorithm,
|
|
245
|
-
// signature
|
|
246
|
-
// );
|
|
247
|
-
}
|
|
248
|
-
throw lazyDOMException(`Unrecognized algorithm name '${algorithm}' for '${usage}'`, 'NotSupportedError');
|
|
249
|
-
};
|
|
250
|
-
const cipherOrWrap = async (mode, algorithm, key, data, op) => {
|
|
251
|
-
// We use a Node.js style error here instead of a DOMException because
|
|
252
|
-
// the WebCrypto spec is not specific what kind of error is to be thrown
|
|
253
|
-
// in this case. Both Firefox and Chrome throw simple TypeErrors here.
|
|
254
|
-
// The key algorithm and cipher algorithm must match, and the
|
|
255
|
-
// key must have the proper usage.
|
|
256
|
-
if (key.algorithm.name !== algorithm.name || !key.usages.includes(op)) {
|
|
257
|
-
throw lazyDOMException('The requested operation is not valid for the provided key', 'InvalidAccessError');
|
|
258
|
-
}
|
|
259
|
-
|
|
260
|
-
// While WebCrypto allows for larger input buffer sizes, we limit
|
|
261
|
-
// those to sizes that can fit within uint32_t because of limitations
|
|
262
|
-
// in the OpenSSL API.
|
|
263
|
-
validateMaxBufferLength(data, 'data');
|
|
264
|
-
switch (algorithm.name) {
|
|
265
|
-
case 'RSA-OAEP':
|
|
266
|
-
return rsaCipher(mode, key, data, algorithm);
|
|
267
|
-
case 'AES-CTR':
|
|
268
|
-
// Fall through
|
|
269
|
-
case 'AES-CBC':
|
|
270
|
-
// Fall through
|
|
271
|
-
case 'AES-GCM':
|
|
272
|
-
return aesCipher(mode, key, data, algorithm);
|
|
273
|
-
// case 'AES-KW':
|
|
274
|
-
// if (op === 'wrapKey' || op === 'unwrapKey') {
|
|
275
|
-
// return aesCipher(mode, key, data, algorithm);
|
|
276
|
-
// }
|
|
277
|
-
}
|
|
278
|
-
// @ts-ignore
|
|
279
|
-
throw lazyDOMException(`Unrecognized algorithm name '${algorithm}' for '${op}'`, 'NotSupportedError');
|
|
280
|
-
};
|
|
281
|
-
export class Subtle {
|
|
282
|
-
async decrypt(algorithm, key, data) {
|
|
283
|
-
const normalizedAlgorithm = normalizeAlgorithm(algorithm, 'decrypt');
|
|
284
|
-
return cipherOrWrap(CipherOrWrapMode.kWebCryptoCipherDecrypt, normalizedAlgorithm, key, bufferLikeToArrayBuffer(data), 'decrypt');
|
|
285
|
-
}
|
|
286
|
-
async digest(algorithm, data) {
|
|
287
|
-
const normalizedAlgorithm = normalizeAlgorithm(algorithm, 'digest');
|
|
288
|
-
return asyncDigest(normalizedAlgorithm, data);
|
|
289
|
-
}
|
|
290
|
-
async deriveBits(algorithm, baseKey, length) {
|
|
291
|
-
if (!baseKey.keyUsages.includes('deriveBits')) {
|
|
292
|
-
throw new Error('baseKey does not have deriveBits usage');
|
|
293
|
-
}
|
|
294
|
-
if (baseKey.algorithm.name !== algorithm.name) throw new Error('Key algorithm mismatch');
|
|
295
|
-
switch (algorithm.name) {
|
|
296
|
-
// case 'X25519':
|
|
297
|
-
// // Fall through
|
|
298
|
-
// case 'X448':
|
|
299
|
-
// // Fall through
|
|
300
|
-
// case 'ECDH':
|
|
301
|
-
// return require('internal/crypto/diffiehellman')
|
|
302
|
-
// .ecdhDeriveBits(algorithm, baseKey, length);
|
|
303
|
-
// case 'HKDF':
|
|
304
|
-
// return require('internal/crypto/hkdf')
|
|
305
|
-
// .hkdfDeriveBits(algorithm, baseKey, length);
|
|
306
|
-
case 'PBKDF2':
|
|
307
|
-
return pbkdf2DeriveBits(algorithm, baseKey, length);
|
|
308
|
-
}
|
|
309
|
-
throw new Error(`'subtle.deriveBits()' for ${algorithm.name} is not implemented.`);
|
|
310
|
-
}
|
|
311
|
-
async encrypt(algorithm, key, data) {
|
|
312
|
-
const normalizedAlgorithm = normalizeAlgorithm(algorithm, 'encrypt');
|
|
313
|
-
return cipherOrWrap(CipherOrWrapMode.kWebCryptoCipherEncrypt, normalizedAlgorithm, key, bufferLikeToArrayBuffer(data), 'encrypt');
|
|
314
|
-
}
|
|
315
|
-
async exportKey(format, key) {
|
|
316
|
-
if (!key.extractable) throw new Error('key is not extractable');
|
|
317
|
-
switch (format) {
|
|
318
|
-
case 'spki':
|
|
319
|
-
return await exportKeySpki(key);
|
|
320
|
-
case 'pkcs8':
|
|
321
|
-
return await exportKeyPkcs8(key);
|
|
322
|
-
case 'jwk':
|
|
323
|
-
return exportKeyJWK(key);
|
|
324
|
-
case 'raw':
|
|
325
|
-
return exportKeyRaw(key);
|
|
326
|
-
}
|
|
327
|
-
}
|
|
328
|
-
async generateKey(algorithm, extractable, keyUsages) {
|
|
329
|
-
algorithm = normalizeAlgorithm(algorithm, 'generateKey');
|
|
330
|
-
let result;
|
|
331
|
-
switch (algorithm.name) {
|
|
332
|
-
case 'RSASSA-PKCS1-v1_5':
|
|
333
|
-
// Fall through
|
|
334
|
-
case 'RSA-PSS':
|
|
335
|
-
// Fall through
|
|
336
|
-
case 'RSA-OAEP':
|
|
337
|
-
result = await rsaKeyGenerate(algorithm, extractable, keyUsages);
|
|
338
|
-
break;
|
|
339
|
-
// case 'Ed25519':
|
|
340
|
-
// // Fall through
|
|
341
|
-
// case 'Ed448':
|
|
342
|
-
// // Fall through
|
|
343
|
-
// case 'X25519':
|
|
344
|
-
// // Fall through
|
|
345
|
-
// case 'X448':
|
|
346
|
-
// resultType = 'CryptoKeyPair';
|
|
347
|
-
// result = await cfrgGenerateKey(algorithm, extractable, keyUsages);
|
|
348
|
-
// break;
|
|
349
|
-
case 'ECDSA':
|
|
350
|
-
// Fall through
|
|
351
|
-
case 'ECDH':
|
|
352
|
-
result = await ecGenerateKey(algorithm, extractable, keyUsages);
|
|
353
|
-
checkCryptoKeyPairUsages(result);
|
|
354
|
-
break;
|
|
355
|
-
// case 'HMAC':
|
|
356
|
-
// result = await hmacGenerateKey(algorithm, extractable, keyUsages);
|
|
357
|
-
// break;
|
|
358
|
-
case 'AES-CTR':
|
|
359
|
-
// Fall through
|
|
360
|
-
case 'AES-CBC':
|
|
361
|
-
// Fall through
|
|
362
|
-
case 'AES-GCM':
|
|
363
|
-
// Fall through
|
|
364
|
-
case 'AES-KW':
|
|
365
|
-
result = await aesGenerateKey(algorithm, extractable, keyUsages);
|
|
366
|
-
break;
|
|
367
|
-
default:
|
|
368
|
-
throw new Error(`'subtle.generateKey()' is not implemented for ${algorithm.name}.
|
|
369
|
-
Unrecognized algorithm name`);
|
|
370
|
-
}
|
|
371
|
-
return result;
|
|
372
|
-
}
|
|
373
|
-
async importKey(format, data, algorithm, extractable, keyUsages) {
|
|
374
|
-
const normalizedAlgorithm = normalizeAlgorithm(algorithm, 'importKey');
|
|
375
|
-
let result;
|
|
376
|
-
switch (normalizedAlgorithm.name) {
|
|
377
|
-
case 'RSASSA-PKCS1-v1_5':
|
|
378
|
-
// Fall through
|
|
379
|
-
case 'RSA-PSS':
|
|
380
|
-
// Fall through
|
|
381
|
-
case 'RSA-OAEP':
|
|
382
|
-
result = rsaImportKey(format, data, normalizedAlgorithm, extractable, keyUsages);
|
|
383
|
-
break;
|
|
384
|
-
case 'ECDSA':
|
|
385
|
-
// Fall through
|
|
386
|
-
case 'ECDH':
|
|
387
|
-
result = ecImportKey(format, data, normalizedAlgorithm, extractable, keyUsages);
|
|
388
|
-
break;
|
|
389
|
-
// case 'Ed25519':
|
|
390
|
-
// // Fall through
|
|
391
|
-
// case 'Ed448':
|
|
392
|
-
// // Fall through
|
|
393
|
-
// case 'X25519':
|
|
394
|
-
// // Fall through
|
|
395
|
-
// case 'X448':
|
|
396
|
-
// result = await require('internal/crypto/cfrg').cfrgImportKey(
|
|
397
|
-
// format,
|
|
398
|
-
// keyData,
|
|
399
|
-
// algorithm,
|
|
400
|
-
// extractable,
|
|
401
|
-
// keyUsages
|
|
402
|
-
// );
|
|
403
|
-
// break;
|
|
404
|
-
// case 'HMAC':
|
|
405
|
-
// result = await require('internal/crypto/mac').hmacImportKey(
|
|
406
|
-
// format,
|
|
407
|
-
// keyData,
|
|
408
|
-
// algorithm,
|
|
409
|
-
// extractable,
|
|
410
|
-
// keyUsages
|
|
411
|
-
// );
|
|
412
|
-
// break;
|
|
413
|
-
case 'AES-CTR':
|
|
414
|
-
// Fall through
|
|
415
|
-
case 'AES-CBC':
|
|
416
|
-
// Fall through
|
|
417
|
-
case 'AES-GCM':
|
|
418
|
-
// Fall through
|
|
419
|
-
case 'AES-KW':
|
|
420
|
-
result = await aesImportKey(normalizedAlgorithm, format, data, extractable, keyUsages);
|
|
421
|
-
break;
|
|
422
|
-
// case 'HKDF':
|
|
423
|
-
// // Fall through
|
|
424
|
-
case 'PBKDF2':
|
|
425
|
-
result = await importGenericSecretKey(normalizedAlgorithm, format, data, extractable, keyUsages);
|
|
426
|
-
break;
|
|
427
|
-
default:
|
|
428
|
-
throw new Error(`"subtle.importKey()" is not implemented for ${normalizedAlgorithm.name}`);
|
|
429
|
-
}
|
|
430
|
-
if ((result.type === 'secret' || result.type === 'private') && result.usages.length === 0) {
|
|
431
|
-
throw new Error(`Usages cannot be empty when importing a ${result.type} key.`);
|
|
432
|
-
}
|
|
433
|
-
return result;
|
|
434
|
-
}
|
|
435
|
-
async sign(algorithm, key, data) {
|
|
436
|
-
return signVerify(algorithm, key, data);
|
|
437
|
-
}
|
|
438
|
-
async verify(algorithm, key, signature, data) {
|
|
439
|
-
return signVerify(algorithm, key, data, signature);
|
|
440
|
-
}
|
|
441
|
-
}
|
|
442
|
-
export const subtle = new Subtle();
|
|
443
|
-
//# sourceMappingURL=subtle.js.map
|
package/lib/module/subtle.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["CryptoKey","KWebCryptoKeyFormat","createSecretKey","CipherOrWrapMode","hasAnyNotIn","normalizeAlgorithm","lazyDOMException","normalizeHashName","HashContext","validateMaxBufferLength","bufferLikeToArrayBuffer","ecImportKey","ecExportKey","ecGenerateKey","ecdsaSignVerify","pbkdf2DeriveBits","asyncDigest","aesCipher","aesGenerateKey","aesImportKey","getAlgorithmName","rsaCipher","rsaExportKey","rsaImportKey","rsaKeyGenerate","exportKeySpki","key","algorithm","name","type","kWebCryptoKeyFormatSPKI","Error","exportKeyPkcs8","kWebCryptoKeyFormatPKCS8","exportKeyRaw","kWebCryptoKeyFormatRaw","keyObject","export","exportKeyJWK","jwk","handle","exportJwk","key_ops","usages","ext","extractable","alg","hash","JwkRsa","JwkRsaPss","JwkRsaOaep","crv","namedCurve","length","importGenericSecretKey","format","keyData","keyUsages","checkLength","byteLength","undefined","checkCryptoKeyPairUsages","pair","privateKey","Buffer","hasOwnProperty","priv","console","log","signVerify","data","signature","usage","includes","cipherOrWrap","mode","op","Subtle","decrypt","normalizedAlgorithm","kWebCryptoCipherDecrypt","digest","deriveBits","baseKey","encrypt","kWebCryptoCipherEncrypt","exportKey","generateKey","result","importKey","sign","verify","subtle"],"sourceRoot":"../../src","sources":["subtle.ts"],"mappings":"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","ignoreList":[]}
|
package/lib/module/webcrypto.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["subtle","Subtle","CryptoKey","SubtleCrypto"],"sourceRoot":"../../src","sources":["webcrypto.ts"],"mappings":";;AAAA,SAASA,MAAM,EAAEC,MAAM,QAAQ,UAAU;AACzC,SAASC,SAAS,QAAQ,QAAQ;AAElC,eAAe;EACbF,MAAM;EACNG,YAAY,EAAEF,MAAM;EACpBC;AACF,CAAC","ignoreList":[]}
|
|
@@ -1,81 +0,0 @@
|
|
|
1
|
-
import { type BinaryLike, type BinaryLikeNode } from './Utils';
|
|
2
|
-
import type { CipherCCMOptions, CipherCCMTypes, CipherGCMTypes, CipherGCMOptions, CipherOCBOptions, CipherOCBTypes, DecipherGCM, DecipherOCB, DecipherCCM, CipherCCM, CipherOCB, CipherGCM } from 'crypto';
|
|
3
|
-
import { Buffer } from '@craftzdog/react-native-buffer';
|
|
4
|
-
import { CryptoKey, type CryptoKeyPair, type KeyPairType } from './keys';
|
|
5
|
-
import type { KeyObjectHandle } from './NativeQuickCrypto/webcrypto';
|
|
6
|
-
export declare enum ECCurve {
|
|
7
|
-
OPENSSL_EC_EXPLICIT_CURVE = 0,
|
|
8
|
-
OPENSSL_EC_NAMED_CURVE = 1
|
|
9
|
-
}
|
|
10
|
-
export declare function createDecipher(algorithm: CipherCCMTypes, password: BinaryLikeNode, options: CipherCCMOptions): DecipherCCM;
|
|
11
|
-
export declare function createDecipher(algorithm: CipherGCMTypes, password: BinaryLikeNode, options?: CipherGCMOptions): DecipherGCM;
|
|
12
|
-
export declare function createDecipheriv(algorithm: CipherCCMTypes, key: BinaryLikeNode, iv: BinaryLike, options: CipherCCMOptions): DecipherCCM;
|
|
13
|
-
export declare function createDecipheriv(algorithm: CipherOCBTypes, key: BinaryLikeNode, iv: BinaryLike, options: CipherOCBOptions): DecipherOCB;
|
|
14
|
-
export declare function createDecipheriv(algorithm: CipherGCMTypes, key: BinaryLikeNode, iv: BinaryLike, options?: CipherGCMOptions): DecipherGCM;
|
|
15
|
-
export declare function createCipher(algorithm: CipherCCMTypes, password: BinaryLikeNode, options: CipherCCMOptions): CipherCCM;
|
|
16
|
-
export declare function createCipher(algorithm: CipherGCMTypes, password: BinaryLikeNode, options?: CipherGCMOptions): CipherGCM;
|
|
17
|
-
export declare function createCipheriv(algorithm: CipherCCMTypes, key: BinaryLikeNode, iv: BinaryLike, options: CipherCCMOptions): CipherCCM;
|
|
18
|
-
export declare function createCipheriv(algorithm: CipherOCBTypes, key: BinaryLikeNode, iv: BinaryLike, options: CipherOCBOptions): CipherOCB;
|
|
19
|
-
export declare function createCipheriv(algorithm: CipherGCMTypes, key: BinaryLikeNode, iv: BinaryLike, options?: CipherGCMOptions): CipherGCM;
|
|
20
|
-
export declare const publicEncrypt: (options: {
|
|
21
|
-
key: any;
|
|
22
|
-
encoding?: string;
|
|
23
|
-
format?: any;
|
|
24
|
-
padding?: any;
|
|
25
|
-
oaepHash?: any;
|
|
26
|
-
oaepLabel?: any;
|
|
27
|
-
passphrase?: string;
|
|
28
|
-
}, buffer: BinaryLike) => Buffer;
|
|
29
|
-
export declare const publicDecrypt: (options: {
|
|
30
|
-
key: any;
|
|
31
|
-
encoding?: string;
|
|
32
|
-
format?: any;
|
|
33
|
-
padding?: any;
|
|
34
|
-
oaepHash?: any;
|
|
35
|
-
oaepLabel?: any;
|
|
36
|
-
passphrase?: string;
|
|
37
|
-
}, buffer: BinaryLike) => Buffer;
|
|
38
|
-
export declare const privateDecrypt: (options: {
|
|
39
|
-
key: any;
|
|
40
|
-
encoding?: string;
|
|
41
|
-
format?: any;
|
|
42
|
-
padding?: any;
|
|
43
|
-
oaepHash?: any;
|
|
44
|
-
oaepLabel?: any;
|
|
45
|
-
passphrase?: string;
|
|
46
|
-
}, buffer: BinaryLike) => Buffer;
|
|
47
|
-
export type GenerateKeyPairOptions = {
|
|
48
|
-
modulusLength?: number;
|
|
49
|
-
publicExponent?: number;
|
|
50
|
-
hashAlgorithm?: string;
|
|
51
|
-
mgf1HashAlgorithm?: string;
|
|
52
|
-
saltLength?: number;
|
|
53
|
-
divisorLength?: number;
|
|
54
|
-
namedCurve?: string;
|
|
55
|
-
prime?: Buffer;
|
|
56
|
-
primeLength?: number;
|
|
57
|
-
generator?: number;
|
|
58
|
-
groupName?: string;
|
|
59
|
-
publicKeyEncoding?: any;
|
|
60
|
-
privateKeyEncoding?: any;
|
|
61
|
-
paramEncoding?: string;
|
|
62
|
-
hash?: any;
|
|
63
|
-
mgf1Hash?: any;
|
|
64
|
-
};
|
|
65
|
-
export type KeyPairKey = Buffer | KeyObjectHandle | CryptoKey | undefined;
|
|
66
|
-
export type GenerateKeyPairReturn = [
|
|
67
|
-
error?: Error,
|
|
68
|
-
privateKey?: KeyPairKey,
|
|
69
|
-
publicKey?: KeyPairKey
|
|
70
|
-
];
|
|
71
|
-
export type GenerateKeyPairCallback = (error?: Error, publicKey?: KeyPairKey, privateKey?: KeyPairKey) => GenerateKeyPairReturn | void;
|
|
72
|
-
export type KeyPair = {
|
|
73
|
-
publicKey?: KeyPairKey;
|
|
74
|
-
privateKey?: KeyPairKey;
|
|
75
|
-
};
|
|
76
|
-
export type GenerateKeyPairPromiseReturn = [error?: Error, keypair?: KeyPair];
|
|
77
|
-
export declare const generateKeyPair: (type: KeyPairType, options: GenerateKeyPairOptions, callback: GenerateKeyPairCallback) => void;
|
|
78
|
-
export declare const generateKeyPairPromise: (type: KeyPairType, options: GenerateKeyPairOptions) => Promise<GenerateKeyPairPromiseReturn>;
|
|
79
|
-
export declare function generateKeyPairSync(type: KeyPairType): CryptoKeyPair;
|
|
80
|
-
export declare function generateKeyPairSync(type: KeyPairType, options: GenerateKeyPairOptions): CryptoKeyPair;
|
|
81
|
-
//# sourceMappingURL=Cipher.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Cipher.d.ts","sourceRoot":"","sources":["../../src/Cipher.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,KAAK,UAAU,EAWf,KAAK,cAAc,EACpB,MAAM,SAAS,CAAC;AAEjB,OAAO,KAAK,EACV,gBAAgB,EAChB,cAAc,EACd,cAAc,EACd,gBAAgB,EAChB,gBAAgB,EAChB,cAAc,EACd,WAAW,EACX,WAAW,EACX,WAAW,EACX,SAAS,EACT,SAAS,EACT,SAAS,EACV,MAAM,QAAQ,CAAC;AAEhB,OAAO,EAAE,MAAM,EAAE,MAAM,gCAAgC,CAAC;AAGxD,OAAO,EACL,SAAS,EAKT,KAAK,aAAa,EAClB,KAAK,WAAW,EAEjB,MAAM,QAAQ,CAAC;AAChB,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAErE,oBAAY,OAAO;IACjB,yBAAyB,IAAA;IACzB,sBAAsB,IAAA;CACvB;AAiND,wBAAgB,cAAc,CAC5B,SAAS,EAAE,cAAc,EACzB,QAAQ,EAAE,cAAc,EACxB,OAAO,EAAE,gBAAgB,GACxB,WAAW,CAAC;AACf,wBAAgB,cAAc,CAC5B,SAAS,EAAE,cAAc,EACzB,QAAQ,EAAE,cAAc,EACxB,OAAO,CAAC,EAAE,gBAAgB,GACzB,WAAW,CAAC;AASf,wBAAgB,gBAAgB,CAC9B,SAAS,EAAE,cAAc,EACzB,GAAG,EAAE,cAAc,EACnB,EAAE,EAAE,UAAU,EACd,OAAO,EAAE,gBAAgB,GACxB,WAAW,CAAC;AACf,wBAAgB,gBAAgB,CAC9B,SAAS,EAAE,cAAc,EACzB,GAAG,EAAE,cAAc,EACnB,EAAE,EAAE,UAAU,EACd,OAAO,EAAE,gBAAgB,GACxB,WAAW,CAAC;AACf,wBAAgB,gBAAgB,CAC9B,SAAS,EAAE,cAAc,EACzB,GAAG,EAAE,cAAc,EACnB,EAAE,EAAE,UAAU,EACd,OAAO,CAAC,EAAE,gBAAgB,GACzB,WAAW,CAAC;AAcf,wBAAgB,YAAY,CAC1B,SAAS,EAAE,cAAc,EACzB,QAAQ,EAAE,cAAc,EACxB,OAAO,EAAE,gBAAgB,GACxB,SAAS,CAAC;AACb,wBAAgB,YAAY,CAC1B,SAAS,EAAE,cAAc,EACzB,QAAQ,EAAE,cAAc,EACxB,OAAO,CAAC,EAAE,gBAAgB,GACzB,SAAS,CAAC;AASb,wBAAgB,cAAc,CAC5B,SAAS,EAAE,cAAc,EACzB,GAAG,EAAE,cAAc,EACnB,EAAE,EAAE,UAAU,EACd,OAAO,EAAE,gBAAgB,GACxB,SAAS,CAAC;AACb,wBAAgB,cAAc,CAC5B,SAAS,EAAE,cAAc,EACzB,GAAG,EAAE,cAAc,EACnB,EAAE,EAAE,UAAU,EACd,OAAO,EAAE,gBAAgB,GACxB,SAAS,CAAC;AACb,wBAAgB,cAAc,CAC5B,SAAS,EAAE,cAAc,EACzB,GAAG,EAAE,cAAc,EACnB,EAAE,EAAE,UAAU,EACd,OAAO,CAAC,EAAE,gBAAgB,GACzB,SAAS,CAAC;AAuEb,eAAO,MAAM,aAAa,YAtCb;IACP,GAAG,EAAE,GAAG,CAAC;IACT,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,GAAG,CAAC;IACb,OAAO,CAAC,EAAE,GAAG,CAAC;IACd,QAAQ,CAAC,EAAE,GAAG,CAAC;IACf,SAAS,CAAC,EAAE,GAAG,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,UACO,UAAU,WAiCrB,CAAC;AACF,eAAO,MAAM,aAAa,YA3Cb;IACP,GAAG,EAAE,GAAG,CAAC;IACT,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,GAAG,CAAC;IACb,OAAO,CAAC,EAAE,GAAG,CAAC;IACd,QAAQ,CAAC,EAAE,GAAG,CAAC;IACf,SAAS,CAAC,EAAE,GAAG,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,UACO,UAAU,WAsCrB,CAAC;AAGF,eAAO,MAAM,cAAc,YAlDd;IACP,GAAG,EAAE,GAAG,CAAC;IACT,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,GAAG,CAAC;IACb,OAAO,CAAC,EAAE,GAAG,CAAC;IACd,QAAQ,CAAC,EAAE,GAAG,CAAC;IACf,SAAS,CAAC,EAAE,GAAG,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,UACO,UAAU,WA6CrB,CAAC;AAUF,MAAM,MAAM,sBAAsB,GAAG;IACnC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,iBAAiB,CAAC,EAAE,GAAG,CAAC;IACxB,kBAAkB,CAAC,EAAE,GAAG,CAAC;IACzB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,IAAI,CAAC,EAAE,GAAG,CAAC;IACX,QAAQ,CAAC,EAAE,GAAG,CAAC;CAChB,CAAC;AAEF,MAAM,MAAM,UAAU,GAAG,MAAM,GAAG,eAAe,GAAG,SAAS,GAAG,SAAS,CAAC;AAE1E,MAAM,MAAM,qBAAqB,GAAG;IAClC,KAAK,CAAC,EAAE,KAAK;IACb,UAAU,CAAC,EAAE,UAAU;IACvB,SAAS,CAAC,EAAE,UAAU;CACvB,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAAG,CACpC,KAAK,CAAC,EAAE,KAAK,EACb,SAAS,CAAC,EAAE,UAAU,EACtB,UAAU,CAAC,EAAE,UAAU,KACpB,qBAAqB,GAAG,IAAI,CAAC;AAElC,MAAM,MAAM,OAAO,GAAG;IACpB,SAAS,CAAC,EAAE,UAAU,CAAC;IACvB,UAAU,CAAC,EAAE,UAAU,CAAC;CACzB,CAAC;AAEF,MAAM,MAAM,4BAA4B,GAAG,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,EAAE,OAAO,CAAC,CAAC;AAkT9E,eAAO,MAAM,eAAe,SACpB,WAAW,WACR,sBAAsB,YACrB,uBAAuB,KAChC,IAGF,CAAC;AAIF,eAAO,MAAM,sBAAsB,SAC3B,WAAW,WACR,sBAAsB,KAC9B,OAAO,CAAC,4BAA4B,CAUtC,CAAC;AAGF,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,WAAW,GAAG,aAAa,CAAC;AACtE,wBAAgB,mBAAmB,CACjC,IAAI,EAAE,WAAW,EACjB,OAAO,EAAE,sBAAsB,GAC9B,aAAa,CAAC"}
|
package/lib/typescript/Hash.d.ts
DELETED
|
@@ -1,44 +0,0 @@
|
|
|
1
|
-
import { type Encoding, type BufferLike } from './Utils';
|
|
2
|
-
import Stream from 'readable-stream';
|
|
3
|
-
import { Buffer } from '@craftzdog/react-native-buffer';
|
|
4
|
-
import type { SubtleAlgorithm } from './keys';
|
|
5
|
-
interface HashOptionsBase extends Stream.TransformOptions {
|
|
6
|
-
outputLength?: number | undefined;
|
|
7
|
-
}
|
|
8
|
-
type HashOptions = null | undefined | HashOptionsBase;
|
|
9
|
-
export declare function createHash(algorithm: string, options?: HashOptions): Hash;
|
|
10
|
-
declare class Hash extends Stream.Transform {
|
|
11
|
-
private internalHash;
|
|
12
|
-
constructor(other: Hash, options?: HashOptions);
|
|
13
|
-
constructor(algorithm: string, options?: HashOptions);
|
|
14
|
-
copy(options?: HashOptionsBase): Hash;
|
|
15
|
-
/**
|
|
16
|
-
* Updates the hash content with the given `data`, the encoding of which
|
|
17
|
-
* is given in `inputEncoding`.
|
|
18
|
-
* If `encoding` is not provided, and the `data` is a string, an
|
|
19
|
-
* encoding of `'utf8'` is enforced. If `data` is a `Buffer`, `TypedArray`, or`DataView`, then `inputEncoding` is ignored.
|
|
20
|
-
*
|
|
21
|
-
* This can be called many times with new data as it is streamed.
|
|
22
|
-
* @since v0.1.92
|
|
23
|
-
* @param inputEncoding The `encoding` of the `data` string.
|
|
24
|
-
*/
|
|
25
|
-
update(data: string | ArrayBuffer, inputEncoding?: Encoding): Hash;
|
|
26
|
-
_transform(chunk: string | ArrayBuffer, encoding: Encoding, callback: () => void): void;
|
|
27
|
-
_flush(callback: () => void): void;
|
|
28
|
-
/**
|
|
29
|
-
* Calculates the digest of all of the data passed to be hashed (using the `hash.update()` method).
|
|
30
|
-
* If `encoding` is provided a string will be returned; otherwise
|
|
31
|
-
* a `Buffer` is returned.
|
|
32
|
-
*
|
|
33
|
-
* The `Hash` object can not be used again after `hash.digest()` method has been
|
|
34
|
-
* called. Multiple calls will cause an error to be thrown.
|
|
35
|
-
* @since v0.1.92
|
|
36
|
-
* @param encoding The `encoding` of the return value.
|
|
37
|
-
*/
|
|
38
|
-
digest(): Buffer;
|
|
39
|
-
digest(encoding: 'buffer'): Buffer;
|
|
40
|
-
digest(encoding: Encoding): string;
|
|
41
|
-
}
|
|
42
|
-
export declare const asyncDigest: (algorithm: SubtleAlgorithm, data: BufferLike) => Promise<ArrayBuffer>;
|
|
43
|
-
export {};
|
|
44
|
-
//# sourceMappingURL=Hash.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Hash.d.ts","sourceRoot":"","sources":["../../src/Hash.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,KAAK,QAAQ,EAIb,KAAK,UAAU,EAEhB,MAAM,SAAS,CAAC;AACjB,OAAO,MAAM,MAAM,iBAAiB,CAAC;AACrC,OAAO,EAAE,MAAM,EAAE,MAAM,gCAAgC,CAAC;AAExD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,QAAQ,CAAC;AAE9C,UAAU,eAAgB,SAAQ,MAAM,CAAC,gBAAgB;IACvD,YAAY,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CACnC;AAED,KAAK,WAAW,GAAG,IAAI,GAAG,SAAS,GAAG,eAAe,CAAC;AAMtD,wBAAgB,UAAU,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,WAAW,QAElE;AAED,cAAM,IAAK,SAAQ,MAAM,CAAC,SAAS;IACjC,OAAO,CAAC,YAAY,CAAe;gBAEvB,KAAK,EAAE,IAAI,EAAE,OAAO,CAAC,EAAE,WAAW;gBAClC,SAAS,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,WAAW;IAUpD,IAAI,CAAC,OAAO,CAAC,EAAE,eAAe,GAAG,IAAI;IAIrC;;;;;;;;;OASG;IACH,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,WAAW,EAAE,aAAa,CAAC,EAAE,QAAQ,GAAG,IAAI;IAUlE,UAAU,CACR,KAAK,EAAE,MAAM,GAAG,WAAW,EAC3B,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,MAAM,IAAI;IAMtB,MAAM,CAAC,QAAQ,EAAE,MAAM,IAAI;IAK3B;;;;;;;;;OASG;IACH,MAAM,IAAI,MAAM;IAChB,MAAM,CAAC,QAAQ,EAAE,QAAQ,GAAG,MAAM;IAClC,MAAM,CAAC,QAAQ,EAAE,QAAQ,GAAG,MAAM;CAUnC;AAID,eAAO,MAAM,WAAW,cACX,eAAe,QACpB,UAAU,KACf,OAAO,CAAC,WAAW,CAqBrB,CAAC"}
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import type { HashAlgorithm } from './keys';
|
|
2
|
-
export declare enum HashContext {
|
|
3
|
-
Node = 0,
|
|
4
|
-
WebCrypto = 1,
|
|
5
|
-
JwkRsa = 2,
|
|
6
|
-
JwkRsaPss = 3,
|
|
7
|
-
JwkRsaOaep = 4,
|
|
8
|
-
JwkHmac = 5
|
|
9
|
-
}
|
|
10
|
-
export declare function normalizeHashName(algo: string | HashAlgorithm | undefined, context?: HashContext): HashAlgorithm;
|
|
11
|
-
//# sourceMappingURL=Hashnames.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Hashnames.d.ts","sourceRoot":"","sources":["../../src/Hashnames.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAC;AAE5C,oBAAY,WAAW;IACrB,IAAI,IAAA;IACJ,SAAS,IAAA;IACT,MAAM,IAAA;IACN,SAAS,IAAA;IACT,UAAU,IAAA;IACV,OAAO,IAAA;CACR;AAuED,wBAAgB,iBAAiB,CAC/B,IAAI,EAAE,MAAM,GAAG,aAAa,GAAG,SAAS,EACxC,OAAO,GAAE,WAA8B,GACtC,aAAa,CASf"}
|