react-native-quick-crypto 0.7.3 → 1.0.0-beta.1
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/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/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/package.json +54 -108
- 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/README.md +0 -203
- 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
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
require "json"
|
|
2
|
+
|
|
3
|
+
package = JSON.parse(File.read(File.join(__dir__, "package.json")))
|
|
4
|
+
|
|
5
|
+
Pod::UI.puts "[QuickCrypto] crypto just got quicker 💨"
|
|
6
|
+
|
|
7
|
+
Pod::Spec.new do |s|
|
|
8
|
+
s.name = "QuickCrypto"
|
|
9
|
+
s.version = package["version"]
|
|
10
|
+
s.summary = package["description"]
|
|
11
|
+
s.homepage = package["homepage"]
|
|
12
|
+
s.license = package["license"]
|
|
13
|
+
s.authors = package["authors"]
|
|
14
|
+
|
|
15
|
+
s.platforms = { :ios => min_ios_version_supported }
|
|
16
|
+
s.source = { :git => "https://github.com/margelo/react-native-quick-crypto.git", :tag => "#{s.version}" }
|
|
17
|
+
|
|
18
|
+
s.source_files = [
|
|
19
|
+
# implementation (Swift)
|
|
20
|
+
"ios/**/*.{swift}",
|
|
21
|
+
# ios (Objective-C++)
|
|
22
|
+
"ios/**/*.{h,m,mm}",
|
|
23
|
+
# implementation (C++)
|
|
24
|
+
"cpp/**/*.{hpp,cpp}",
|
|
25
|
+
]
|
|
26
|
+
|
|
27
|
+
# Add all files generated by Nitrogen
|
|
28
|
+
load 'nitrogen/generated/ios/QuickCrypto+autolinking.rb'
|
|
29
|
+
add_nitrogen_files(s)
|
|
30
|
+
|
|
31
|
+
install_modules_dependencies(s)
|
|
32
|
+
s.dependency "OpenSSL-Universal"
|
|
33
|
+
|
|
34
|
+
end
|
package/android/CMakeLists.txt
CHANGED
|
@@ -1,76 +1,44 @@
|
|
|
1
|
-
|
|
2
|
-
cmake_minimum_required(VERSION 3.10.2)
|
|
1
|
+
cmake_minimum_required(VERSION 3.9.0)
|
|
3
2
|
|
|
4
|
-
|
|
5
|
-
set(
|
|
6
|
-
set(CMAKE_VERBOSE_MAKEFILE ON)
|
|
7
|
-
set(CMAKE_CXX_STANDARD 17)
|
|
8
|
-
|
|
9
|
-
# set (CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -g")
|
|
10
|
-
# set (CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -g")
|
|
3
|
+
project(QuickCrypto)
|
|
4
|
+
set(PACKAGE_NAME QuickCrypto)
|
|
11
5
|
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
find_package(ReactAndroid REQUIRED CONFIG)
|
|
15
|
-
find_package(openssl REQUIRED CONFIG)
|
|
16
|
-
find_library(LOG_LIB log)
|
|
6
|
+
set(CMAKE_VERBOSE_MAKEFILE ON)
|
|
7
|
+
set(CMAKE_CXX_STANDARD 20)
|
|
17
8
|
|
|
9
|
+
# Define C++ library and add all sources
|
|
18
10
|
add_library(
|
|
19
|
-
${PACKAGE_NAME}
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
"../cpp/MGLQuickCryptoHostObject.cpp"
|
|
23
|
-
"../cpp/JSIUtils/MGLTypedArray.cpp"
|
|
24
|
-
"../cpp/Utils/MGLDispatchQueue.cpp"
|
|
25
|
-
"../cpp/JSIUtils/MGLThreadAwareHostObject.cpp"
|
|
26
|
-
"../cpp/JSIUtils/MGLSmartHostObject.cpp"
|
|
27
|
-
"../cpp/HMAC/MGLHmacInstaller.cpp"
|
|
28
|
-
"../cpp/HMAC/MGLHmacHostObject.cpp"
|
|
29
|
-
"../cpp/fastpbkdf2/MGLPbkdf2HostObject.cpp"
|
|
30
|
-
"../cpp/fastpbkdf2/fastpbkdf2.c"
|
|
31
|
-
"../cpp/Random/MGLRandomHostObject.cpp"
|
|
32
|
-
"../cpp/Hash/MGLHashInstaller.cpp"
|
|
33
|
-
"../cpp/Hash/MGLHashHostObject.cpp"
|
|
34
|
-
"../cpp/Cipher/MGLCipherHostObject.cpp"
|
|
35
|
-
"../cpp/Cipher/MGLCreateCipherInstaller.cpp"
|
|
36
|
-
"../cpp/Cipher/MGLCreateDecipherInstaller.cpp"
|
|
37
|
-
"../cpp/MGLKeys.cpp"
|
|
38
|
-
"../cpp/Utils/MGLUtils.cpp"
|
|
39
|
-
"../cpp/Cipher/MGLRsa.cpp"
|
|
40
|
-
"../cpp/Cipher/MGLGenerateKeyPairInstaller.cpp"
|
|
41
|
-
"../cpp/Cipher/MGLGenerateKeyPairSyncInstaller.cpp"
|
|
42
|
-
"../cpp/Sig/MGLSignInstaller.cpp"
|
|
43
|
-
"../cpp/Sig/MGLVerifyInstaller.cpp"
|
|
44
|
-
"../cpp/Sig/MGLSignHostObjects.cpp"
|
|
45
|
-
"../cpp/webcrypto/MGLWebCrypto.cpp"
|
|
46
|
-
"../cpp/webcrypto/crypto_aes.cpp"
|
|
47
|
-
"../cpp/webcrypto/crypto_ec.cpp"
|
|
48
|
-
"../cpp/webcrypto/crypto_keygen.cpp"
|
|
11
|
+
${PACKAGE_NAME} SHARED
|
|
12
|
+
src/main/cpp/cpp-adapter.cpp
|
|
13
|
+
../cpp/random/HybridRandom.cpp
|
|
49
14
|
)
|
|
50
15
|
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
PRIVATE
|
|
54
|
-
"../cpp"
|
|
55
|
-
"src/main/cpp"
|
|
56
|
-
"${NODE_MODULES_DIR}/react-native/ReactCommon"
|
|
57
|
-
"${NODE_MODULES_DIR}/react-native/ReactCommon/callinvoker"
|
|
58
|
-
"${NODE_MODULES_DIR}/react-native/ReactAndroid/src/main/jni/react/turbomodule"
|
|
59
|
-
"${NODE_MODULES_DIR}/react-native/ReactCommon/jsi"
|
|
60
|
-
"${NODE_MODULES_DIR}/react-native/ReactCommon/turbomodule/core"
|
|
61
|
-
"${NODE_MODULES_DIR}/react-native/ReactCommon/react/nativemodule/core"
|
|
62
|
-
)
|
|
16
|
+
include_directories(../cpp)
|
|
17
|
+
include(${CMAKE_SOURCE_DIR}/../nitrogen/generated/android/QuickCrypto+autolinking.cmake)
|
|
63
18
|
|
|
64
|
-
#
|
|
19
|
+
# Third party libraries (Prefabs)
|
|
20
|
+
find_library(LOG_LIB log)
|
|
21
|
+
|
|
22
|
+
find_package(ReactAndroid REQUIRED CONFIG)
|
|
23
|
+
find_package(fbjni REQUIRED CONFIG)
|
|
24
|
+
find_package(openssl REQUIRED CONFIG)
|
|
65
25
|
|
|
26
|
+
# Link all libraries together
|
|
66
27
|
target_link_libraries(
|
|
67
28
|
${PACKAGE_NAME}
|
|
68
|
-
ReactAndroid::turbomodulejsijni
|
|
69
|
-
fbjni::fbjni # <-- fbjni
|
|
70
29
|
${LOG_LIB} # <-- Logcat logger
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
ReactAndroid::react_nativemodule_core # <-- RN: React Native native module core
|
|
74
|
-
android # <-- Android JNI core
|
|
30
|
+
android # <-- Android core
|
|
31
|
+
fbjni::fbjni # <-- Facebook C++ JNI helpers
|
|
75
32
|
openssl::crypto # <-- OpenSSL (Crypto)
|
|
76
|
-
|
|
33
|
+
ReactAndroid::jsi
|
|
34
|
+
ReactAndroid::turbomodulejsijni
|
|
35
|
+
ReactAndroid::react_nativemodule_core
|
|
36
|
+
ReactAndroid::react_render_core
|
|
37
|
+
ReactAndroid::runtimeexecutor
|
|
38
|
+
ReactAndroid::fabricjni
|
|
39
|
+
ReactAndroid::react_debug
|
|
40
|
+
ReactAndroid::react_render_core
|
|
41
|
+
ReactAndroid::react_render_componentregistry
|
|
42
|
+
ReactAndroid::rrc_view
|
|
43
|
+
ReactAndroid::folly_runtime
|
|
44
|
+
)
|
package/android/build.gradle
CHANGED
|
@@ -1,118 +1,56 @@
|
|
|
1
|
-
import java.nio.file.Paths
|
|
2
|
-
import com.android.Version
|
|
3
|
-
|
|
4
|
-
def agpVersion = com.android.Version.ANDROID_GRADLE_PLUGIN_VERSION
|
|
5
|
-
def agpVersionMajor = agpVersion.tokenize('.')[0].toInteger()
|
|
6
|
-
def agpVersionMinor = agpVersion.tokenize('.')[1].toInteger()
|
|
7
|
-
|
|
8
1
|
buildscript {
|
|
2
|
+
ext.kotlinVersion = '1.9.25'
|
|
3
|
+
|
|
9
4
|
repositories {
|
|
10
|
-
maven {
|
|
11
|
-
url "https://plugins.gradle.org/m2/"
|
|
12
|
-
}
|
|
13
|
-
mavenCentral()
|
|
14
5
|
google()
|
|
6
|
+
mavenCentral()
|
|
15
7
|
}
|
|
16
8
|
|
|
17
9
|
dependencies {
|
|
18
|
-
classpath
|
|
10
|
+
classpath "com.android.tools.build:gradle:8.2.2"
|
|
11
|
+
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:${kotlinVersion}"
|
|
19
12
|
}
|
|
20
13
|
}
|
|
21
14
|
|
|
22
|
-
def
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
// - Invoke gradle with `-newArchEnabled=true`
|
|
26
|
-
// - Set an environment variable `ORG_GRADLE_PROJECT_newArchEnabled=true`
|
|
27
|
-
return project.hasProperty("newArchEnabled") && project.newArchEnabled == "true"
|
|
15
|
+
def reactNativeArchitectures() {
|
|
16
|
+
def value = rootProject.getProperties().get("reactNativeArchitectures")
|
|
17
|
+
return value ? value.split(",") : ["armeabi-v7a", "x86", "x86_64", "arm64-v8a"]
|
|
28
18
|
}
|
|
29
19
|
|
|
30
|
-
def
|
|
31
|
-
|
|
32
|
-
String tskReqStr = gradle.getStartParameter().getTaskRequests()['args'].toString()
|
|
33
|
-
|
|
34
|
-
return tskReqStr.contains('Release') ? 'release' : 'debug'
|
|
20
|
+
def isNewArchitectureEnabled() {
|
|
21
|
+
return rootProject.hasProperty("newArchEnabled") && rootProject.getProperty("newArchEnabled") == "true"
|
|
35
22
|
}
|
|
36
23
|
|
|
24
|
+
apply plugin: "com.android.library"
|
|
25
|
+
apply plugin: "org.jetbrains.kotlin.android"
|
|
26
|
+
apply from: "../nitrogen/generated/android/QuickCrypto+autolinking.gradle"
|
|
27
|
+
|
|
37
28
|
if (isNewArchitectureEnabled()) {
|
|
38
29
|
apply plugin: "com.facebook.react"
|
|
39
30
|
}
|
|
40
|
-
apply plugin: 'com.android.library'
|
|
41
|
-
|
|
42
|
-
def safeExtGet(prop, fallback) {
|
|
43
|
-
rootProject.ext.has(prop) ? rootProject.ext.get(prop) : fallback
|
|
44
|
-
}
|
|
45
31
|
|
|
46
|
-
def
|
|
47
|
-
|
|
48
|
-
return value ? value.split(",") : ["armeabi-v7a", "x86", "x86_64", "arm64-v8a"]
|
|
32
|
+
def getExtOrDefault(name) {
|
|
33
|
+
return rootProject.ext.has(name) ? rootProject.ext.get(name) : project.properties["QuickCrypto_" + name]
|
|
49
34
|
}
|
|
50
35
|
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
// Node's module resolution algorithm searches up to the root directory,
|
|
54
|
-
// after which the base path will be null
|
|
55
|
-
while (basePath) {
|
|
56
|
-
def nodeModulesPath = Paths.get(basePath.toString(), "node_modules")
|
|
57
|
-
def reactNativePath = Paths.get(nodeModulesPath.toString(), "react-native")
|
|
58
|
-
if (nodeModulesPath.toFile().exists() && reactNativePath.toFile().exists()) {
|
|
59
|
-
return nodeModulesPath.toString()
|
|
60
|
-
}
|
|
61
|
-
basePath = basePath.getParent()
|
|
62
|
-
}
|
|
63
|
-
throw new GradleException("react-native-quick-crypto: Failed to find node_modules/ path!")
|
|
64
|
-
}
|
|
65
|
-
|
|
66
|
-
def nodeModules = findNodeModules(projectDir)
|
|
67
|
-
|
|
68
|
-
repositories {
|
|
69
|
-
google()
|
|
70
|
-
mavenCentral()
|
|
36
|
+
def getExtOrIntegerDefault(name) {
|
|
37
|
+
return rootProject.ext.has(name) ? rootProject.ext.get(name) : (project.properties["QuickCrypto_" + name]).toInteger()
|
|
71
38
|
}
|
|
72
39
|
|
|
73
40
|
android {
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
// Namespace support was added in 7.3.0
|
|
78
|
-
namespace "com.margelo.quickcrypto"
|
|
79
|
-
|
|
80
|
-
sourceSets {
|
|
81
|
-
main {
|
|
82
|
-
manifest.srcFile "src/main/AndroidManifestNew.xml"
|
|
83
|
-
}
|
|
84
|
-
}
|
|
85
|
-
}
|
|
86
|
-
|
|
87
|
-
if (agpVersionMajor >= 8) {
|
|
88
|
-
buildFeatures {
|
|
89
|
-
buildConfig = true
|
|
90
|
-
}
|
|
91
|
-
}
|
|
92
|
-
|
|
93
|
-
// Used to override the NDK path/version on internal CI or by allowing
|
|
94
|
-
// users to customize the NDK path/version from their root project (e.g. for M1 support)
|
|
95
|
-
if (rootProject.hasProperty("ndkPath")) {
|
|
96
|
-
ndkPath rootProject.ext.ndkPath
|
|
97
|
-
}
|
|
98
|
-
if (rootProject.hasProperty("ndkVersion")) {
|
|
99
|
-
ndkVersion rootProject.ext.ndkVersion
|
|
100
|
-
}
|
|
101
|
-
|
|
102
|
-
buildFeatures {
|
|
103
|
-
prefab true
|
|
104
|
-
}
|
|
41
|
+
namespace "com.margelo.nitro.quickcrypto"
|
|
42
|
+
ndkVersion getExtOrDefault("ndkVersion")
|
|
43
|
+
compileSdkVersion getExtOrIntegerDefault("compileSdkVersion")
|
|
105
44
|
|
|
106
45
|
defaultConfig {
|
|
107
|
-
minSdkVersion
|
|
108
|
-
targetSdkVersion
|
|
109
|
-
versionCode 1
|
|
110
|
-
versionName "1.0"
|
|
46
|
+
minSdkVersion getExtOrIntegerDefault("minSdkVersion")
|
|
47
|
+
targetSdkVersion getExtOrIntegerDefault("targetSdkVersion")
|
|
111
48
|
buildConfigField "boolean", "IS_NEW_ARCHITECTURE_ENABLED", isNewArchitectureEnabled().toString()
|
|
49
|
+
|
|
112
50
|
externalNativeBuild {
|
|
113
51
|
cmake {
|
|
114
|
-
cppFlags "-O2 -frtti -fexceptions -Wall -
|
|
115
|
-
arguments "-DANDROID_STL=c++_shared"
|
|
52
|
+
cppFlags "-O2 -frtti -fexceptions -Wall -fstack-protector-all"
|
|
53
|
+
arguments "-DANDROID_STL=c++_shared"
|
|
116
54
|
abiFilters (*reactNativeArchitectures())
|
|
117
55
|
}
|
|
118
56
|
}
|
|
@@ -124,42 +62,36 @@ android {
|
|
|
124
62
|
}
|
|
125
63
|
}
|
|
126
64
|
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
"**/libc++_shared.so",
|
|
131
|
-
"**/libfbjni.so",
|
|
132
|
-
"**/libreactnativejni.so",
|
|
133
|
-
"**/libjsi.so",
|
|
134
|
-
"**/libreact_nativemodule_core.so",
|
|
135
|
-
"**/libturbomodulejsijni.so",
|
|
136
|
-
"**/MANIFEST.MF",
|
|
137
|
-
]
|
|
65
|
+
buildFeatures {
|
|
66
|
+
buildConfig true
|
|
67
|
+
prefab true
|
|
138
68
|
}
|
|
139
69
|
|
|
140
70
|
buildTypes {
|
|
141
71
|
release {
|
|
142
72
|
minifyEnabled false
|
|
143
73
|
}
|
|
144
|
-
debug {
|
|
145
|
-
packagingOptions {
|
|
146
|
-
doNotStrip '**/*.so'
|
|
147
|
-
}
|
|
148
|
-
minifyEnabled false
|
|
149
|
-
debuggable true
|
|
150
|
-
jniDebuggable true
|
|
151
|
-
renderscriptDebuggable true
|
|
152
|
-
}
|
|
153
74
|
}
|
|
154
75
|
|
|
155
76
|
lintOptions {
|
|
156
|
-
disable
|
|
77
|
+
disable "GradleCompatible"
|
|
157
78
|
}
|
|
79
|
+
|
|
158
80
|
compileOptions {
|
|
159
81
|
sourceCompatibility JavaVersion.VERSION_1_8
|
|
160
82
|
targetCompatibility JavaVersion.VERSION_1_8
|
|
161
83
|
}
|
|
162
84
|
|
|
85
|
+
sourceSets {
|
|
86
|
+
main {
|
|
87
|
+
if (isNewArchitectureEnabled()) {
|
|
88
|
+
java.srcDirs += [
|
|
89
|
+
// React Codegen files
|
|
90
|
+
"${project.buildDir}/generated/source/codegen/java"
|
|
91
|
+
]
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
}
|
|
163
95
|
}
|
|
164
96
|
|
|
165
97
|
repositories {
|
|
@@ -167,24 +99,19 @@ repositories {
|
|
|
167
99
|
google()
|
|
168
100
|
}
|
|
169
101
|
|
|
102
|
+
|
|
170
103
|
dependencies {
|
|
171
104
|
//noinspection GradleDynamicVersion
|
|
172
|
-
implementation "com.facebook.react:react-
|
|
173
|
-
|
|
174
|
-
implementation
|
|
105
|
+
implementation "com.facebook.react:react-native:+"
|
|
106
|
+
|
|
107
|
+
implementation project(":react-native-nitro-modules")
|
|
108
|
+
implementation "com.android.ndk.thirdparty:openssl:1.1.1q-beta-1"
|
|
175
109
|
}
|
|
176
110
|
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
}
|
|
183
|
-
}
|
|
184
|
-
// We want to add a dependency for both configureCMakeRelease and configureCMakeRelWithDebInfo
|
|
185
|
-
if (task.name.contains("configureCMakeRel")) {
|
|
186
|
-
rootProject.getTasksByName("packageReactNdkReleaseLibs", true).forEach {
|
|
187
|
-
task.dependsOn(it)
|
|
188
|
-
}
|
|
111
|
+
if (isNewArchitectureEnabled()) {
|
|
112
|
+
react {
|
|
113
|
+
jsRootDir = file("../src/")
|
|
114
|
+
libraryName = "QuickCrypto"
|
|
115
|
+
codegenJavaPackageName = "com.margelo.nitro.quickcrypto"
|
|
189
116
|
}
|
|
190
|
-
}
|
|
117
|
+
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
QuickCrypto_compileSdkVersion=
|
|
2
|
-
QuickCrypto_targetSdkVersion=
|
|
3
|
-
|
|
4
|
-
|
|
1
|
+
QuickCrypto_compileSdkVersion=34
|
|
2
|
+
QuickCrypto_targetSdkVersion=34
|
|
3
|
+
QuickCrypto_minSdkVersion=23
|
|
4
|
+
QuickCrypto_ndkVersion=21.4.7075529
|
|
5
5
|
|
|
6
6
|
android.useAndroidX=true
|
|
@@ -1,60 +1,15 @@
|
|
|
1
|
-
#include <ReactCommon/CallInvokerHolder.h>
|
|
2
|
-
#include <fbjni/fbjni.h>
|
|
3
1
|
#include <jni.h>
|
|
4
|
-
#include <jsi/jsi.h>
|
|
5
2
|
|
|
6
|
-
#include "
|
|
3
|
+
#include "random/HybridRandom.hpp"
|
|
4
|
+
#include <NitroModules/HybridObjectRegistry.hpp>
|
|
7
5
|
|
|
8
|
-
using namespace
|
|
6
|
+
using namespace margelo::nitro::crypto;
|
|
7
|
+
using namespace margelo::crypto;
|
|
9
8
|
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
9
|
+
JNIEXPORT jint JNICALL JNI_OnLoad(JavaVM* vm, void*) {
|
|
10
|
+
HybridObjectRegistry::registerHybridObjectConstructor(
|
|
11
|
+
"Random", []() -> std::shared_ptr<HybridObject> { return std::make_shared<HybridRandom>();
|
|
12
|
+
});
|
|
14
13
|
|
|
15
|
-
|
|
16
|
-
initHybrid(jni::alias_ref<jhybridobject> jThis) {
|
|
17
|
-
return makeCxxInstance();
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
CryptoCppAdapter() {}
|
|
21
|
-
|
|
22
|
-
void install(jsi::Runtime &runtime,
|
|
23
|
-
std::shared_ptr<facebook::react::CallInvoker> jsCallInvoker) {
|
|
24
|
-
auto workerQueue = std::make_shared<margelo::DispatchQueue::dispatch_queue>(
|
|
25
|
-
"margelo crypto worker thread");
|
|
26
|
-
auto hostObject = std::make_shared<margelo::MGLQuickCryptoHostObject>(
|
|
27
|
-
jsCallInvoker, workerQueue);
|
|
28
|
-
auto object = jsi::Object::createFromHostObject(runtime, hostObject);
|
|
29
|
-
runtime.global().setProperty(runtime, "__QuickCryptoProxy",
|
|
30
|
-
std::move(object));
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
void nativeInstall(
|
|
34
|
-
jlong jsiPtr,
|
|
35
|
-
jni::alias_ref<facebook::react::CallInvokerHolder::javaobject>
|
|
36
|
-
jsCallInvokerHolder) {
|
|
37
|
-
auto jsCallInvoker = jsCallInvokerHolder->cthis()->getCallInvoker();
|
|
38
|
-
auto runtime = reinterpret_cast<jsi::Runtime *>(jsiPtr);
|
|
39
|
-
if (runtime) {
|
|
40
|
-
install(*runtime, jsCallInvoker);
|
|
41
|
-
}
|
|
42
|
-
// if runtime was nullptr, QuickCrypto will not be installed. This should
|
|
43
|
-
// only happen while Remote Debugging (Chrome), but will be weird either
|
|
44
|
-
// way.
|
|
45
|
-
}
|
|
46
|
-
|
|
47
|
-
static void registerNatives() {
|
|
48
|
-
registerHybrid(
|
|
49
|
-
{makeNativeMethod("initHybrid", CryptoCppAdapter::initHybrid),
|
|
50
|
-
makeNativeMethod("nativeInstall", CryptoCppAdapter::nativeInstall)});
|
|
51
|
-
}
|
|
52
|
-
|
|
53
|
-
private:
|
|
54
|
-
friend HybridBase;
|
|
55
|
-
};
|
|
56
|
-
|
|
57
|
-
JNIEXPORT jint JNICALL JNI_OnLoad(JavaVM *vm, void *) {
|
|
58
|
-
return facebook::jni::initialize(vm,
|
|
59
|
-
[] { CryptoCppAdapter::registerNatives(); });
|
|
14
|
+
return JNI_VERSION_1_2;
|
|
60
15
|
}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
package com.margelo.nitro.quickcrypto;
|
|
2
|
+
|
|
3
|
+
import android.util.Log;
|
|
4
|
+
import androidx.annotation.Nullable;
|
|
5
|
+
|
|
6
|
+
import com.facebook.react.bridge.NativeModule;
|
|
7
|
+
import com.facebook.react.bridge.ReactApplicationContext;
|
|
8
|
+
import com.facebook.react.module.model.ReactModuleInfoProvider;
|
|
9
|
+
import com.facebook.react.TurboReactPackage;
|
|
10
|
+
|
|
11
|
+
import java.util.HashMap;
|
|
12
|
+
|
|
13
|
+
public class QuickCryptoPackage extends TurboReactPackage {
|
|
14
|
+
private static final String TAG = "QuickCrypto";
|
|
15
|
+
static {
|
|
16
|
+
try {
|
|
17
|
+
Log.i(TAG, "Loading C++ library...");
|
|
18
|
+
System.loadLibrary(TAG);
|
|
19
|
+
Log.i(TAG, "Successfully loaded C++ library!");
|
|
20
|
+
} catch (Throwable e) {
|
|
21
|
+
Log.e(TAG, "Failed to load C++ library! Is it properly installed and linked?", e);
|
|
22
|
+
throw e;
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
@Nullable
|
|
27
|
+
@Override
|
|
28
|
+
public NativeModule getModule(String name, ReactApplicationContext reactContext) {
|
|
29
|
+
return null;
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
@Override
|
|
33
|
+
public ReactModuleInfoProvider getReactModuleInfoProvider() {
|
|
34
|
+
return () -> {
|
|
35
|
+
return new HashMap<>();
|
|
36
|
+
};
|
|
37
|
+
}
|
|
38
|
+
}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
|
|
2
|
+
#include "HybridRandom.hpp"
|
|
3
|
+
#include <NitroModules/HybridObjectRegistry.hpp>
|
|
4
|
+
|
|
5
|
+
@interface QuickCryptoOnLoad : NSObject
|
|
6
|
+
@end
|
|
7
|
+
|
|
8
|
+
@implementation QuickCryptoOnLoad
|
|
9
|
+
|
|
10
|
+
using namespace margelo::nitro;
|
|
11
|
+
using namespace margelo::crypto;
|
|
12
|
+
|
|
13
|
+
+ (void)load {
|
|
14
|
+
HybridObjectRegistry::registerHybridObjectConstructor(
|
|
15
|
+
"Random", []() -> std::shared_ptr<HybridObject> { return std::make_shared<HybridRandom>();
|
|
16
|
+
});
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
@end
|
package/lib/commonjs/index.js
CHANGED
|
@@ -5,52 +5,49 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.install = exports.default = void 0;
|
|
7
7
|
var _reactNativeBuffer = require("@craftzdog/react-native-buffer");
|
|
8
|
-
var pbkdf2 = _interopRequireWildcard(require("./pbkdf2"));
|
|
9
8
|
var random = _interopRequireWildcard(require("./random"));
|
|
10
|
-
var
|
|
11
|
-
var _keygen = require("./keygen");
|
|
12
|
-
var _sig = require("./sig");
|
|
13
|
-
var _Hmac = require("./Hmac");
|
|
14
|
-
var _Hash = require("./Hash");
|
|
15
|
-
var _constants = require("./constants");
|
|
16
|
-
var _subtle = require("./subtle");
|
|
17
|
-
var _Utils = require("./Utils");
|
|
18
|
-
var _webcrypto = _interopRequireDefault(require("./webcrypto"));
|
|
19
|
-
var _keys = require("./keys");
|
|
20
|
-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
9
|
+
var _utils = require("./utils");
|
|
21
10
|
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
22
11
|
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
12
|
+
// polyfill imports
|
|
13
|
+
|
|
14
|
+
// API imports
|
|
15
|
+
|
|
16
|
+
// utils import
|
|
17
|
+
|
|
23
18
|
/**
|
|
24
|
-
* Loosely matches Node.js {crypto} with some unimplemented functionality
|
|
19
|
+
* Loosely matches Node.js {crypto} with some unimplemented functionality.
|
|
20
|
+
* See `docs/implementation-coverage.md` for status.
|
|
25
21
|
*/
|
|
26
22
|
const QuickCrypto = {
|
|
27
|
-
|
|
28
|
-
Hmac:
|
|
29
|
-
Hash:
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
...pbkdf2,
|
|
23
|
+
// createHmac,
|
|
24
|
+
// Hmac: createHmac,
|
|
25
|
+
// Hash: createHash,
|
|
26
|
+
// createHash,
|
|
27
|
+
// createCipher,
|
|
28
|
+
// createCipheriv,
|
|
29
|
+
// createDecipher,
|
|
30
|
+
// createDecipheriv,
|
|
31
|
+
// createPublicKey,
|
|
32
|
+
// createPrivateKey,
|
|
33
|
+
// createSecretKey,
|
|
34
|
+
// publicEncrypt,
|
|
35
|
+
// publicDecrypt,
|
|
36
|
+
// privateDecrypt,
|
|
37
|
+
// generateKey,
|
|
38
|
+
// generateKeyPair,
|
|
39
|
+
// generateKeyPairSync,
|
|
40
|
+
// generateKeySync,
|
|
41
|
+
// createSign,
|
|
42
|
+
// createVerify,
|
|
43
|
+
// subtle,
|
|
44
|
+
// constants,
|
|
45
|
+
// ...pbkdf2,
|
|
50
46
|
...random,
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
webcrypto
|
|
47
|
+
// getCiphers,
|
|
48
|
+
// getHashes,
|
|
49
|
+
// webcrypto,
|
|
50
|
+
utils: _utils.utils
|
|
54
51
|
};
|
|
55
52
|
|
|
56
53
|
/**
|
|
@@ -63,7 +60,10 @@ const install = () => {
|
|
|
63
60
|
// @ts-expect-error subtle isn't fully implemented and Cryptokey is missing
|
|
64
61
|
global.crypto = QuickCrypto;
|
|
65
62
|
};
|
|
63
|
+
|
|
64
|
+
// random, cipher, hash use nextTick
|
|
66
65
|
exports.install = install;
|
|
66
|
+
global.process.nextTick = setImmediate;
|
|
67
67
|
var _default = exports.default = QuickCrypto; // Additional exports for CommonJS compatibility
|
|
68
68
|
module.exports = QuickCrypto;
|
|
69
69
|
module.exports.default = QuickCrypto;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_reactNativeBuffer","require","
|
|
1
|
+
{"version":3,"names":["_reactNativeBuffer","require","random","_interopRequireWildcard","_utils","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","QuickCrypto","utils","install","global","Buffer","crypto","exports","process","nextTick","setImmediate","_default","module"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":";;;;;;AACA,IAAAA,kBAAA,GAAAC,OAAA;AAGA,IAAAC,MAAA,GAAAC,uBAAA,CAAAF,OAAA;AAGA,IAAAG,MAAA,GAAAH,OAAA;AAAgC,SAAAI,yBAAAC,CAAA,6BAAAC,OAAA,mBAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,CAAA,WAAAA,CAAA,GAAAG,CAAA,GAAAD,CAAA,KAAAF,CAAA;AAAA,SAAAH,wBAAAG,CAAA,EAAAE,CAAA,SAAAA,CAAA,IAAAF,CAAA,IAAAA,CAAA,CAAAI,UAAA,SAAAJ,CAAA,eAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,WAAAK,OAAA,EAAAL,CAAA,QAAAG,CAAA,GAAAJ,wBAAA,CAAAG,CAAA,OAAAC,CAAA,IAAAA,CAAA,CAAAG,GAAA,CAAAN,CAAA,UAAAG,CAAA,CAAAI,GAAA,CAAAP,CAAA,OAAAQ,CAAA,KAAAC,SAAA,UAAAC,CAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,CAAA,IAAAd,CAAA,oBAAAc,CAAA,OAAAC,cAAA,CAAAC,IAAA,CAAAhB,CAAA,EAAAc,CAAA,SAAAG,CAAA,GAAAP,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAb,CAAA,EAAAc,CAAA,UAAAG,CAAA,KAAAA,CAAA,CAAAV,GAAA,IAAAU,CAAA,CAAAC,GAAA,IAAAP,MAAA,CAAAC,cAAA,CAAAJ,CAAA,EAAAM,CAAA,EAAAG,CAAA,IAAAT,CAAA,CAAAM,CAAA,IAAAd,CAAA,CAAAc,CAAA,YAAAN,CAAA,CAAAH,OAAA,GAAAL,CAAA,EAAAG,CAAA,IAAAA,CAAA,CAAAe,GAAA,CAAAlB,CAAA,EAAAQ,CAAA,GAAAA,CAAA;AAPhC;;AAGA;;AAGA;;AAGA;AACA;AACA;AACA;AACA,MAAMW,WAAW,GAAG;EAClB;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,GAAGvB,MAAM;EACT;EACA;EACA;EACAwB,KAAK,EAALA;AACF,CAAC;;AAED;AACA;AACA;AACO,MAAMC,OAAO,GAAGA,CAAA,KAAM;EAC3B;EACAC,MAAM,CAACC,MAAM,GAAGA,yBAAM;;EAEtB;EACAD,MAAM,CAACE,MAAM,GAAGL,WAAW;AAC7B,CAAC;;AAED;AAAAM,OAAA,CAAAJ,OAAA,GAAAA,OAAA;AACAC,MAAM,CAACI,OAAO,CAACC,QAAQ,GAAGC,YAAY;AAAC,IAAAC,QAAA,GAAAJ,OAAA,CAAApB,OAAA,GAExBc,WAAW,EAE1B;AACAW,MAAM,CAACL,OAAO,GAAGN,WAAW;AAC5BW,MAAM,CAACL,OAAO,CAACpB,OAAO,GAAGc,WAAW;AACpCW,MAAM,CAACL,OAAO,CAACJ,OAAO,GAAGA,OAAO","ignoreList":[]}
|