react-native-quick-crypto 1.0.0-beta.8 → 1.0.0
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 +145 -6
- package/README.md +14 -27
- package/android/CMakeLists.txt +62 -7
- package/android/build.gradle +12 -2
- package/android/src/main/java/com/margelo/nitro/quickcrypto/QuickCryptoPackage.java +0 -2
- package/app.plugin.js +3 -0
- package/cpp/blake3/HybridBlake3.cpp +118 -0
- package/cpp/blake3/HybridBlake3.hpp +35 -0
- package/cpp/cipher/CCMCipher.cpp +199 -0
- package/cpp/cipher/CCMCipher.hpp +26 -0
- package/cpp/cipher/ChaCha20Cipher.cpp +97 -0
- package/cpp/cipher/ChaCha20Cipher.hpp +25 -0
- package/cpp/cipher/ChaCha20Poly1305Cipher.cpp +170 -0
- package/cpp/cipher/ChaCha20Poly1305Cipher.hpp +30 -0
- package/cpp/cipher/GCMCipher.cpp +68 -0
- package/cpp/cipher/GCMCipher.hpp +14 -0
- package/cpp/cipher/HybridCipher.cpp +322 -0
- package/cpp/cipher/HybridCipher.hpp +68 -0
- package/cpp/cipher/HybridCipherFactory.hpp +105 -0
- package/cpp/cipher/HybridRsaCipher.cpp +348 -0
- package/cpp/cipher/HybridRsaCipher.hpp +29 -0
- package/cpp/cipher/OCBCipher.cpp +55 -0
- package/cpp/cipher/OCBCipher.hpp +19 -0
- package/cpp/cipher/XSalsa20Cipher.cpp +61 -0
- package/cpp/cipher/XSalsa20Cipher.hpp +33 -0
- package/cpp/ec/HybridEcKeyPair.cpp +428 -0
- package/cpp/ec/HybridEcKeyPair.hpp +48 -0
- package/cpp/ed25519/HybridEdKeyPair.cpp +228 -98
- package/cpp/ed25519/HybridEdKeyPair.hpp +42 -56
- package/cpp/hash/HybridHash.cpp +185 -0
- package/cpp/hash/HybridHash.hpp +43 -0
- package/cpp/hmac/HybridHmac.cpp +95 -0
- package/cpp/hmac/HybridHmac.hpp +31 -0
- package/cpp/keys/HybridKeyObjectHandle.cpp +749 -0
- package/cpp/keys/HybridKeyObjectHandle.hpp +51 -0
- package/cpp/keys/KeyObjectData.cpp +268 -0
- package/cpp/keys/KeyObjectData.hpp +71 -0
- package/cpp/keys/node.h +5 -0
- package/cpp/pbkdf2/HybridPbkdf2.cpp +34 -55
- package/cpp/pbkdf2/HybridPbkdf2.hpp +5 -16
- package/cpp/random/HybridRandom.cpp +6 -17
- package/cpp/random/HybridRandom.hpp +5 -6
- package/cpp/rsa/HybridRsaKeyPair.cpp +154 -0
- package/cpp/rsa/HybridRsaKeyPair.hpp +43 -0
- package/cpp/sign/HybridSignHandle.cpp +191 -0
- package/cpp/sign/HybridSignHandle.hpp +36 -0
- package/cpp/sign/HybridVerifyHandle.cpp +158 -0
- package/cpp/sign/HybridVerifyHandle.hpp +36 -0
- package/cpp/sign/SignUtils.hpp +108 -0
- package/cpp/utils/Macros.hpp +68 -0
- package/cpp/utils/Utils.hpp +43 -2
- package/cpp/utils/base64.h +309 -0
- package/deps/blake3/.cargo/config.toml +2 -0
- package/deps/blake3/.git-blame-ignore-revs +2 -0
- package/deps/blake3/.github/workflows/build_b3sum.py +38 -0
- package/deps/blake3/.github/workflows/ci.yml +491 -0
- package/deps/blake3/.github/workflows/tag.yml +43 -0
- package/deps/blake3/.github/workflows/upload_github_release_asset.py +73 -0
- package/deps/blake3/CONTRIBUTING.md +31 -0
- package/deps/blake3/Cargo.toml +135 -0
- package/deps/blake3/LICENSE_A2 +202 -0
- package/deps/blake3/LICENSE_A2LLVM +219 -0
- package/deps/blake3/LICENSE_CC0 +121 -0
- package/deps/blake3/README.md +229 -0
- package/deps/blake3/b3sum/Cargo.lock +513 -0
- package/deps/blake3/b3sum/Cargo.toml +26 -0
- package/deps/blake3/b3sum/README.md +72 -0
- package/deps/blake3/b3sum/src/main.rs +564 -0
- package/deps/blake3/b3sum/src/unit_tests.rs +235 -0
- package/deps/blake3/b3sum/tests/cli_tests.rs +680 -0
- package/deps/blake3/b3sum/what_does_check_do.md +176 -0
- package/deps/blake3/benches/bench.rs +623 -0
- package/deps/blake3/build.rs +389 -0
- package/deps/blake3/c/CMakeLists.txt +383 -0
- package/deps/blake3/c/CMakePresets.json +73 -0
- package/deps/blake3/c/Makefile.testing +82 -0
- package/deps/blake3/c/README.md +403 -0
- package/deps/blake3/c/blake3-config.cmake.in +14 -0
- package/deps/blake3/c/blake3.c +650 -0
- package/deps/blake3/c/blake3.h +86 -0
- package/deps/blake3/c/blake3_avx2.c +326 -0
- package/deps/blake3/c/blake3_avx2_x86-64_unix.S +1815 -0
- package/deps/blake3/c/blake3_avx2_x86-64_windows_gnu.S +1817 -0
- package/deps/blake3/c/blake3_avx2_x86-64_windows_msvc.asm +1828 -0
- package/deps/blake3/c/blake3_avx512.c +1388 -0
- package/deps/blake3/c/blake3_avx512_x86-64_unix.S +4824 -0
- package/deps/blake3/c/blake3_avx512_x86-64_windows_gnu.S +2615 -0
- package/deps/blake3/c/blake3_avx512_x86-64_windows_msvc.asm +2634 -0
- package/deps/blake3/c/blake3_c_rust_bindings/Cargo.toml +32 -0
- package/deps/blake3/c/blake3_c_rust_bindings/README.md +4 -0
- package/deps/blake3/c/blake3_c_rust_bindings/benches/bench.rs +477 -0
- package/deps/blake3/c/blake3_c_rust_bindings/build.rs +253 -0
- package/deps/blake3/c/blake3_c_rust_bindings/cross_test.sh +31 -0
- package/deps/blake3/c/blake3_c_rust_bindings/src/lib.rs +333 -0
- package/deps/blake3/c/blake3_c_rust_bindings/src/test.rs +696 -0
- package/deps/blake3/c/blake3_dispatch.c +332 -0
- package/deps/blake3/c/blake3_impl.h +333 -0
- package/deps/blake3/c/blake3_neon.c +366 -0
- package/deps/blake3/c/blake3_portable.c +160 -0
- package/deps/blake3/c/blake3_sse2.c +566 -0
- package/deps/blake3/c/blake3_sse2_x86-64_unix.S +2291 -0
- package/deps/blake3/c/blake3_sse2_x86-64_windows_gnu.S +2332 -0
- package/deps/blake3/c/blake3_sse2_x86-64_windows_msvc.asm +2350 -0
- package/deps/blake3/c/blake3_sse41.c +560 -0
- package/deps/blake3/c/blake3_sse41_x86-64_unix.S +2028 -0
- package/deps/blake3/c/blake3_sse41_x86-64_windows_gnu.S +2069 -0
- package/deps/blake3/c/blake3_sse41_x86-64_windows_msvc.asm +2089 -0
- package/deps/blake3/c/blake3_tbb.cpp +37 -0
- package/deps/blake3/c/dependencies/CMakeLists.txt +3 -0
- package/deps/blake3/c/dependencies/tbb/CMakeLists.txt +28 -0
- package/deps/blake3/c/example.c +36 -0
- package/deps/blake3/c/example_tbb.c +57 -0
- package/deps/blake3/c/libblake3.pc.in +12 -0
- package/deps/blake3/c/main.c +166 -0
- package/deps/blake3/c/test.py +97 -0
- package/deps/blake3/media/B3.svg +70 -0
- package/deps/blake3/media/BLAKE3.svg +85 -0
- package/deps/blake3/media/speed.svg +1474 -0
- package/deps/blake3/reference_impl/Cargo.toml +8 -0
- package/deps/blake3/reference_impl/README.md +14 -0
- package/deps/blake3/reference_impl/reference_impl.rs +374 -0
- package/deps/blake3/src/ffi_avx2.rs +65 -0
- package/deps/blake3/src/ffi_avx512.rs +169 -0
- package/deps/blake3/src/ffi_neon.rs +82 -0
- package/deps/blake3/src/ffi_sse2.rs +126 -0
- package/deps/blake3/src/ffi_sse41.rs +126 -0
- package/deps/blake3/src/guts.rs +60 -0
- package/deps/blake3/src/hazmat.rs +704 -0
- package/deps/blake3/src/io.rs +64 -0
- package/deps/blake3/src/join.rs +92 -0
- package/deps/blake3/src/lib.rs +1835 -0
- package/deps/blake3/src/platform.rs +587 -0
- package/deps/blake3/src/portable.rs +198 -0
- package/deps/blake3/src/rust_avx2.rs +474 -0
- package/deps/blake3/src/rust_sse2.rs +775 -0
- package/deps/blake3/src/rust_sse41.rs +766 -0
- package/deps/blake3/src/test.rs +1049 -0
- package/deps/blake3/src/traits.rs +227 -0
- package/deps/blake3/src/wasm32_simd.rs +794 -0
- package/deps/blake3/test_vectors/Cargo.toml +19 -0
- package/deps/blake3/test_vectors/cross_test.sh +25 -0
- package/deps/blake3/test_vectors/src/bin/generate.rs +4 -0
- package/deps/blake3/test_vectors/src/lib.rs +350 -0
- package/deps/blake3/test_vectors/test_vectors.json +217 -0
- package/deps/blake3/tools/compiler_version/Cargo.toml +7 -0
- package/deps/blake3/tools/compiler_version/build.rs +6 -0
- package/deps/blake3/tools/compiler_version/src/main.rs +27 -0
- package/deps/blake3/tools/instruction_set_support/Cargo.toml +6 -0
- package/deps/blake3/tools/instruction_set_support/src/main.rs +10 -0
- package/deps/blake3/tools/release.md +16 -0
- package/deps/fastpbkdf2/fastpbkdf2.c +5 -1
- package/deps/ncrypto/ncrypto.cc +4679 -0
- package/deps/ncrypto/ncrypto.h +1625 -0
- package/lib/commonjs/blake3.js +98 -0
- package/lib/commonjs/blake3.js.map +1 -0
- package/lib/commonjs/cipher.js +180 -0
- package/lib/commonjs/cipher.js.map +1 -0
- package/lib/commonjs/constants.js +32 -0
- package/lib/commonjs/constants.js.map +1 -0
- package/lib/commonjs/ec.js +480 -0
- package/lib/commonjs/ec.js.map +1 -0
- package/lib/commonjs/ed.js +214 -2
- package/lib/commonjs/ed.js.map +1 -1
- package/lib/commonjs/expo-plugin/@types.js +2 -0
- package/lib/commonjs/expo-plugin/@types.js.map +1 -0
- package/lib/commonjs/expo-plugin/withRNQC.js +25 -0
- package/lib/commonjs/expo-plugin/withRNQC.js.map +1 -0
- package/lib/commonjs/expo-plugin/withSodiumAndroid.js +25 -0
- package/lib/commonjs/expo-plugin/withSodiumAndroid.js.map +1 -0
- package/lib/commonjs/expo-plugin/withSodiumIos.js +26 -0
- package/lib/commonjs/expo-plugin/withSodiumIos.js.map +1 -0
- package/lib/commonjs/expo-plugin/withXCode.js +51 -0
- package/lib/commonjs/expo-plugin/withXCode.js.map +1 -0
- package/lib/commonjs/hash.js +215 -0
- package/lib/commonjs/hash.js.map +1 -0
- package/lib/commonjs/hmac.js +109 -0
- package/lib/commonjs/hmac.js.map +1 -0
- package/lib/commonjs/index.js +102 -24
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/keys/classes.js +109 -52
- package/lib/commonjs/keys/classes.js.map +1 -1
- package/lib/commonjs/keys/generateKeyPair.js +141 -144
- package/lib/commonjs/keys/generateKeyPair.js.map +1 -1
- package/lib/commonjs/keys/index.js +229 -0
- package/lib/commonjs/keys/index.js.map +1 -1
- package/lib/commonjs/keys/publicCipher.js +152 -0
- package/lib/commonjs/keys/publicCipher.js.map +1 -0
- package/lib/commonjs/keys/signVerify.js +178 -39
- package/lib/commonjs/keys/signVerify.js.map +1 -1
- package/lib/commonjs/keys/utils.js +18 -13
- package/lib/commonjs/keys/utils.js.map +1 -1
- package/lib/commonjs/pbkdf2.js.map +1 -1
- package/lib/commonjs/random.js +6 -0
- package/lib/commonjs/random.js.map +1 -1
- package/lib/commonjs/rsa.js +202 -0
- package/lib/commonjs/rsa.js.map +1 -0
- package/lib/commonjs/specs/blake3.nitro.js +6 -0
- package/lib/commonjs/specs/blake3.nitro.js.map +1 -0
- package/lib/commonjs/specs/cipher.nitro.js +6 -0
- package/lib/commonjs/specs/cipher.nitro.js.map +1 -0
- package/lib/commonjs/specs/ecKeyPair.nitro.js +6 -0
- package/lib/commonjs/specs/ecKeyPair.nitro.js.map +1 -0
- package/lib/commonjs/specs/hash.nitro.js +6 -0
- package/lib/commonjs/specs/hash.nitro.js.map +1 -0
- package/lib/commonjs/specs/hmac.nitro.js +6 -0
- package/lib/commonjs/specs/hmac.nitro.js.map +1 -0
- package/lib/commonjs/specs/rsaCipher.nitro.js +6 -0
- package/lib/commonjs/specs/rsaCipher.nitro.js.map +1 -0
- package/lib/commonjs/specs/rsaKeyPair.nitro.js +6 -0
- package/lib/commonjs/specs/rsaKeyPair.nitro.js.map +1 -0
- package/lib/commonjs/specs/sign.nitro.js +6 -0
- package/lib/commonjs/specs/sign.nitro.js.map +1 -0
- package/lib/commonjs/subtle.js +987 -0
- package/lib/commonjs/subtle.js.map +1 -0
- package/lib/commonjs/utils/cipher.js +64 -0
- package/lib/commonjs/utils/cipher.js.map +1 -0
- package/lib/commonjs/utils/conversion.js +44 -5
- package/lib/commonjs/utils/conversion.js.map +1 -1
- package/lib/commonjs/utils/hashnames.js +2 -1
- package/lib/commonjs/utils/hashnames.js.map +1 -1
- package/lib/commonjs/utils/index.js +11 -0
- package/lib/commonjs/utils/index.js.map +1 -1
- package/lib/commonjs/utils/noble.js +82 -0
- package/lib/commonjs/utils/noble.js.map +1 -0
- package/lib/commonjs/utils/types.js +32 -17
- package/lib/commonjs/utils/types.js.map +1 -1
- package/lib/commonjs/utils/validation.js +74 -1
- package/lib/commonjs/utils/validation.js.map +1 -1
- package/lib/module/blake3.js +90 -0
- package/lib/module/blake3.js.map +1 -0
- package/lib/module/cipher.js +173 -0
- package/lib/module/cipher.js.map +1 -0
- package/lib/module/constants.js +28 -0
- package/lib/module/constants.js.map +1 -0
- package/lib/module/ec.js +470 -0
- package/lib/module/ec.js.map +1 -0
- package/lib/module/ed.js +212 -3
- package/lib/module/ed.js.map +1 -1
- package/lib/module/expo-plugin/@types.js +2 -0
- package/lib/module/expo-plugin/@types.js.map +1 -0
- package/lib/module/expo-plugin/withRNQC.js +21 -0
- package/lib/module/expo-plugin/withRNQC.js.map +1 -0
- package/lib/module/expo-plugin/withSodiumAndroid.js +20 -0
- package/lib/module/expo-plugin/withSodiumAndroid.js.map +1 -0
- package/lib/module/expo-plugin/withSodiumIos.js +20 -0
- package/lib/module/expo-plugin/withSodiumIos.js.map +1 -0
- package/lib/module/expo-plugin/withXCode.js +46 -0
- package/lib/module/expo-plugin/withXCode.js.map +1 -0
- package/lib/module/hash.js +207 -0
- package/lib/module/hash.js.map +1 -0
- package/lib/module/hmac.js +104 -0
- package/lib/module/hmac.js.map +1 -0
- package/lib/module/index.js +21 -21
- package/lib/module/index.js.map +1 -1
- package/lib/module/keys/classes.js +106 -49
- package/lib/module/keys/classes.js.map +1 -1
- package/lib/module/keys/generateKeyPair.js +134 -143
- package/lib/module/keys/generateKeyPair.js.map +1 -1
- package/lib/module/keys/index.js +161 -22
- package/lib/module/keys/index.js.map +1 -1
- package/lib/module/keys/publicCipher.js +145 -0
- package/lib/module/keys/publicCipher.js.map +1 -0
- package/lib/module/keys/signVerify.js +170 -39
- package/lib/module/keys/signVerify.js.map +1 -1
- package/lib/module/keys/utils.js +16 -12
- package/lib/module/keys/utils.js.map +1 -1
- package/lib/module/pbkdf2.js.map +1 -1
- package/lib/module/random.js +6 -0
- package/lib/module/random.js.map +1 -1
- package/lib/module/rsa.js +194 -0
- package/lib/module/rsa.js.map +1 -0
- package/lib/module/specs/blake3.nitro.js +4 -0
- package/lib/module/specs/blake3.nitro.js.map +1 -0
- package/lib/module/specs/cipher.nitro.js +4 -0
- package/lib/module/specs/cipher.nitro.js.map +1 -0
- package/lib/module/specs/ecKeyPair.nitro.js +4 -0
- package/lib/module/specs/ecKeyPair.nitro.js.map +1 -0
- package/lib/module/specs/hash.nitro.js +4 -0
- package/lib/module/specs/hash.nitro.js.map +1 -0
- package/lib/module/specs/hmac.nitro.js +4 -0
- package/lib/module/specs/hmac.nitro.js.map +1 -0
- package/lib/module/specs/rsaCipher.nitro.js +4 -0
- package/lib/module/specs/rsaCipher.nitro.js.map +1 -0
- package/lib/module/specs/rsaKeyPair.nitro.js +4 -0
- package/lib/module/specs/rsaKeyPair.nitro.js.map +1 -0
- package/lib/module/specs/sign.nitro.js +4 -0
- package/lib/module/specs/sign.nitro.js.map +1 -0
- package/lib/module/subtle.js +982 -0
- package/lib/module/subtle.js.map +1 -0
- package/lib/module/utils/cipher.js +56 -0
- package/lib/module/utils/cipher.js.map +1 -0
- package/lib/module/utils/conversion.js +26 -5
- package/lib/module/utils/conversion.js.map +1 -1
- package/lib/module/utils/hashnames.js +2 -1
- package/lib/module/utils/hashnames.js.map +1 -1
- package/lib/module/utils/index.js +1 -0
- package/lib/module/utils/index.js.map +1 -1
- package/lib/module/utils/noble.js +76 -0
- package/lib/module/utils/noble.js.map +1 -0
- package/lib/module/utils/types.js +32 -17
- package/lib/module/utils/types.js.map +1 -1
- package/lib/module/utils/validation.js +69 -1
- package/lib/module/utils/validation.js.map +1 -1
- package/lib/tsconfig.tsbuildinfo +1 -1
- package/lib/typescript/blake3.d.ts +33 -0
- package/lib/typescript/blake3.d.ts.map +1 -0
- package/lib/typescript/cipher.d.ts +60 -0
- package/lib/typescript/cipher.d.ts.map +1 -0
- package/lib/typescript/constants.d.ts +21 -0
- package/lib/typescript/constants.d.ts.map +1 -0
- package/lib/typescript/ec.d.ts +22 -0
- package/lib/typescript/ec.d.ts.map +1 -0
- package/lib/typescript/ed.d.ts +28 -1
- package/lib/typescript/ed.d.ts.map +1 -1
- package/lib/typescript/expo-plugin/@types.d.ts +8 -0
- package/lib/typescript/expo-plugin/@types.d.ts.map +1 -0
- package/lib/typescript/expo-plugin/withRNQC.d.ts +4 -0
- package/lib/typescript/expo-plugin/withRNQC.d.ts.map +1 -0
- package/lib/typescript/expo-plugin/withSodiumAndroid.d.ts +4 -0
- package/lib/typescript/expo-plugin/withSodiumAndroid.d.ts.map +1 -0
- package/lib/typescript/expo-plugin/withSodiumIos.d.ts +4 -0
- package/lib/typescript/expo-plugin/withSodiumIos.d.ts.map +1 -0
- package/lib/typescript/expo-plugin/withXCode.d.ts +9 -0
- package/lib/typescript/expo-plugin/withXCode.d.ts.map +1 -0
- package/lib/typescript/hash.d.ts +122 -0
- package/lib/typescript/hash.d.ts.map +1 -0
- package/lib/typescript/hmac.d.ts +66 -0
- package/lib/typescript/hmac.d.ts.map +1 -0
- package/lib/typescript/index.d.ts +102 -10
- package/lib/typescript/index.d.ts.map +1 -1
- package/lib/typescript/keys/classes.d.ts +50 -8
- package/lib/typescript/keys/classes.d.ts.map +1 -1
- package/lib/typescript/keys/generateKeyPair.d.ts +5 -0
- package/lib/typescript/keys/generateKeyPair.d.ts.map +1 -1
- package/lib/typescript/keys/index.d.ts +22 -2
- package/lib/typescript/keys/index.d.ts.map +1 -1
- package/lib/typescript/keys/publicCipher.d.ts +20 -0
- package/lib/typescript/keys/publicCipher.d.ts.map +1 -0
- package/lib/typescript/keys/signVerify.d.ts +28 -0
- package/lib/typescript/keys/signVerify.d.ts.map +1 -1
- package/lib/typescript/keys/utils.d.ts +3 -1
- package/lib/typescript/keys/utils.d.ts.map +1 -1
- package/lib/typescript/pbkdf2.d.ts +1 -1
- package/lib/typescript/pbkdf2.d.ts.map +1 -1
- package/lib/typescript/random.d.ts +6 -0
- package/lib/typescript/random.d.ts.map +1 -1
- package/lib/typescript/rsa.d.ts +19 -0
- package/lib/typescript/rsa.d.ts.map +1 -0
- package/lib/typescript/specs/blake3.nitro.d.ts +15 -0
- package/lib/typescript/specs/blake3.nitro.d.ts.map +1 -0
- package/lib/typescript/specs/cipher.nitro.d.ts +29 -0
- package/lib/typescript/specs/cipher.nitro.d.ts.map +1 -0
- package/lib/typescript/specs/ecKeyPair.nitro.d.ts +20 -0
- package/lib/typescript/specs/ecKeyPair.nitro.d.ts.map +1 -0
- package/lib/typescript/specs/edKeyPair.nitro.d.ts +1 -0
- package/lib/typescript/specs/edKeyPair.nitro.d.ts.map +1 -1
- package/lib/typescript/specs/hash.nitro.d.ts +13 -0
- package/lib/typescript/specs/hash.nitro.d.ts.map +1 -0
- package/lib/typescript/specs/hmac.nitro.d.ts +10 -0
- package/lib/typescript/specs/hmac.nitro.d.ts.map +1 -0
- package/lib/typescript/specs/keyObjectHandle.nitro.d.ts +1 -1
- package/lib/typescript/specs/keyObjectHandle.nitro.d.ts.map +1 -1
- package/lib/typescript/specs/rsaCipher.nitro.d.ts +44 -0
- package/lib/typescript/specs/rsaCipher.nitro.d.ts.map +1 -0
- package/lib/typescript/specs/rsaKeyPair.nitro.d.ts +20 -0
- package/lib/typescript/specs/rsaKeyPair.nitro.d.ts.map +1 -0
- package/lib/typescript/specs/sign.nitro.d.ts +19 -0
- package/lib/typescript/specs/sign.nitro.d.ts.map +1 -0
- package/lib/typescript/subtle.d.ts +17 -0
- package/lib/typescript/subtle.d.ts.map +1 -0
- package/lib/typescript/utils/cipher.d.ts +7 -0
- package/lib/typescript/utils/cipher.d.ts.map +1 -0
- package/lib/typescript/utils/conversion.d.ts +1 -0
- package/lib/typescript/utils/conversion.d.ts.map +1 -1
- package/lib/typescript/utils/hashnames.d.ts +3 -1
- package/lib/typescript/utils/hashnames.d.ts.map +1 -1
- package/lib/typescript/utils/index.d.ts +1 -0
- package/lib/typescript/utils/index.d.ts.map +1 -1
- package/lib/typescript/utils/noble.d.ts +19 -0
- package/lib/typescript/utils/noble.d.ts.map +1 -0
- package/lib/typescript/utils/types.d.ts +125 -23
- package/lib/typescript/utils/types.d.ts.map +1 -1
- package/lib/typescript/utils/validation.d.ts +5 -0
- package/lib/typescript/utils/validation.d.ts.map +1 -1
- package/nitrogen/generated/.gitattributes +1 -0
- package/nitrogen/generated/android/QuickCrypto+autolinking.cmake +30 -1
- package/nitrogen/generated/android/QuickCrypto+autolinking.gradle +1 -1
- package/nitrogen/generated/android/QuickCryptoOnLoad.cpp +115 -1
- package/nitrogen/generated/android/QuickCryptoOnLoad.hpp +1 -1
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/crypto/QuickCryptoOnLoad.kt +35 -0
- package/nitrogen/generated/ios/QuickCrypto+autolinking.rb +3 -1
- package/nitrogen/generated/ios/QuickCrypto-Swift-Cxx-Bridge.cpp +1 -1
- package/nitrogen/generated/ios/QuickCrypto-Swift-Cxx-Bridge.hpp +1 -1
- package/nitrogen/generated/ios/QuickCrypto-Swift-Cxx-Umbrella.hpp +3 -3
- package/nitrogen/generated/ios/QuickCryptoAutolinking.mm +111 -1
- package/nitrogen/generated/ios/QuickCryptoAutolinking.swift +1 -1
- package/nitrogen/generated/shared/c++/AsymmetricKeyType.hpp +104 -0
- package/nitrogen/generated/shared/c++/CipherArgs.hpp +86 -0
- package/nitrogen/generated/shared/c++/HybridBlake3Spec.cpp +28 -0
- package/nitrogen/generated/shared/c++/HybridBlake3Spec.hpp +76 -0
- package/nitrogen/generated/shared/c++/HybridCipherFactorySpec.cpp +21 -0
- package/nitrogen/generated/shared/c++/HybridCipherFactorySpec.hpp +67 -0
- package/nitrogen/generated/shared/c++/HybridCipherSpec.cpp +28 -0
- package/nitrogen/generated/shared/c++/HybridCipherSpec.hpp +76 -0
- package/nitrogen/generated/shared/c++/HybridEcKeyPairSpec.cpp +29 -0
- package/nitrogen/generated/shared/c++/HybridEcKeyPairSpec.hpp +77 -0
- package/nitrogen/generated/shared/c++/HybridEdKeyPairSpec.cpp +2 -1
- package/nitrogen/generated/shared/c++/HybridEdKeyPairSpec.hpp +5 -4
- package/nitrogen/generated/shared/c++/HybridHashSpec.cpp +26 -0
- package/nitrogen/generated/shared/c++/HybridHashSpec.hpp +75 -0
- package/nitrogen/generated/shared/c++/HybridHmacSpec.cpp +23 -0
- package/nitrogen/generated/shared/c++/HybridHmacSpec.hpp +66 -0
- package/nitrogen/generated/shared/c++/HybridKeyObjectHandleSpec.cpp +1 -1
- package/nitrogen/generated/shared/c++/HybridKeyObjectHandleSpec.hpp +8 -8
- package/nitrogen/generated/shared/c++/HybridPbkdf2Spec.cpp +1 -1
- package/nitrogen/generated/shared/c++/HybridPbkdf2Spec.hpp +3 -3
- package/nitrogen/generated/shared/c++/HybridRandomSpec.cpp +1 -1
- package/nitrogen/generated/shared/c++/HybridRandomSpec.hpp +3 -3
- package/nitrogen/generated/shared/c++/HybridRsaCipherSpec.cpp +24 -0
- package/nitrogen/generated/shared/c++/HybridRsaCipherSpec.hpp +72 -0
- package/nitrogen/generated/shared/c++/HybridRsaKeyPairSpec.cpp +29 -0
- package/nitrogen/generated/shared/c++/HybridRsaKeyPairSpec.hpp +77 -0
- package/nitrogen/generated/shared/c++/HybridSignHandleSpec.cpp +23 -0
- package/nitrogen/generated/shared/c++/HybridSignHandleSpec.hpp +71 -0
- package/nitrogen/generated/shared/c++/HybridVerifyHandleSpec.cpp +23 -0
- package/nitrogen/generated/shared/c++/HybridVerifyHandleSpec.hpp +71 -0
- package/nitrogen/generated/shared/c++/JWK.hpp +17 -18
- package/nitrogen/generated/shared/c++/JWKkty.hpp +12 -14
- package/nitrogen/generated/shared/c++/JWKuse.hpp +8 -10
- package/nitrogen/generated/shared/c++/KFormatType.hpp +14 -16
- package/nitrogen/generated/shared/c++/KeyDetail.hpp +6 -7
- package/nitrogen/generated/shared/c++/KeyEncoding.hpp +15 -17
- package/nitrogen/generated/shared/c++/KeyObject.hpp +67 -0
- package/nitrogen/generated/shared/c++/KeyType.hpp +11 -13
- package/nitrogen/generated/shared/c++/KeyUsage.hpp +38 -24
- package/nitrogen/generated/shared/c++/NamedCurve.hpp +10 -12
- package/package.json +28 -23
- package/src/blake3.ts +123 -0
- package/src/cipher.ts +335 -0
- package/src/constants.ts +32 -0
- package/src/ec.ts +657 -0
- package/src/ed.ts +297 -13
- package/src/expo-plugin/@types.ts +7 -0
- package/src/expo-plugin/withRNQC.ts +23 -0
- package/src/expo-plugin/withSodiumAndroid.ts +24 -0
- package/src/expo-plugin/withSodiumIos.ts +30 -0
- package/src/expo-plugin/withXCode.ts +55 -0
- package/src/hash.ts +274 -0
- package/src/hmac.ts +135 -0
- package/src/index.ts +20 -20
- package/src/keys/classes.ts +148 -55
- package/src/keys/generateKeyPair.ts +177 -134
- package/src/keys/index.ts +226 -14
- package/src/keys/publicCipher.ts +229 -0
- package/src/keys/signVerify.ts +239 -39
- package/src/keys/utils.ts +24 -18
- package/src/pbkdf2.ts +1 -1
- package/src/random.ts +7 -0
- package/src/rsa.ts +310 -0
- package/src/specs/blake3.nitro.ts +12 -0
- package/src/specs/cipher.nitro.ts +25 -0
- package/src/specs/ecKeyPair.nitro.ts +38 -0
- package/src/specs/edKeyPair.nitro.ts +2 -0
- package/src/specs/hash.nitro.ts +10 -0
- package/src/specs/hmac.nitro.ts +7 -0
- package/src/specs/keyObjectHandle.nitro.ts +1 -1
- package/src/specs/rsaCipher.nitro.ts +65 -0
- package/src/specs/rsaKeyPair.nitro.ts +33 -0
- package/src/specs/sign.nitro.ts +31 -0
- package/src/subtle.ts +1436 -0
- package/src/utils/cipher.ts +60 -0
- package/src/utils/conversion.ts +33 -4
- package/src/utils/hashnames.ts +4 -2
- package/src/utils/index.ts +1 -0
- package/src/utils/noble.ts +85 -0
- package/src/utils/types.ts +209 -29
- package/src/utils/validation.ts +96 -1
- package/lib/module/package.json +0 -1
- package/nitrogen/generated/android/QuickCryptoOnLoad.kt +0 -1
- package/nitrogen/generated/shared/c++/CFRGKeyPairType.hpp +0 -86
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import Stream, { type TransformOptions } from 'readable-stream';
|
|
2
|
+
import { Buffer } from '@craftzdog/react-native-buffer';
|
|
3
|
+
import type { BinaryLike, BinaryLikeNode, Encoding } from './utils';
|
|
4
|
+
import type { CipherCCMOptions, CipherCCMTypes, CipherGCMTypes, CipherGCMOptions, CipherOCBOptions, CipherOCBTypes } from 'crypto';
|
|
5
|
+
export type CipherOptions = CipherCCMOptions | CipherOCBOptions | CipherGCMOptions | TransformOptions;
|
|
6
|
+
export declare function getCiphers(): string[];
|
|
7
|
+
interface CipherArgs {
|
|
8
|
+
isCipher: boolean;
|
|
9
|
+
cipherType: string;
|
|
10
|
+
cipherKey: BinaryLikeNode;
|
|
11
|
+
iv: BinaryLike;
|
|
12
|
+
options?: CipherOptions;
|
|
13
|
+
}
|
|
14
|
+
declare class CipherCommon extends Stream.Transform {
|
|
15
|
+
private native;
|
|
16
|
+
constructor({ isCipher, cipherType, cipherKey, iv, options }: CipherArgs);
|
|
17
|
+
update(data: Buffer): Buffer;
|
|
18
|
+
update(data: BinaryLike, inputEncoding?: Encoding): Buffer;
|
|
19
|
+
update(data: BinaryLike, inputEncoding: Encoding, outputEncoding: Encoding): string;
|
|
20
|
+
final(): Buffer;
|
|
21
|
+
final(outputEncoding: BufferEncoding | 'buffer'): string;
|
|
22
|
+
_transform(chunk: BinaryLike, encoding: BufferEncoding, callback: () => void): void;
|
|
23
|
+
_flush(callback: () => void): void;
|
|
24
|
+
setAutoPadding(autoPadding?: boolean): this;
|
|
25
|
+
setAAD(buffer: Buffer, options?: {
|
|
26
|
+
plaintextLength: number;
|
|
27
|
+
}): this;
|
|
28
|
+
getAuthTag(): Buffer;
|
|
29
|
+
setAuthTag(tag: Buffer): this;
|
|
30
|
+
getSupportedCiphers(): string[];
|
|
31
|
+
}
|
|
32
|
+
declare class Cipheriv extends CipherCommon {
|
|
33
|
+
constructor(cipherType: string, cipherKey: BinaryLikeNode, iv: BinaryLike, options?: CipherOptions);
|
|
34
|
+
}
|
|
35
|
+
export type Cipher = Cipheriv;
|
|
36
|
+
declare class Decipheriv extends CipherCommon {
|
|
37
|
+
constructor(cipherType: string, cipherKey: BinaryLikeNode, iv: BinaryLike, options?: CipherOptions);
|
|
38
|
+
}
|
|
39
|
+
export type Decipher = Decipheriv;
|
|
40
|
+
export declare function createDecipheriv(algorithm: CipherCCMTypes, key: BinaryLikeNode, iv: BinaryLike, options: CipherCCMOptions): Decipher;
|
|
41
|
+
export declare function createDecipheriv(algorithm: CipherOCBTypes, key: BinaryLikeNode, iv: BinaryLike, options: CipherOCBOptions): Decipher;
|
|
42
|
+
export declare function createDecipheriv(algorithm: CipherGCMTypes, key: BinaryLikeNode, iv: BinaryLike, options?: CipherGCMOptions): Decipher;
|
|
43
|
+
export declare function createDecipheriv(algorithm: string, key: BinaryLikeNode, iv: BinaryLike, options?: TransformOptions): Decipher;
|
|
44
|
+
export declare function createCipheriv(algorithm: CipherCCMTypes, key: BinaryLikeNode, iv: BinaryLike, options: CipherCCMOptions): Cipher;
|
|
45
|
+
export declare function createCipheriv(algorithm: CipherOCBTypes, key: BinaryLikeNode, iv: BinaryLike, options: CipherOCBOptions): Cipher;
|
|
46
|
+
export declare function createCipheriv(algorithm: CipherGCMTypes, key: BinaryLikeNode, iv: BinaryLike, options?: CipherGCMOptions): Cipher;
|
|
47
|
+
export declare function createCipheriv(algorithm: string, key: BinaryLikeNode, iv: BinaryLike, options?: TransformOptions): Cipher;
|
|
48
|
+
/**
|
|
49
|
+
* xsalsa20 stream encryption with @noble/ciphers compatible API
|
|
50
|
+
*
|
|
51
|
+
* @param key - 32 bytes
|
|
52
|
+
* @param nonce - 24 bytes
|
|
53
|
+
* @param data - data to encrypt
|
|
54
|
+
* @param output - unused
|
|
55
|
+
* @param counter - unused
|
|
56
|
+
* @returns encrypted data
|
|
57
|
+
*/
|
|
58
|
+
export declare function xsalsa20(key: Uint8Array, nonce: Uint8Array, data: Uint8Array, output?: Uint8Array | undefined, counter?: number): Uint8Array;
|
|
59
|
+
export {};
|
|
60
|
+
//# sourceMappingURL=cipher.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cipher.d.ts","sourceRoot":"","sources":["../../src/cipher.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
export declare const constants: {
|
|
2
|
+
readonly RSA_PKCS1_PADDING: 1;
|
|
3
|
+
readonly RSA_NO_PADDING: 3;
|
|
4
|
+
readonly RSA_PKCS1_OAEP_PADDING: 4;
|
|
5
|
+
readonly RSA_X931_PADDING: 5;
|
|
6
|
+
readonly RSA_PKCS1_PSS_PADDING: 6;
|
|
7
|
+
readonly RSA_PSS_SALTLEN_DIGEST: -1;
|
|
8
|
+
readonly RSA_PSS_SALTLEN_MAX_SIGN: -2;
|
|
9
|
+
readonly RSA_PSS_SALTLEN_AUTO: -2;
|
|
10
|
+
readonly POINT_CONVERSION_COMPRESSED: 2;
|
|
11
|
+
readonly POINT_CONVERSION_UNCOMPRESSED: 4;
|
|
12
|
+
readonly POINT_CONVERSION_HYBRID: 6;
|
|
13
|
+
readonly DH_CHECK_P_NOT_PRIME: 1;
|
|
14
|
+
readonly DH_CHECK_P_NOT_SAFE_PRIME: 2;
|
|
15
|
+
readonly DH_UNABLE_TO_CHECK_GENERATOR: 4;
|
|
16
|
+
readonly DH_NOT_SUITABLE_GENERATOR: 8;
|
|
17
|
+
readonly OPENSSL_VERSION_NUMBER: 805306368;
|
|
18
|
+
};
|
|
19
|
+
export declare const defaultCoreCipherList = "TLS_AES_256_GCM_SHA384:TLS_CHACHA20_POLY1305_SHA256:TLS_AES_128_GCM_SHA256";
|
|
20
|
+
export declare const defaultCipherList = "TLS_AES_256_GCM_SHA384:TLS_CHACHA20_POLY1305_SHA256:TLS_AES_128_GCM_SHA256";
|
|
21
|
+
//# sourceMappingURL=constants.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/constants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;CA0BZ,CAAC;AAEX,eAAO,MAAM,qBAAqB,+EAC4C,CAAC;AAC/E,eAAO,MAAM,iBAAiB,+EACgD,CAAC"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import type { EcKeyPair } from './specs/ecKeyPair.nitro';
|
|
2
|
+
import { CryptoKey, PublicKeyObject, PrivateKeyObject } from './keys';
|
|
3
|
+
import type { CryptoKeyPair, KeyPairOptions, KeyUsage, SubtleAlgorithm, BufferLike, BinaryLike, JWK, ImportFormat, GenerateKeyPairOptions, KeyPairGenConfig } from './utils/types';
|
|
4
|
+
import { Buffer } from 'buffer';
|
|
5
|
+
export declare class Ec {
|
|
6
|
+
native: EcKeyPair;
|
|
7
|
+
constructor(curve: string);
|
|
8
|
+
generateKeyPair(): Promise<CryptoKeyPair>;
|
|
9
|
+
generateKeyPairSync(): CryptoKeyPair;
|
|
10
|
+
}
|
|
11
|
+
export declare function ecImportKey(format: ImportFormat, keyData: BufferLike | BinaryLike | JWK, algorithm: SubtleAlgorithm, extractable: boolean, keyUsages: KeyUsage[]): CryptoKey;
|
|
12
|
+
export declare const ecdsaSignVerify: (key: CryptoKey, data: BufferLike, { hash }: SubtleAlgorithm, signature?: BufferLike) => ArrayBuffer | boolean;
|
|
13
|
+
export declare function ec_generateKeyPair(name: string, namedCurve: string, extractable: boolean, keyUsages: KeyUsage[], _options?: KeyPairOptions): Promise<CryptoKeyPair>;
|
|
14
|
+
export declare function ec_generateKeyPairNode(options: GenerateKeyPairOptions | undefined, encoding: KeyPairGenConfig): Promise<{
|
|
15
|
+
publicKey: PublicKeyObject | Buffer | string | ArrayBuffer;
|
|
16
|
+
privateKey: PrivateKeyObject | Buffer | string | ArrayBuffer;
|
|
17
|
+
}>;
|
|
18
|
+
export declare function ec_generateKeyPairNodeSync(options: GenerateKeyPairOptions | undefined, encoding: KeyPairGenConfig): {
|
|
19
|
+
publicKey: PublicKeyObject | Buffer | string | ArrayBuffer;
|
|
20
|
+
privateKey: PrivateKeyObject | Buffer | string | ArrayBuffer;
|
|
21
|
+
};
|
|
22
|
+
//# sourceMappingURL=ec.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ec.d.ts","sourceRoot":"","sources":["../../src/ec.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAEzD,OAAO,EACL,SAAS,EAET,eAAe,EACf,gBAAgB,EACjB,MAAM,QAAQ,CAAC;AAChB,OAAO,KAAK,EACV,aAAa,EACb,cAAc,EACd,QAAQ,EACR,eAAe,EACf,UAAU,EACV,UAAU,EACV,GAAG,EACH,YAAY,EAEZ,sBAAsB,EACtB,gBAAgB,EACjB,MAAM,eAAe,CAAC;AAYvB,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAEhC,qBAAa,EAAE;IACb,MAAM,EAAE,SAAS,CAAC;gBAEN,KAAK,EAAE,MAAM;IAKnB,eAAe,IAAI,OAAO,CAAC,aAAa,CAAC;IAQ/C,mBAAmB,IAAI,aAAa;CAOrC;AAsDD,wBAAgB,WAAW,CACzB,MAAM,EAAE,YAAY,EACpB,OAAO,EAAE,UAAU,GAAG,UAAU,GAAG,GAAG,EACtC,SAAS,EAAE,eAAe,EAC1B,WAAW,EAAE,OAAO,EACpB,SAAS,EAAE,QAAQ,EAAE,GACpB,SAAS,CAyKX;AAqGD,eAAO,MAAM,eAAe,GAC1B,KAAK,SAAS,EACd,MAAM,UAAU,EAChB,UAAU,eAAe,EACzB,YAAY,UAAU,KACrB,WAAW,GAAG,OAmDhB,CAAC;AAIF,wBAAsB,kBAAkB,CACtC,IAAI,EAAE,MAAM,EACZ,UAAU,EAAE,MAAM,EAClB,WAAW,EAAE,OAAO,EACpB,SAAS,EAAE,QAAQ,EAAE,EAErB,QAAQ,CAAC,EAAE,cAAc,GACxB,OAAO,CAAC,aAAa,CAAC,CAgFxB;AAmGD,wBAAsB,sBAAsB,CAC1C,OAAO,EAAE,sBAAsB,GAAG,SAAS,EAC3C,QAAQ,EAAE,gBAAgB,GACzB,OAAO,CAAC;IACT,SAAS,EAAE,eAAe,GAAG,MAAM,GAAG,MAAM,GAAG,WAAW,CAAC;IAC3D,UAAU,EAAE,gBAAgB,GAAG,MAAM,GAAG,MAAM,GAAG,WAAW,CAAC;CAC9D,CAAC,CAID;AAED,wBAAgB,0BAA0B,CACxC,OAAO,EAAE,sBAAsB,GAAG,SAAS,EAC3C,QAAQ,EAAE,gBAAgB,GACzB;IACD,SAAS,EAAE,eAAe,GAAG,MAAM,GAAG,MAAM,GAAG,WAAW,CAAC;IAC3D,UAAU,EAAE,gBAAgB,GAAG,MAAM,GAAG,MAAM,GAAG,WAAW,CAAC;CAC9D,CAIA"}
|
package/lib/typescript/ed.d.ts
CHANGED
|
@@ -1,17 +1,44 @@
|
|
|
1
|
+
import { Buffer } from '@craftzdog/react-native-buffer';
|
|
1
2
|
import type { EdKeyPair } from './specs/edKeyPair.nitro';
|
|
2
|
-
import type { BinaryLike, CFRGKeyPairType, KeyPairGenConfig } from './utils';
|
|
3
|
+
import type { BinaryLike, CFRGKeyPairType, CryptoKeyPair, DiffieHellmanCallback, DiffieHellmanOptions, GenerateKeyPairCallback, GenerateKeyPairReturn, Hex, KeyPairGenConfig, KeyUsage } from './utils';
|
|
3
4
|
export declare class Ed {
|
|
4
5
|
type: CFRGKeyPairType;
|
|
5
6
|
config: KeyPairGenConfig;
|
|
6
7
|
native: EdKeyPair;
|
|
7
8
|
constructor(type: CFRGKeyPairType, config: KeyPairGenConfig);
|
|
9
|
+
/**
|
|
10
|
+
* Computes the Diffie-Hellman secret based on a privateKey and a publicKey.
|
|
11
|
+
* Both keys must have the same asymmetricKeyType, which must be one of 'dh'
|
|
12
|
+
* (for Diffie-Hellman), 'ec', 'x448', or 'x25519' (for ECDH).
|
|
13
|
+
*
|
|
14
|
+
* @api nodejs/node
|
|
15
|
+
*
|
|
16
|
+
* @param options `{ privateKey, publicKey }`, both of which are `KeyObject`s
|
|
17
|
+
* @param callback optional `(err, secret) => void`
|
|
18
|
+
* @returns `Buffer` if no callback, or `void` if callback is provided
|
|
19
|
+
*/
|
|
20
|
+
diffieHellman(options: DiffieHellmanOptions, callback?: DiffieHellmanCallback): Buffer | void;
|
|
8
21
|
generateKeyPair(): Promise<void>;
|
|
9
22
|
generateKeyPairSync(): void;
|
|
10
23
|
getPublicKey(): ArrayBuffer;
|
|
11
24
|
getPrivateKey(): ArrayBuffer;
|
|
25
|
+
/**
|
|
26
|
+
* Computes the Diffie-Hellman shared secret based on a privateKey and a
|
|
27
|
+
* publicKey for key exchange
|
|
28
|
+
*
|
|
29
|
+
* @api \@paulmillr/noble-curves/ed25519
|
|
30
|
+
*
|
|
31
|
+
* @param privateKey
|
|
32
|
+
* @param publicKey
|
|
33
|
+
* @returns shared secret key
|
|
34
|
+
*/
|
|
35
|
+
getSharedSecret(privateKey: Hex, publicKey: Hex): ArrayBuffer;
|
|
12
36
|
sign(message: BinaryLike, key?: BinaryLike): Promise<ArrayBuffer>;
|
|
13
37
|
signSync(message: BinaryLike, key?: BinaryLike): ArrayBuffer;
|
|
14
38
|
verify(signature: BinaryLike, message: BinaryLike, key?: BinaryLike): Promise<boolean>;
|
|
15
39
|
verifySync(signature: BinaryLike, message: BinaryLike, key?: BinaryLike): boolean;
|
|
16
40
|
}
|
|
41
|
+
export declare function diffieHellman(options: DiffieHellmanOptions, callback?: DiffieHellmanCallback): Buffer | void;
|
|
42
|
+
export declare function ed_generateKeyPair(isAsync: boolean, type: CFRGKeyPairType, encoding: KeyPairGenConfig, callback: GenerateKeyPairCallback | undefined): GenerateKeyPairReturn | void;
|
|
43
|
+
export declare function ed_generateKeyPairWebCrypto(type: 'ed25519' | 'ed448', extractable: boolean, keyUsages: KeyUsage[]): Promise<CryptoKeyPair>;
|
|
17
44
|
//# sourceMappingURL=ed.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ed.d.ts","sourceRoot":"","sources":["../../src/ed.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ed.d.ts","sourceRoot":"","sources":["../../src/ed.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,gCAAgC,CAAC;AAQxD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,KAAK,EACV,UAAU,EACV,eAAe,EACf,aAAa,EACb,qBAAqB,EACrB,oBAAoB,EACpB,uBAAuB,EACvB,qBAAqB,EACrB,GAAG,EACH,gBAAgB,EAChB,QAAQ,EAET,MAAM,SAAS,CAAC;AAUjB,qBAAa,EAAE;IACb,IAAI,EAAE,eAAe,CAAC;IACtB,MAAM,EAAE,gBAAgB,CAAC;IACzB,MAAM,EAAE,SAAS,CAAC;gBAEN,IAAI,EAAE,eAAe,EAAE,MAAM,EAAE,gBAAgB;IAO3D;;;;;;;;;;OAUG;IACH,aAAa,CACX,OAAO,EAAE,oBAAoB,EAC7B,QAAQ,CAAC,EAAE,qBAAqB,GAC/B,MAAM,GAAG,IAAI;IAsCV,eAAe,IAAI,OAAO,CAAC,IAAI,CAAC;IAWtC,mBAAmB,IAAI,IAAI;IAW3B,YAAY,IAAI,WAAW;IAI3B,aAAa,IAAI,WAAW;IAI5B;;;;;;;;;OASG;IACH,eAAe,CAAC,UAAU,EAAE,GAAG,EAAE,SAAS,EAAE,GAAG,GAAG,WAAW;IAIvD,IAAI,CAAC,OAAO,EAAE,UAAU,EAAE,GAAG,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC,WAAW,CAAC;IAMvE,QAAQ,CAAC,OAAO,EAAE,UAAU,EAAE,GAAG,CAAC,EAAE,UAAU,GAAG,WAAW;IAMtD,MAAM,CACV,SAAS,EAAE,UAAU,EACrB,OAAO,EAAE,UAAU,EACnB,GAAG,CAAC,EAAE,UAAU,GACf,OAAO,CAAC,OAAO,CAAC;IAMnB,UAAU,CACR,SAAS,EAAE,UAAU,EACrB,OAAO,EAAE,UAAU,EACnB,GAAG,CAAC,EAAE,UAAU,GACf,OAAO;CAKX;AAGD,wBAAgB,aAAa,CAC3B,OAAO,EAAE,oBAAoB,EAC7B,QAAQ,CAAC,EAAE,qBAAqB,GAC/B,MAAM,GAAG,IAAI,CAKf;AAGD,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,OAAO,EAChB,IAAI,EAAE,eAAe,EACrB,QAAQ,EAAE,gBAAgB,EAC1B,QAAQ,EAAE,uBAAuB,GAAG,SAAS,GAC5C,qBAAqB,GAAG,IAAI,CAgE9B;AAkDD,wBAAsB,2BAA2B,CAC/C,IAAI,EAAE,SAAS,GAAG,OAAO,EACzB,WAAW,EAAE,OAAO,EACpB,SAAS,EAAE,QAAQ,EAAE,GACpB,OAAO,CAAC,aAAa,CAAC,CAsDxB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"@types.d.ts","sourceRoot":"","sources":["../../../src/expo-plugin/@types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,WAAW,GAAG;IACxB;;;OAGG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"withRNQC.d.ts","sourceRoot":"","sources":["../../../src/expo-plugin/withRNQC.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAkB5C,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,6BAE7D"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"withSodiumAndroid.d.ts","sourceRoot":"","sources":["../../../src/expo-plugin/withSodiumAndroid.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAExD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAE5C,eAAO,MAAM,iBAAiB,EAAE,YAAY,CAAC,WAAW,CAmBvD,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"withSodiumIos.d.ts","sourceRoot":"","sources":["../../../src/expo-plugin/withSodiumIos.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAIxD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAE5C,eAAO,MAAM,aAAa,EAAE,YAAY,CAAC,WAAW,CAuBnD,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { ConfigPlugin } from 'expo/config-plugins';
|
|
2
|
+
import type { ConfigProps } from './@types';
|
|
3
|
+
/**
|
|
4
|
+
* Workaround for some jank XCode releases that break React Native native modules
|
|
5
|
+
*
|
|
6
|
+
* see: https://github.com/mrousavy/nitro/issues/422#issuecomment-2545988256
|
|
7
|
+
*/
|
|
8
|
+
export declare const withXCode: ConfigPlugin<ConfigProps>;
|
|
9
|
+
//# sourceMappingURL=withXCode.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"withXCode.d.ts","sourceRoot":"","sources":["../../../src/expo-plugin/withXCode.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAM5C;;;;GAIG;AACH,eAAO,MAAM,SAAS,EAAE,YAAY,CAAC,WAAW,CA0C/C,CAAC"}
|
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
import { Stream } from 'readable-stream';
|
|
2
|
+
import type { TransformOptions } from 'readable-stream';
|
|
3
|
+
import type { BinaryLike, Encoding, BufferLike, SubtleAlgorithm } from './utils';
|
|
4
|
+
export declare function getHashes(): string[];
|
|
5
|
+
interface HashOptions extends TransformOptions {
|
|
6
|
+
/**
|
|
7
|
+
* For XOF hash functions such as `shake256`, the
|
|
8
|
+
* outputLength option can be used to specify the desired output length in bytes.
|
|
9
|
+
*/
|
|
10
|
+
outputLength?: number | undefined;
|
|
11
|
+
}
|
|
12
|
+
declare class Hash extends Stream.Transform {
|
|
13
|
+
private algorithm;
|
|
14
|
+
private options;
|
|
15
|
+
private native;
|
|
16
|
+
private validate;
|
|
17
|
+
/**
|
|
18
|
+
* @internal use `createHash()` instead
|
|
19
|
+
*/
|
|
20
|
+
private constructor();
|
|
21
|
+
/**
|
|
22
|
+
* Updates the hash content with the given `data`, the encoding of which
|
|
23
|
+
* is given in `inputEncoding`.
|
|
24
|
+
* If `encoding` is not provided, and the `data` is a string, an
|
|
25
|
+
* encoding of `'utf8'` is enforced. If `data` is a `Buffer`, `TypedArray`, or`DataView`, then `inputEncoding` is ignored.
|
|
26
|
+
*
|
|
27
|
+
* This can be called many times with new data as it is streamed.
|
|
28
|
+
* @since v1.0.0
|
|
29
|
+
* @param inputEncoding The `encoding` of the `data` string.
|
|
30
|
+
*/
|
|
31
|
+
update(data: BinaryLike): Hash;
|
|
32
|
+
update(data: BinaryLike, inputEncoding: Encoding): Buffer;
|
|
33
|
+
/**
|
|
34
|
+
* Calculates the digest of all of the data passed to be hashed (using the `hash.update()` method).
|
|
35
|
+
* If `encoding` is provided a string will be returned; otherwise
|
|
36
|
+
* a `Buffer` is returned.
|
|
37
|
+
*
|
|
38
|
+
* The `Hash` object can not be used again after `hash.digest()` method has been
|
|
39
|
+
* called. Multiple calls will cause an error to be thrown.
|
|
40
|
+
* @since v1.0.0
|
|
41
|
+
* @param encoding The `encoding` of the return value.
|
|
42
|
+
*/
|
|
43
|
+
digest(): Buffer;
|
|
44
|
+
digest(encoding: Encoding): Buffer;
|
|
45
|
+
/**
|
|
46
|
+
* Creates a new `Hash` object that contains a deep copy of the internal state
|
|
47
|
+
* of the current `Hash` object.
|
|
48
|
+
*
|
|
49
|
+
* The optional `options` argument controls stream behavior. For XOF hash
|
|
50
|
+
* functions such as `'shake256'`, the `outputLength` option can be used to
|
|
51
|
+
* specify the desired output length in bytes.
|
|
52
|
+
*
|
|
53
|
+
* An error is thrown when an attempt is made to copy the `Hash` object after
|
|
54
|
+
* its `hash.digest()` method has been called.
|
|
55
|
+
*
|
|
56
|
+
* ```js
|
|
57
|
+
* // Calculate a rolling hash.
|
|
58
|
+
* import { createHash } from 'react-native-quick-crypto';
|
|
59
|
+
*
|
|
60
|
+
* const hash = createHash('sha256');
|
|
61
|
+
*
|
|
62
|
+
* hash.update('one');
|
|
63
|
+
* console.log(hash.copy().digest('hex'));
|
|
64
|
+
*
|
|
65
|
+
* hash.update('two');
|
|
66
|
+
* console.log(hash.copy().digest('hex'));
|
|
67
|
+
*
|
|
68
|
+
* hash.update('three');
|
|
69
|
+
* console.log(hash.copy().digest('hex'));
|
|
70
|
+
*
|
|
71
|
+
* // Etc.
|
|
72
|
+
* ```
|
|
73
|
+
* @since v1.0.0
|
|
74
|
+
* @param options `stream.transform` options
|
|
75
|
+
*/
|
|
76
|
+
copy(): Hash;
|
|
77
|
+
copy(options: HashOptions): Hash;
|
|
78
|
+
/**
|
|
79
|
+
* Returns the OpenSSL version string
|
|
80
|
+
* @since v1.0.0
|
|
81
|
+
*/
|
|
82
|
+
getOpenSSLVersion(): string;
|
|
83
|
+
_transform(chunk: BinaryLike, encoding: BufferEncoding, callback: () => void): void;
|
|
84
|
+
_flush(callback: () => void): void;
|
|
85
|
+
}
|
|
86
|
+
/**
|
|
87
|
+
* Creates and returns a `Hash` object that can be used to generate hash digests
|
|
88
|
+
* using the given `algorithm`. Optional `options` argument controls stream
|
|
89
|
+
* behavior. For XOF hash functions such as `'shake256'`, the `outputLength` option
|
|
90
|
+
* can be used to specify the desired output length in bytes.
|
|
91
|
+
*
|
|
92
|
+
* The `algorithm` is dependent on the available algorithms supported by the
|
|
93
|
+
* version of OpenSSL on the platform. Examples are `'sha256'`, `'sha512'`, etc.
|
|
94
|
+
* On recent releases of OpenSSL, `openssl list -digest-algorithms` will
|
|
95
|
+
* display the available digest algorithms.
|
|
96
|
+
*
|
|
97
|
+
* Example: generating the sha256 sum of a file
|
|
98
|
+
*
|
|
99
|
+
* ```js
|
|
100
|
+
* import crypto from 'react-native-quick-crypto';
|
|
101
|
+
*
|
|
102
|
+
* const hash = crypto.createHash('sha256').update('Test123').digest('hex');
|
|
103
|
+
* console.log('SHA-256 of "Test123":', hash);
|
|
104
|
+
* ```
|
|
105
|
+
* @since v1.0.0
|
|
106
|
+
* @param options `stream.transform` options
|
|
107
|
+
*/
|
|
108
|
+
export declare function createHash(algorithm: string, options?: HashOptions): Hash;
|
|
109
|
+
/**
|
|
110
|
+
* Asynchronous digest function for WebCrypto SubtleCrypto API
|
|
111
|
+
* @param algorithm The hash algorithm to use
|
|
112
|
+
* @param data The data to hash
|
|
113
|
+
* @returns Promise resolving to the hash digest as ArrayBuffer
|
|
114
|
+
*/
|
|
115
|
+
export declare const asyncDigest: (algorithm: SubtleAlgorithm, data: BufferLike) => Promise<ArrayBuffer>;
|
|
116
|
+
export declare const hashExports: {
|
|
117
|
+
createHash: typeof createHash;
|
|
118
|
+
getHashes: typeof getHashes;
|
|
119
|
+
asyncDigest: (algorithm: SubtleAlgorithm, data: BufferLike) => Promise<ArrayBuffer>;
|
|
120
|
+
};
|
|
121
|
+
export {};
|
|
122
|
+
//# sourceMappingURL=hash.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hash.d.ts","sourceRoot":"","sources":["../../src/hash.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAEzC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAExD,OAAO,KAAK,EACV,UAAU,EACV,QAAQ,EACR,UAAU,EACV,eAAe,EAChB,MAAM,SAAS,CAAC;AAiBjB,wBAAgB,SAAS,aAExB;AAED,UAAU,WAAY,SAAQ,gBAAgB;IAC5C;;;OAGG;IACH,YAAY,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CACnC;AAQD,cAAM,IAAK,SAAQ,MAAM,CAAC,SAAS;IACjC,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,OAAO,CAAc;IAC7B,OAAO,CAAC,MAAM,CAAa;IAE3B,OAAO,CAAC,QAAQ;IAehB;;OAEG;IACH,OAAO;IAiBP;;;;;;;;;OASG;IACH,MAAM,CAAC,IAAI,EAAE,UAAU,GAAG,IAAI;IAC9B,MAAM,CAAC,IAAI,EAAE,UAAU,EAAE,aAAa,EAAE,QAAQ,GAAG,MAAM;IAUzD;;;;;;;;;OASG;IACH,MAAM,IAAI,MAAM;IAChB,MAAM,CAAC,QAAQ,EAAE,QAAQ,GAAG,MAAM;IAWlC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA8BG;IACH,IAAI,IAAI,IAAI;IACZ,IAAI,CAAC,OAAO,EAAE,WAAW,GAAG,IAAI;IAYhC;;;OAGG;IACH,iBAAiB,IAAI,MAAM;IAK3B,UAAU,CACR,KAAK,EAAE,UAAU,EACjB,QAAQ,EAAE,cAAc,EACxB,QAAQ,EAAE,MAAM,IAAI;IAKtB,MAAM,CAAC,QAAQ,EAAE,MAAM,IAAI;CAI5B;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,UAAU,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,WAAW,GAAG,IAAI,CAMzE;AAID;;;;;GAKG;AACH,eAAO,MAAM,WAAW,GACtB,WAAW,eAAe,EAC1B,MAAM,UAAU,KACf,OAAO,CAAC,WAAW,CAkBrB,CAAC;AAgBF,eAAO,MAAM,WAAW;;;6BApCX,eAAe,QACpB,UAAU,KACf,OAAO,CAAC,WAAW,CAAC;CAsCtB,CAAC"}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import { Buffer } from '@craftzdog/react-native-buffer';
|
|
2
|
+
import { Stream } from 'readable-stream';
|
|
3
|
+
import type { TransformOptions } from 'readable-stream';
|
|
4
|
+
import type { BinaryLike, Encoding } from './utils/types';
|
|
5
|
+
declare class Hmac extends Stream.Transform {
|
|
6
|
+
private algorithm;
|
|
7
|
+
private key;
|
|
8
|
+
private native;
|
|
9
|
+
private validate;
|
|
10
|
+
/**
|
|
11
|
+
* @internal use `createHmac()` instead
|
|
12
|
+
*/
|
|
13
|
+
private constructor();
|
|
14
|
+
/**
|
|
15
|
+
* Updates the `Hmac` content with the given `data`, the encoding of which is given in `inputEncoding`.
|
|
16
|
+
* If `encoding` is not provided, and the `data` is a string, an encoding of `'utf8'` is enforced.
|
|
17
|
+
* If `data` is a `Buffer`, `TypedArray`, or`DataView`, then `inputEncoding` is ignored.
|
|
18
|
+
*
|
|
19
|
+
* This can be called many times with new data as it is streamed.
|
|
20
|
+
* @since v1.0.0
|
|
21
|
+
* @param inputEncoding The `encoding` of the `data` string.
|
|
22
|
+
*/
|
|
23
|
+
update(data: BinaryLike): Hmac;
|
|
24
|
+
update(data: BinaryLike, inputEncoding: Encoding): Hmac;
|
|
25
|
+
/**
|
|
26
|
+
* Calculates the HMAC digest of all of the data passed using `hmac.update()`.
|
|
27
|
+
* If `encoding` is provided a string is returned; otherwise a `Buffer` is returned;
|
|
28
|
+
*
|
|
29
|
+
* The `Hmac` object can not be used again after `hmac.digest()` has been
|
|
30
|
+
* called. Multiple calls to `hmac.digest()` will result in an error being thrown.
|
|
31
|
+
* @since v1.0.0
|
|
32
|
+
* @param encoding The `encoding` of the return value.
|
|
33
|
+
*/
|
|
34
|
+
digest(): Buffer;
|
|
35
|
+
digest(encoding: Encoding): string;
|
|
36
|
+
_transform(chunk: BinaryLike, encoding: BufferEncoding, callback: () => void): void;
|
|
37
|
+
_flush(callback: () => void): void;
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* Creates and returns an `Hmac` object that uses the given `algorithm` and `key`.
|
|
41
|
+
* Optional `options` argument controls stream behavior.
|
|
42
|
+
*
|
|
43
|
+
* The `algorithm` is dependent on the available algorithms supported by the
|
|
44
|
+
* version of OpenSSL on the platform. Examples are `'sha256'`, `'sha512'`, etc.
|
|
45
|
+
* On recent releases of OpenSSL, `openssl list -digest-algorithms` will
|
|
46
|
+
* display the available digest algorithms.
|
|
47
|
+
*
|
|
48
|
+
* Example: generating the sha256 HMAC of a file
|
|
49
|
+
*
|
|
50
|
+
* ```js
|
|
51
|
+
* import crypto from 'react-native-quick-crypto';
|
|
52
|
+
*
|
|
53
|
+
* const hmac = crypto.createHmac('sha256', 'secret-key');
|
|
54
|
+
* hmac.update('message to hash');
|
|
55
|
+
* const digest = hmac.digest('hex');
|
|
56
|
+
* console.log(digest); // prints HMAC digest in hexadecimal format
|
|
57
|
+
* ```
|
|
58
|
+
* @since v1.0.0
|
|
59
|
+
* @param options `stream.transform` options
|
|
60
|
+
*/
|
|
61
|
+
export declare function createHmac(algorithm: string, key: BinaryLike, options?: TransformOptions): Hmac;
|
|
62
|
+
export declare const hmacExports: {
|
|
63
|
+
createHmac: typeof createHmac;
|
|
64
|
+
};
|
|
65
|
+
export {};
|
|
66
|
+
//# sourceMappingURL=hmac.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hmac.d.ts","sourceRoot":"","sources":["../../src/hmac.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,gCAAgC,CAAC;AACxD,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAEzC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAExD,OAAO,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAS1D,cAAM,IAAK,SAAQ,MAAM,CAAC,SAAS;IACjC,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,GAAG,CAAa;IACxB,OAAO,CAAC,MAAM,CAAa;IAE3B,OAAO,CAAC,QAAQ;IAOhB;;OAEG;IACH,OAAO;IAYP;;;;;;;;OAQG;IACH,MAAM,CAAC,IAAI,EAAE,UAAU,GAAG,IAAI;IAC9B,MAAM,CAAC,IAAI,EAAE,UAAU,EAAE,aAAa,EAAE,QAAQ,GAAG,IAAI;IAUvD;;;;;;;;OAQG;IACH,MAAM,IAAI,MAAM;IAChB,MAAM,CAAC,QAAQ,EAAE,QAAQ,GAAG,MAAM;IAYlC,UAAU,CACR,KAAK,EAAE,UAAU,EACjB,QAAQ,EAAE,cAAc,EACxB,QAAQ,EAAE,MAAM,IAAI;IAKtB,MAAM,CAAC,QAAQ,EAAE,MAAM,IAAI;CAI5B;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,UAAU,CACxB,SAAS,EAAE,MAAM,EACjB,GAAG,EAAE,UAAU,EACf,OAAO,CAAC,EAAE,gBAAgB,GACzB,IAAI,CAON;AAED,eAAO,MAAM,WAAW;;CAEvB,CAAC"}
|
|
@@ -1,29 +1,63 @@
|
|
|
1
|
-
/// <reference types="safe-buffer" />
|
|
2
1
|
import { Buffer } from '@craftzdog/react-native-buffer';
|
|
3
2
|
import * as keys from './keys';
|
|
3
|
+
import * as blake3 from './blake3';
|
|
4
|
+
import * as cipher from './cipher';
|
|
4
5
|
import * as ed from './ed';
|
|
5
6
|
import * as random from './random';
|
|
6
7
|
import * as utils from './utils';
|
|
8
|
+
import * as subtle from './subtle';
|
|
7
9
|
/**
|
|
8
10
|
* Loosely matches Node.js {crypto} with some unimplemented functionality.
|
|
9
11
|
* See `docs/implementation-coverage.md` for status.
|
|
10
12
|
*/
|
|
11
13
|
declare const QuickCrypto: {
|
|
14
|
+
constants: {
|
|
15
|
+
readonly RSA_PKCS1_PADDING: 1;
|
|
16
|
+
readonly RSA_NO_PADDING: 3;
|
|
17
|
+
readonly RSA_PKCS1_OAEP_PADDING: 4;
|
|
18
|
+
readonly RSA_X931_PADDING: 5;
|
|
19
|
+
readonly RSA_PKCS1_PSS_PADDING: 6;
|
|
20
|
+
readonly RSA_PSS_SALTLEN_DIGEST: -1;
|
|
21
|
+
readonly RSA_PSS_SALTLEN_MAX_SIGN: -2;
|
|
22
|
+
readonly RSA_PSS_SALTLEN_AUTO: -2;
|
|
23
|
+
readonly POINT_CONVERSION_COMPRESSED: 2;
|
|
24
|
+
readonly POINT_CONVERSION_UNCOMPRESSED: 4;
|
|
25
|
+
readonly POINT_CONVERSION_HYBRID: 6;
|
|
26
|
+
readonly DH_CHECK_P_NOT_PRIME: 1;
|
|
27
|
+
readonly DH_CHECK_P_NOT_SAFE_PRIME: 2;
|
|
28
|
+
readonly DH_UNABLE_TO_CHECK_GENERATOR: 4;
|
|
29
|
+
readonly DH_NOT_SUITABLE_GENERATOR: 8;
|
|
30
|
+
readonly OPENSSL_VERSION_NUMBER: 805306368;
|
|
31
|
+
};
|
|
32
|
+
isCryptoKeyPair(result: keys.CryptoKey | utils.CryptoKeyPair): result is utils.CryptoKeyPair;
|
|
33
|
+
Subtle: typeof subtle.Subtle;
|
|
34
|
+
subtle: subtle.Subtle;
|
|
12
35
|
toArrayBuffer(buf: Buffer | import("safe-buffer").Buffer | ArrayBufferView): ArrayBuffer;
|
|
13
36
|
bufferLikeToArrayBuffer(buf: utils.BufferLike): ArrayBuffer;
|
|
14
37
|
binaryLikeToArrayBuffer(input: utils.BinaryLikeNode, encoding?: string): ArrayBuffer;
|
|
15
38
|
ab2str(buf: ArrayBuffer, encoding?: string): string;
|
|
16
39
|
abvToArrayBuffer: (buf: utils.ABV) => ArrayBuffer;
|
|
17
40
|
kEmptyObject: any;
|
|
41
|
+
ensureBytes(title: string, hex: utils.Hex, expectedLength?: number): Uint8Array;
|
|
42
|
+
isBytes(a: unknown): a is Uint8Array;
|
|
43
|
+
hexToBytes(hex: string): Uint8Array;
|
|
18
44
|
lazyDOMException(message: string, domName: string | {
|
|
19
45
|
name: string;
|
|
20
46
|
cause: unknown;
|
|
21
47
|
}): Error;
|
|
22
|
-
normalizeHashName(algo: string |
|
|
48
|
+
normalizeHashName(algo: string | utils.HashAlgorithm | {
|
|
49
|
+
name: string;
|
|
50
|
+
} | undefined, context?: utils.HashContext): utils.HashAlgorithm;
|
|
23
51
|
HashContext: typeof utils.HashContext;
|
|
24
52
|
KFormatType: typeof utils.KFormatType;
|
|
25
53
|
KeyType: typeof utils.KeyType;
|
|
26
54
|
KeyEncoding: typeof utils.KeyEncoding;
|
|
55
|
+
KeyFormat: typeof utils.KeyFormat;
|
|
56
|
+
kNamedCurveAliases: {
|
|
57
|
+
readonly 'P-256': "prime256v1";
|
|
58
|
+
readonly 'P-384': "secp384r1";
|
|
59
|
+
readonly 'P-521': "secp521r1";
|
|
60
|
+
};
|
|
27
61
|
KeyVariant: typeof utils.KeyVariant;
|
|
28
62
|
validateFunction(f: unknown): boolean;
|
|
29
63
|
isStringOrBuffer(val: unknown): val is string | ArrayBuffer;
|
|
@@ -31,13 +65,22 @@ declare const QuickCrypto: {
|
|
|
31
65
|
allowArray: boolean;
|
|
32
66
|
allowFunction: boolean;
|
|
33
67
|
nullable: boolean;
|
|
34
|
-
} | null
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
68
|
+
} | null): value is T;
|
|
69
|
+
hasAnyNotIn(set: string[], checks: string[]): boolean;
|
|
70
|
+
validateMaxBufferLength: (data: utils.BinaryLike | utils.BufferLike, name: string) => void;
|
|
71
|
+
getUsagesUnion: (usageSet: utils.KeyUsage[], ...usages: utils.KeyUsage[]) => utils.KeyUsage[];
|
|
72
|
+
validateKeyOps: (keyOps: utils.KeyUsage[] | undefined, usagesSet: utils.KeyUsage[]) => void;
|
|
73
|
+
setDefaultEncoding(encoding: utils.Encoding): void;
|
|
74
|
+
getDefaultEncoding(): utils.Encoding;
|
|
75
|
+
normalizeEncoding(enc: string): "ascii" | "utf8" | "utf16le" | "base64" | "latin1" | "hex" | undefined;
|
|
76
|
+
validateEncoding(data: string, encoding: string): void;
|
|
77
|
+
getUIntOption(options: Record<string, any>, key: string): any;
|
|
78
|
+
randomFill<T extends utils.ABV>(buffer: T, callback: utils.RandomCallback<T>): void;
|
|
79
|
+
randomFill<T extends utils.ABV>(buffer: T, offset: number, callback: utils.RandomCallback<T>): void;
|
|
80
|
+
randomFill<T extends utils.ABV>(buffer: T, offset: number, size: number, callback: utils.RandomCallback<T>): void;
|
|
81
|
+
randomFillSync<T extends utils.ABV>(buffer: T, offset?: number, size?: number): T;
|
|
39
82
|
randomBytes(size: number): Buffer;
|
|
40
|
-
randomBytes(size: number, callback: (err: Error | null, buf?: Buffer
|
|
83
|
+
randomBytes(size: number, callback: (err: Error | null, buf?: Buffer) => void): void;
|
|
41
84
|
randomInt(max: number, callback: (err: Error | null, value: number) => void): void;
|
|
42
85
|
randomInt(max: number): number;
|
|
43
86
|
randomInt(min: number, max: number, callback: (err: Error | null, value: number) => void): void;
|
|
@@ -47,12 +90,53 @@ declare const QuickCrypto: {
|
|
|
47
90
|
rng: typeof random.randomBytes;
|
|
48
91
|
pseudoRandomBytes: typeof random.randomBytes;
|
|
49
92
|
prng: typeof random.randomBytes;
|
|
50
|
-
pbkdf2(password: utils.BinaryLike, salt: utils.BinaryLike, iterations: number, keylen: number, digest: string, callback: (err: Error | null, derivedKey?: Buffer
|
|
51
|
-
pbkdf2Sync(password: utils.BinaryLike, salt: utils.BinaryLike, iterations: number, keylen: number, digest?: utils.HashAlgorithm
|
|
93
|
+
pbkdf2(password: utils.BinaryLike, salt: utils.BinaryLike, iterations: number, keylen: number, digest: string, callback: (err: Error | null, derivedKey?: Buffer) => void): void;
|
|
94
|
+
pbkdf2Sync(password: utils.BinaryLike, salt: utils.BinaryLike, iterations: number, keylen: number, digest?: utils.HashAlgorithm): Buffer;
|
|
52
95
|
pbkdf2DeriveBits(algorithm: utils.SubtleAlgorithm, baseKey: keys.CryptoKey, length: number): Promise<ArrayBuffer>;
|
|
96
|
+
createHmac: typeof import("./hmac").createHmac;
|
|
97
|
+
createHash: typeof import("./hash").createHash;
|
|
98
|
+
getHashes: typeof import("./hash").getHashes;
|
|
99
|
+
asyncDigest: (algorithm: utils.SubtleAlgorithm, data: utils.BufferLike) => Promise<ArrayBuffer>;
|
|
100
|
+
diffieHellman(options: utils.DiffieHellmanOptions, callback?: utils.DiffieHellmanCallback): Buffer | void;
|
|
101
|
+
ed_generateKeyPair(isAsync: boolean, type: utils.CFRGKeyPairType, encoding: utils.KeyPairGenConfig, callback: utils.GenerateKeyPairCallback | undefined): utils.GenerateKeyPairReturn | void;
|
|
102
|
+
ed_generateKeyPairWebCrypto(type: "ed25519" | "ed448", extractable: boolean, keyUsages: utils.KeyUsage[]): Promise<utils.CryptoKeyPair>;
|
|
53
103
|
Ed: typeof ed.Ed;
|
|
104
|
+
getCiphers(): string[];
|
|
105
|
+
createDecipheriv(algorithm: import("crypto").CipherCCMTypes, key: utils.BinaryLikeNode, iv: utils.BinaryLike, options: import("crypto").CipherCCMOptions): cipher.Decipher;
|
|
106
|
+
createDecipheriv(algorithm: import("crypto").CipherOCBTypes, key: utils.BinaryLikeNode, iv: utils.BinaryLike, options: import("crypto").CipherOCBOptions): cipher.Decipher;
|
|
107
|
+
createDecipheriv(algorithm: import("crypto").CipherGCMTypes, key: utils.BinaryLikeNode, iv: utils.BinaryLike, options?: import("crypto").CipherGCMOptions): cipher.Decipher;
|
|
108
|
+
createDecipheriv(algorithm: string, key: utils.BinaryLikeNode, iv: utils.BinaryLike, options?: import("readable-stream").TransformOptions): cipher.Decipher;
|
|
109
|
+
createCipheriv(algorithm: import("crypto").CipherCCMTypes, key: utils.BinaryLikeNode, iv: utils.BinaryLike, options: import("crypto").CipherCCMOptions): cipher.Cipher;
|
|
110
|
+
createCipheriv(algorithm: import("crypto").CipherOCBTypes, key: utils.BinaryLikeNode, iv: utils.BinaryLike, options: import("crypto").CipherOCBOptions): cipher.Cipher;
|
|
111
|
+
createCipheriv(algorithm: import("crypto").CipherGCMTypes, key: utils.BinaryLikeNode, iv: utils.BinaryLike, options?: import("crypto").CipherGCMOptions): cipher.Cipher;
|
|
112
|
+
createCipheriv(algorithm: string, key: utils.BinaryLikeNode, iv: utils.BinaryLike, options?: import("readable-stream").TransformOptions): cipher.Cipher;
|
|
113
|
+
xsalsa20(key: Uint8Array, nonce: Uint8Array, data: Uint8Array, output?: Uint8Array | undefined, counter?: number): Uint8Array;
|
|
114
|
+
createBlake3(opts?: blake3.Blake3Options): blake3.Blake3;
|
|
115
|
+
blake3: typeof blake3.blake3;
|
|
116
|
+
Blake3: typeof blake3.Blake3;
|
|
117
|
+
blake3Exports: {
|
|
118
|
+
Blake3: typeof blake3.Blake3;
|
|
119
|
+
createBlake3: typeof blake3.createBlake3;
|
|
120
|
+
blake3: typeof blake3.blake3;
|
|
121
|
+
};
|
|
122
|
+
createSecretKey: typeof keys.createSecretKey;
|
|
123
|
+
createPublicKey: typeof keys.createPublicKey;
|
|
124
|
+
createPrivateKey: typeof keys.createPrivateKey;
|
|
54
125
|
CryptoKey: typeof keys.CryptoKey;
|
|
126
|
+
generateKey: typeof keys.generateKey;
|
|
127
|
+
generateKeySync: typeof keys.generateKeySync;
|
|
128
|
+
generateKeyPair: (type: utils.KeyPairType, options: utils.GenerateKeyPairOptions, callback: utils.GenerateKeyPairCallback) => void;
|
|
129
|
+
generateKeyPairSync: typeof keys.generateKeyPairSync;
|
|
130
|
+
AsymmetricKeyObject: typeof keys.AsymmetricKeyObject;
|
|
55
131
|
KeyObject: typeof keys.KeyObject;
|
|
132
|
+
createSign: typeof keys.createSign;
|
|
133
|
+
createVerify: typeof keys.createVerify;
|
|
134
|
+
Sign: typeof keys.Sign;
|
|
135
|
+
Verify: typeof keys.Verify;
|
|
136
|
+
publicEncrypt: typeof keys.publicEncrypt;
|
|
137
|
+
publicDecrypt: typeof keys.publicDecrypt;
|
|
138
|
+
privateEncrypt: typeof keys.privateEncrypt;
|
|
139
|
+
privateDecrypt: typeof keys.privateDecrypt;
|
|
56
140
|
parsePublicKeyEncoding: typeof keys.parsePublicKeyEncoding;
|
|
57
141
|
parsePrivateKeyEncoding: typeof keys.parsePrivateKeyEncoding;
|
|
58
142
|
parseKeyEncoding: typeof keys.parseKeyEncoding;
|
|
@@ -67,8 +151,16 @@ declare const QuickCrypto: {
|
|
|
67
151
|
*/
|
|
68
152
|
export declare const install: () => void;
|
|
69
153
|
export default QuickCrypto;
|
|
154
|
+
export * from './blake3';
|
|
155
|
+
export * from './cipher';
|
|
70
156
|
export * from './ed';
|
|
157
|
+
export * from './keys';
|
|
158
|
+
export * from './hash';
|
|
159
|
+
export * from './hmac';
|
|
71
160
|
export * from './pbkdf2';
|
|
72
161
|
export * from './random';
|
|
73
162
|
export * from './utils';
|
|
163
|
+
export * from './subtle';
|
|
164
|
+
export { subtle, isCryptoKeyPair } from './subtle';
|
|
165
|
+
export { constants } from './constants';
|
|
74
166
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,gCAAgC,CAAC;AAGxD,OAAO,KAAK,IAAI,MAAM,QAAQ,CAAC;AAC/B,OAAO,KAAK,MAAM,MAAM,UAAU,CAAC;AACnC,OAAO,KAAK,MAAM,MAAM,UAAU,CAAC;AACnC,OAAO,KAAK,EAAE,MAAM,MAAM,CAAC;AAI3B,OAAO,KAAK,MAAM,MAAM,UAAU,CAAC;AAInC,OAAO,KAAK,KAAK,MAAM,SAAS,CAAC;AACjC,OAAO,KAAK,MAAM,MAAM,UAAU,CAAC;AAEnC;;;GAGG;AACH,QAAA,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;uBAHmB,cAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8BAkCrC,yCACM,EAAC,YACX;qBAWuC,0BAC7B,EAAE,2BACT;qBAE6d,oCAAiC,EAAC,2BAAwB;;;;;;;;;;;+DAAtN,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CApCvU,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,OAAO,YAMnB,CAAC;AAMF,eAAe,WAAW,CAAC;AAC3B,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,cAAc,MAAM,CAAC;AACrB,cAAc,QAAQ,CAAC;AACvB,cAAc,QAAQ,CAAC;AACvB,cAAc,QAAQ,CAAC;AACvB,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC;AACzB,OAAO,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AACnD,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC"}
|