react-native-quick-crypto 1.1.0 → 1.1.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/QuickCrypto.podspec +1 -0
- package/android/CMakeLists.txt +4 -0
- package/android/build.gradle +5 -1
- package/cpp/argon2/HybridArgon2.cpp +10 -3
- package/cpp/blake3/HybridBlake3.cpp +5 -3
- package/cpp/cipher/CCMCipher.cpp +35 -26
- package/cpp/cipher/CCMCipher.hpp +2 -4
- package/cpp/cipher/ChaCha20Cipher.cpp +19 -27
- package/cpp/cipher/ChaCha20Cipher.hpp +2 -4
- package/cpp/cipher/ChaCha20Poly1305Cipher.cpp +41 -36
- package/cpp/cipher/ChaCha20Poly1305Cipher.hpp +2 -4
- package/cpp/cipher/GCMCipher.cpp +17 -20
- package/cpp/cipher/HybridCipher.cpp +44 -47
- package/cpp/cipher/HybridCipher.hpp +17 -1
- package/cpp/cipher/HybridRsaCipher.cpp +93 -56
- package/cpp/cipher/OCBCipher.cpp +5 -5
- package/cpp/cipher/XChaCha20Poly1305Cipher.cpp +27 -32
- package/cpp/cipher/XSalsa20Cipher.cpp +78 -16
- package/cpp/cipher/XSalsa20Cipher.hpp +25 -3
- package/cpp/cipher/XSalsa20Poly1305Cipher.cpp +32 -41
- package/cpp/dh/HybridDiffieHellman.cpp +29 -0
- package/cpp/ec/HybridEcKeyPair.cpp +35 -33
- package/cpp/ec/HybridEcKeyPair.hpp +3 -7
- package/cpp/ecdh/HybridECDH.cpp +23 -0
- package/cpp/ed25519/HybridEdKeyPair.cpp +73 -117
- package/cpp/ed25519/HybridEdKeyPair.hpp +5 -9
- package/cpp/hash/HybridHash.cpp +5 -7
- package/cpp/hkdf/HybridHkdf.cpp +6 -4
- package/cpp/hmac/HybridHmac.cpp +4 -6
- package/cpp/keys/HybridKeyObjectHandle.cpp +630 -2
- package/cpp/keys/HybridKeyObjectHandle.hpp +21 -1
- package/cpp/kmac/HybridKmac.cpp +4 -4
- package/cpp/mldsa/HybridMlDsaKeyPair.cpp +37 -49
- package/cpp/mlkem/HybridMlKemKeyPair.cpp +39 -43
- package/cpp/pbkdf2/HybridPbkdf2.cpp +7 -8
- package/cpp/rsa/HybridRsaKeyPair.cpp +5 -8
- package/cpp/rsa/HybridRsaKeyPair.hpp +4 -7
- package/cpp/scrypt/HybridScrypt.cpp +6 -4
- package/cpp/sign/HybridSignHandle.cpp +47 -72
- package/cpp/sign/HybridVerifyHandle.cpp +47 -67
- package/cpp/slhdsa/HybridSlhDsaKeyPair.cpp +245 -0
- package/cpp/slhdsa/HybridSlhDsaKeyPair.hpp +48 -0
- package/cpp/turboshake/HybridTurboShake.cpp +379 -0
- package/cpp/turboshake/HybridTurboShake.hpp +28 -0
- package/cpp/utils/HybridUtils.cpp +195 -43
- package/cpp/utils/HybridUtils.hpp +9 -2
- package/cpp/utils/QuickCryptoUtils.hpp +72 -0
- package/deps/blake3/README.md +6 -7
- package/deps/blake3/c/blake3.c +3 -2
- package/deps/blake3/c/blake3.h +2 -2
- package/deps/blake3/c/blake3_dispatch.c +2 -2
- package/deps/blake3/c/blake3_impl.h +1 -1
- package/deps/blake3/c/blake3_neon.c +5 -4
- package/deps/ncrypto/include/ncrypto/version.h +2 -2
- package/deps/ncrypto/include/ncrypto.h +9 -2
- package/deps/ncrypto/src/ncrypto.cpp +130 -35
- package/lib/commonjs/argon2.js +51 -2
- package/lib/commonjs/argon2.js.map +1 -1
- package/lib/commonjs/cipher.js +109 -11
- package/lib/commonjs/cipher.js.map +1 -1
- package/lib/commonjs/dhKeyPair.js +3 -0
- package/lib/commonjs/dhKeyPair.js.map +1 -1
- package/lib/commonjs/dsa.js +11 -2
- package/lib/commonjs/dsa.js.map +1 -1
- package/lib/commonjs/ec.js +37 -30
- package/lib/commonjs/ec.js.map +1 -1
- package/lib/commonjs/ed.js +60 -6
- package/lib/commonjs/ed.js.map +1 -1
- package/lib/commonjs/hash.js +67 -10
- package/lib/commonjs/hash.js.map +1 -1
- package/lib/commonjs/hkdf.js +33 -6
- package/lib/commonjs/hkdf.js.map +1 -1
- package/lib/commonjs/hmac.js +15 -5
- package/lib/commonjs/hmac.js.map +1 -1
- package/lib/commonjs/keys/classes.js +33 -7
- package/lib/commonjs/keys/classes.js.map +1 -1
- package/lib/commonjs/keys/generateKeyPair.js +85 -4
- package/lib/commonjs/keys/generateKeyPair.js.map +1 -1
- package/lib/commonjs/keys/index.js +50 -2
- package/lib/commonjs/keys/index.js.map +1 -1
- package/lib/commonjs/keys/publicCipher.js +10 -4
- package/lib/commonjs/keys/publicCipher.js.map +1 -1
- package/lib/commonjs/keys/signVerify.js +9 -2
- package/lib/commonjs/keys/signVerify.js.map +1 -1
- package/lib/commonjs/keys/utils.js +59 -1
- package/lib/commonjs/keys/utils.js.map +1 -1
- package/lib/commonjs/random.js +74 -11
- package/lib/commonjs/random.js.map +1 -1
- package/lib/commonjs/rsa.js +15 -5
- package/lib/commonjs/rsa.js.map +1 -1
- package/lib/commonjs/scrypt.js +47 -6
- package/lib/commonjs/scrypt.js.map +1 -1
- package/lib/commonjs/slhdsa.js +70 -0
- package/lib/commonjs/slhdsa.js.map +1 -0
- package/lib/commonjs/specs/slhDsaKeyPair.nitro.js +6 -0
- package/lib/commonjs/specs/slhDsaKeyPair.nitro.js.map +1 -0
- package/lib/commonjs/specs/turboshake.nitro.js +6 -0
- package/lib/commonjs/specs/turboshake.nitro.js.map +1 -0
- package/lib/commonjs/subtle.js +975 -253
- package/lib/commonjs/subtle.js.map +1 -1
- package/lib/commonjs/utils/cipher.js +18 -7
- package/lib/commonjs/utils/cipher.js.map +1 -1
- package/lib/commonjs/utils/conversion.js +86 -28
- package/lib/commonjs/utils/conversion.js.map +1 -1
- package/lib/commonjs/utils/errors.js +63 -4
- package/lib/commonjs/utils/errors.js.map +1 -1
- package/lib/commonjs/utils/timingSafeEqual.js +7 -2
- package/lib/commonjs/utils/timingSafeEqual.js.map +1 -1
- package/lib/commonjs/utils/types.js.map +1 -1
- package/lib/commonjs/utils/validation.js +46 -0
- package/lib/commonjs/utils/validation.js.map +1 -1
- package/lib/commonjs/x509certificate.js +6 -6
- package/lib/commonjs/x509certificate.js.map +1 -1
- package/lib/module/argon2.js +51 -2
- package/lib/module/argon2.js.map +1 -1
- package/lib/module/cipher.js +109 -11
- package/lib/module/cipher.js.map +1 -1
- package/lib/module/dhKeyPair.js +3 -0
- package/lib/module/dhKeyPair.js.map +1 -1
- package/lib/module/dsa.js +11 -2
- package/lib/module/dsa.js.map +1 -1
- package/lib/module/ec.js +38 -31
- package/lib/module/ec.js.map +1 -1
- package/lib/module/ed.js +61 -7
- package/lib/module/ed.js.map +1 -1
- package/lib/module/hash.js +67 -10
- package/lib/module/hash.js.map +1 -1
- package/lib/module/hkdf.js +33 -6
- package/lib/module/hkdf.js.map +1 -1
- package/lib/module/hmac.js +15 -5
- package/lib/module/hmac.js.map +1 -1
- package/lib/module/keys/classes.js +31 -5
- package/lib/module/keys/classes.js.map +1 -1
- package/lib/module/keys/generateKeyPair.js +86 -5
- package/lib/module/keys/generateKeyPair.js.map +1 -1
- package/lib/module/keys/index.js +50 -2
- package/lib/module/keys/index.js.map +1 -1
- package/lib/module/keys/publicCipher.js +10 -4
- package/lib/module/keys/publicCipher.js.map +1 -1
- package/lib/module/keys/signVerify.js +9 -2
- package/lib/module/keys/signVerify.js.map +1 -1
- package/lib/module/keys/utils.js +57 -1
- package/lib/module/keys/utils.js.map +1 -1
- package/lib/module/random.js +74 -12
- package/lib/module/random.js.map +1 -1
- package/lib/module/rsa.js +14 -4
- package/lib/module/rsa.js.map +1 -1
- package/lib/module/scrypt.js +47 -6
- package/lib/module/scrypt.js.map +1 -1
- package/lib/module/slhdsa.js +64 -0
- package/lib/module/slhdsa.js.map +1 -0
- package/lib/module/specs/slhDsaKeyPair.nitro.js +4 -0
- package/lib/module/specs/slhDsaKeyPair.nitro.js.map +1 -0
- package/lib/module/specs/turboshake.nitro.js +4 -0
- package/lib/module/specs/turboshake.nitro.js.map +1 -0
- package/lib/module/subtle.js +976 -254
- package/lib/module/subtle.js.map +1 -1
- package/lib/module/utils/cipher.js +18 -7
- package/lib/module/utils/cipher.js.map +1 -1
- package/lib/module/utils/conversion.js +84 -28
- package/lib/module/utils/conversion.js.map +1 -1
- package/lib/module/utils/errors.js +61 -4
- package/lib/module/utils/errors.js.map +1 -1
- package/lib/module/utils/timingSafeEqual.js +8 -3
- package/lib/module/utils/timingSafeEqual.js.map +1 -1
- package/lib/module/utils/types.js.map +1 -1
- package/lib/module/utils/validation.js +44 -0
- package/lib/module/utils/validation.js.map +1 -1
- package/lib/module/x509certificate.js +6 -6
- package/lib/module/x509certificate.js.map +1 -1
- package/lib/typescript/argon2.d.ts.map +1 -1
- package/lib/typescript/cipher.d.ts +2 -2
- package/lib/typescript/cipher.d.ts.map +1 -1
- package/lib/typescript/dhKeyPair.d.ts.map +1 -1
- package/lib/typescript/dsa.d.ts.map +1 -1
- package/lib/typescript/ec.d.ts.map +1 -1
- package/lib/typescript/ed.d.ts.map +1 -1
- package/lib/typescript/hash.d.ts +2 -2
- package/lib/typescript/hash.d.ts.map +1 -1
- package/lib/typescript/hkdf.d.ts.map +1 -1
- package/lib/typescript/hmac.d.ts +2 -2
- package/lib/typescript/hmac.d.ts.map +1 -1
- package/lib/typescript/index.d.ts +13 -8
- package/lib/typescript/index.d.ts.map +1 -1
- package/lib/typescript/keys/classes.d.ts +10 -1
- package/lib/typescript/keys/classes.d.ts.map +1 -1
- package/lib/typescript/keys/generateKeyPair.d.ts +12 -1
- package/lib/typescript/keys/generateKeyPair.d.ts.map +1 -1
- package/lib/typescript/keys/index.d.ts +3 -1
- package/lib/typescript/keys/index.d.ts.map +1 -1
- package/lib/typescript/keys/publicCipher.d.ts.map +1 -1
- package/lib/typescript/keys/signVerify.d.ts.map +1 -1
- package/lib/typescript/keys/utils.d.ts +21 -4
- package/lib/typescript/keys/utils.d.ts.map +1 -1
- package/lib/typescript/random.d.ts +5 -1
- package/lib/typescript/random.d.ts.map +1 -1
- package/lib/typescript/rsa.d.ts.map +1 -1
- package/lib/typescript/scrypt.d.ts.map +1 -1
- package/lib/typescript/slhdsa.d.ts +19 -0
- package/lib/typescript/slhdsa.d.ts.map +1 -0
- package/lib/typescript/specs/keyObjectHandle.nitro.d.ts +9 -0
- package/lib/typescript/specs/keyObjectHandle.nitro.d.ts.map +1 -1
- package/lib/typescript/specs/slhDsaKeyPair.nitro.d.ts +16 -0
- package/lib/typescript/specs/slhDsaKeyPair.nitro.d.ts.map +1 -0
- package/lib/typescript/specs/turboshake.nitro.d.ts +11 -0
- package/lib/typescript/specs/turboshake.nitro.d.ts.map +1 -0
- package/lib/typescript/specs/utils.nitro.d.ts +0 -2
- package/lib/typescript/specs/utils.nitro.d.ts.map +1 -1
- package/lib/typescript/subtle.d.ts +3 -2
- package/lib/typescript/subtle.d.ts.map +1 -1
- package/lib/typescript/utils/cipher.d.ts +13 -1
- package/lib/typescript/utils/cipher.d.ts.map +1 -1
- package/lib/typescript/utils/conversion.d.ts +13 -9
- package/lib/typescript/utils/conversion.d.ts.map +1 -1
- package/lib/typescript/utils/errors.d.ts +12 -0
- package/lib/typescript/utils/errors.d.ts.map +1 -1
- package/lib/typescript/utils/timingSafeEqual.d.ts.map +1 -1
- package/lib/typescript/utils/types.d.ts +32 -15
- package/lib/typescript/utils/types.d.ts.map +1 -1
- package/lib/typescript/utils/validation.d.ts +3 -1
- package/lib/typescript/utils/validation.d.ts.map +1 -1
- package/lib/typescript/x509certificate.d.ts.map +1 -1
- package/nitrogen/generated/android/QuickCrypto+autolinking.cmake +2 -0
- package/nitrogen/generated/android/QuickCryptoOnLoad.cpp +20 -0
- package/nitrogen/generated/ios/QuickCryptoAutolinking.mm +20 -0
- package/nitrogen/generated/shared/c++/AsymmetricKeyType.hpp +48 -0
- package/nitrogen/generated/shared/c++/HybridKeyObjectHandleSpec.cpp +9 -0
- package/nitrogen/generated/shared/c++/HybridKeyObjectHandleSpec.hpp +9 -0
- package/nitrogen/generated/shared/c++/HybridSlhDsaKeyPairSpec.cpp +29 -0
- package/nitrogen/generated/shared/c++/HybridSlhDsaKeyPairSpec.hpp +72 -0
- package/nitrogen/generated/shared/c++/HybridTurboShakeSpec.cpp +22 -0
- package/nitrogen/generated/shared/c++/HybridTurboShakeSpec.hpp +70 -0
- package/nitrogen/generated/shared/c++/HybridUtilsSpec.cpp +0 -2
- package/nitrogen/generated/shared/c++/HybridUtilsSpec.hpp +0 -3
- package/nitrogen/generated/shared/c++/JWK.hpp +9 -1
- package/nitrogen/generated/shared/c++/JWKkty.hpp +4 -0
- package/nitrogen/generated/shared/c++/KangarooTwelveVariant.hpp +76 -0
- package/nitrogen/generated/shared/c++/TurboShakeVariant.hpp +76 -0
- package/package.json +38 -7
- package/src/argon2.ts +80 -2
- package/src/cipher.ts +139 -15
- package/src/dhKeyPair.ts +8 -0
- package/src/dsa.ts +19 -2
- package/src/ec.ts +52 -29
- package/src/ed.ts +95 -16
- package/src/hash.ts +125 -12
- package/src/hkdf.ts +44 -6
- package/src/hmac.ts +17 -7
- package/src/keys/classes.ts +46 -5
- package/src/keys/generateKeyPair.ts +151 -5
- package/src/keys/index.ts +73 -3
- package/src/keys/publicCipher.ts +10 -4
- package/src/keys/signVerify.ts +13 -2
- package/src/keys/utils.ts +78 -5
- package/src/random.ts +104 -11
- package/src/rsa.ts +26 -4
- package/src/scrypt.ts +73 -6
- package/src/slhdsa.ts +146 -0
- package/src/specs/keyObjectHandle.nitro.ts +17 -0
- package/src/specs/slhDsaKeyPair.nitro.ts +29 -0
- package/src/specs/turboshake.nitro.ts +21 -0
- package/src/specs/utils.nitro.ts +0 -2
- package/src/subtle.ts +1246 -333
- package/src/utils/cipher.ts +30 -8
- package/src/utils/conversion.ts +129 -40
- package/src/utils/errors.ts +72 -4
- package/src/utils/timingSafeEqual.ts +8 -3
- package/src/utils/types.ts +80 -15
- package/src/utils/validation.ts +70 -1
- package/src/x509certificate.ts +5 -6
- package/deps/blake3/.cargo/config.toml +0 -2
- package/deps/blake3/.git-blame-ignore-revs +0 -2
- package/deps/blake3/.github/workflows/build_b3sum.py +0 -38
- package/deps/blake3/.github/workflows/ci.yml +0 -491
- package/deps/blake3/.github/workflows/tag.yml +0 -43
- package/deps/blake3/.github/workflows/upload_github_release_asset.py +0 -73
- package/deps/blake3/CONTRIBUTING.md +0 -31
- package/deps/blake3/Cargo.toml +0 -135
- package/deps/blake3/b3sum/Cargo.lock +0 -513
- package/deps/blake3/b3sum/Cargo.toml +0 -26
- package/deps/blake3/b3sum/README.md +0 -72
- package/deps/blake3/b3sum/src/main.rs +0 -564
- package/deps/blake3/b3sum/src/unit_tests.rs +0 -235
- package/deps/blake3/b3sum/tests/cli_tests.rs +0 -680
- package/deps/blake3/b3sum/what_does_check_do.md +0 -176
- package/deps/blake3/benches/bench.rs +0 -623
- package/deps/blake3/build.rs +0 -389
- package/deps/blake3/c/CMakeLists.txt +0 -383
- package/deps/blake3/c/CMakePresets.json +0 -73
- package/deps/blake3/c/Makefile.testing +0 -82
- package/deps/blake3/c/blake3-config.cmake.in +0 -14
- package/deps/blake3/c/blake3_avx2.c +0 -326
- package/deps/blake3/c/blake3_avx2_x86-64_unix.S +0 -1815
- package/deps/blake3/c/blake3_avx2_x86-64_windows_gnu.S +0 -1817
- package/deps/blake3/c/blake3_avx2_x86-64_windows_msvc.asm +0 -1828
- package/deps/blake3/c/blake3_avx512.c +0 -1388
- package/deps/blake3/c/blake3_avx512_x86-64_unix.S +0 -4824
- package/deps/blake3/c/blake3_avx512_x86-64_windows_gnu.S +0 -2615
- package/deps/blake3/c/blake3_avx512_x86-64_windows_msvc.asm +0 -2634
- package/deps/blake3/c/blake3_c_rust_bindings/Cargo.toml +0 -32
- package/deps/blake3/c/blake3_c_rust_bindings/README.md +0 -4
- package/deps/blake3/c/blake3_c_rust_bindings/benches/bench.rs +0 -477
- package/deps/blake3/c/blake3_c_rust_bindings/build.rs +0 -253
- package/deps/blake3/c/blake3_c_rust_bindings/cross_test.sh +0 -31
- package/deps/blake3/c/blake3_c_rust_bindings/src/lib.rs +0 -333
- package/deps/blake3/c/blake3_c_rust_bindings/src/test.rs +0 -696
- package/deps/blake3/c/blake3_sse2.c +0 -566
- package/deps/blake3/c/blake3_sse2_x86-64_unix.S +0 -2291
- package/deps/blake3/c/blake3_sse2_x86-64_windows_gnu.S +0 -2332
- package/deps/blake3/c/blake3_sse2_x86-64_windows_msvc.asm +0 -2350
- package/deps/blake3/c/blake3_sse41.c +0 -560
- package/deps/blake3/c/blake3_sse41_x86-64_unix.S +0 -2028
- package/deps/blake3/c/blake3_sse41_x86-64_windows_gnu.S +0 -2069
- package/deps/blake3/c/blake3_sse41_x86-64_windows_msvc.asm +0 -2089
- package/deps/blake3/c/blake3_tbb.cpp +0 -37
- package/deps/blake3/c/dependencies/CMakeLists.txt +0 -3
- package/deps/blake3/c/dependencies/tbb/CMakeLists.txt +0 -28
- package/deps/blake3/c/example.c +0 -36
- package/deps/blake3/c/example_tbb.c +0 -57
- package/deps/blake3/c/libblake3.pc.in +0 -12
- package/deps/blake3/c/main.c +0 -166
- package/deps/blake3/c/test.py +0 -97
- package/deps/blake3/media/B3.svg +0 -70
- package/deps/blake3/media/BLAKE3.svg +0 -85
- package/deps/blake3/media/speed.svg +0 -1474
- package/deps/blake3/reference_impl/Cargo.toml +0 -8
- package/deps/blake3/reference_impl/README.md +0 -14
- package/deps/blake3/reference_impl/reference_impl.rs +0 -374
- package/deps/blake3/src/ffi_avx2.rs +0 -65
- package/deps/blake3/src/ffi_avx512.rs +0 -169
- package/deps/blake3/src/ffi_neon.rs +0 -82
- package/deps/blake3/src/ffi_sse2.rs +0 -126
- package/deps/blake3/src/ffi_sse41.rs +0 -126
- package/deps/blake3/src/guts.rs +0 -60
- package/deps/blake3/src/hazmat.rs +0 -704
- package/deps/blake3/src/io.rs +0 -64
- package/deps/blake3/src/join.rs +0 -92
- package/deps/blake3/src/lib.rs +0 -1835
- package/deps/blake3/src/platform.rs +0 -587
- package/deps/blake3/src/portable.rs +0 -198
- package/deps/blake3/src/rust_avx2.rs +0 -474
- package/deps/blake3/src/rust_sse2.rs +0 -775
- package/deps/blake3/src/rust_sse41.rs +0 -766
- package/deps/blake3/src/test.rs +0 -1049
- package/deps/blake3/src/traits.rs +0 -227
- package/deps/blake3/src/wasm32_simd.rs +0 -794
- package/deps/blake3/test_vectors/Cargo.toml +0 -19
- package/deps/blake3/test_vectors/cross_test.sh +0 -25
- package/deps/blake3/test_vectors/src/bin/generate.rs +0 -4
- package/deps/blake3/test_vectors/src/lib.rs +0 -350
- package/deps/blake3/test_vectors/test_vectors.json +0 -217
- package/deps/blake3/tools/compiler_version/Cargo.toml +0 -7
- package/deps/blake3/tools/compiler_version/build.rs +0 -6
- package/deps/blake3/tools/compiler_version/src/main.rs +0 -27
- package/deps/blake3/tools/instruction_set_support/Cargo.toml +0 -6
- package/deps/blake3/tools/instruction_set_support/src/main.rs +0 -10
- package/deps/blake3/tools/release.md +0 -16
- package/deps/ncrypto/.bazelignore +0 -4
- package/deps/ncrypto/.bazelrc +0 -1
- package/deps/ncrypto/.bazelversion +0 -1
- package/deps/ncrypto/.clang-format +0 -111
- package/deps/ncrypto/.github/workflows/bazel.yml +0 -58
- package/deps/ncrypto/.github/workflows/commitlint.yml +0 -16
- package/deps/ncrypto/.github/workflows/linter.yml +0 -38
- package/deps/ncrypto/.github/workflows/macos.yml +0 -43
- package/deps/ncrypto/.github/workflows/release-please.yml +0 -16
- package/deps/ncrypto/.github/workflows/ubuntu.yml +0 -128
- package/deps/ncrypto/.github/workflows/visual-studio.yml +0 -49
- package/deps/ncrypto/.python-version +0 -1
- package/deps/ncrypto/.release-please-manifest.json +0 -3
- package/deps/ncrypto/BUILD.bazel +0 -44
- package/deps/ncrypto/CHANGELOG.md +0 -37
- package/deps/ncrypto/CMakeLists.txt +0 -79
- package/deps/ncrypto/MODULE.bazel +0 -16
- package/deps/ncrypto/MODULE.bazel.lock +0 -461
- package/deps/ncrypto/cmake/CPM.cmake +0 -1225
- package/deps/ncrypto/cmake/ncrypto-flags.cmake +0 -17
- package/deps/ncrypto/ncrypto.pc.in +0 -10
- package/deps/ncrypto/patches/0001-Expose-libdecrepit-so-NodeJS-can-use-it-for-ncrypto.patch +0 -28
- package/deps/ncrypto/pyproject.toml +0 -38
- package/deps/ncrypto/release-please-config.json +0 -11
- package/deps/ncrypto/src/CMakeLists.txt +0 -40
- package/deps/ncrypto/tests/BUILD.bazel +0 -11
- package/deps/ncrypto/tests/CMakeLists.txt +0 -7
- package/deps/ncrypto/tests/basic.cpp +0 -856
- package/deps/ncrypto/tools/run-clang-format.sh +0 -42
- package/deps/simdutf/.clang-format +0 -4
- package/deps/simdutf/.github/ISSUE_TEMPLATE/bug_report.md +0 -62
- package/deps/simdutf/.github/ISSUE_TEMPLATE/config.yml +0 -1
- package/deps/simdutf/.github/ISSUE_TEMPLATE/feature_request.md +0 -35
- package/deps/simdutf/.github/ISSUE_TEMPLATE/standard-issue-template.md +0 -29
- package/deps/simdutf/.github/pull_request_template.md +0 -51
- package/deps/simdutf/.github/workflows/aarch64.yml +0 -39
- package/deps/simdutf/.github/workflows/alpine.yml +0 -27
- package/deps/simdutf/.github/workflows/amalgamation_demos.yml +0 -34
- package/deps/simdutf/.github/workflows/armv7.yml +0 -32
- package/deps/simdutf/.github/workflows/atomic_fuzz.yml +0 -25
- package/deps/simdutf/.github/workflows/cifuzz.yml +0 -37
- package/deps/simdutf/.github/workflows/clangformat.yml +0 -36
- package/deps/simdutf/.github/workflows/debian-latestcxxstandards.yml +0 -40
- package/deps/simdutf/.github/workflows/debian.yml +0 -33
- package/deps/simdutf/.github/workflows/documentation.yml +0 -36
- package/deps/simdutf/.github/workflows/emscripten.yml +0 -19
- package/deps/simdutf/.github/workflows/loongarch64-gcc-14.2.yml +0 -39
- package/deps/simdutf/.github/workflows/macos-latest.yml +0 -29
- package/deps/simdutf/.github/workflows/msys2-clang.yml +0 -48
- package/deps/simdutf/.github/workflows/msys2.yml +0 -50
- package/deps/simdutf/.github/workflows/ppc64le.yml +0 -29
- package/deps/simdutf/.github/workflows/rvv-1024-clang-18.yml +0 -35
- package/deps/simdutf/.github/workflows/rvv-128-clang-17.yml +0 -35
- package/deps/simdutf/.github/workflows/rvv-256-gcc-14.yml +0 -31
- package/deps/simdutf/.github/workflows/s390x.yml +0 -29
- package/deps/simdutf/.github/workflows/selective-amalgamation.yml +0 -29
- package/deps/simdutf/.github/workflows/typos.yml +0 -19
- package/deps/simdutf/.github/workflows/ubuntu22-cxx20.yml +0 -30
- package/deps/simdutf/.github/workflows/ubuntu22.yml +0 -32
- package/deps/simdutf/.github/workflows/ubuntu22_gcc12.yml +0 -27
- package/deps/simdutf/.github/workflows/ubuntu22sani.yml +0 -29
- package/deps/simdutf/.github/workflows/ubuntu24-cxxstandards.yml +0 -34
- package/deps/simdutf/.github/workflows/ubuntu24-unsignedchar.yml +0 -34
- package/deps/simdutf/.github/workflows/ubuntu24.yml +0 -32
- package/deps/simdutf/.github/workflows/ubuntu24sani.yml +0 -36
- package/deps/simdutf/.github/workflows/ubuntu24sani_clang.yml +0 -29
- package/deps/simdutf/.github/workflows/vs17-arm-ci.yml +0 -21
- package/deps/simdutf/.github/workflows/vs17-ci-cxx20.yml +0 -41
- package/deps/simdutf/.github/workflows/vs17-ci.yml +0 -41
- package/deps/simdutf/.github/workflows/vs17-clang-ci.yml +0 -41
- package/deps/simdutf/.github/workflows/vs17-cxxstandards.yml +0 -36
- package/deps/simdutf/AI_USAGE_POLICY.md +0 -56
- package/deps/simdutf/AUTHORS +0 -6
- package/deps/simdutf/CMakeLists.txt +0 -231
- package/deps/simdutf/CONTRIBUTING.md +0 -214
- package/deps/simdutf/CONTRIBUTORS +0 -1
- package/deps/simdutf/Doxyfile +0 -2584
- package/deps/simdutf/Makefile.crosscompile +0 -54
- package/deps/simdutf/README-RVV.md +0 -16
- package/deps/simdutf/SECURITY.md +0 -8
- package/deps/simdutf/benchmarks/CMakeLists.txt +0 -101
- package/deps/simdutf/benchmarks/alignment.cpp +0 -150
- package/deps/simdutf/benchmarks/base64/CMakeLists.txt +0 -30
- package/deps/simdutf/benchmarks/base64/benchmark_base64.cpp +0 -875
- package/deps/simdutf/benchmarks/base64/libbase64_spaces.h +0 -49
- package/deps/simdutf/benchmarks/base64/node_base64.h +0 -227
- package/deps/simdutf/benchmarks/base64/openssl3_base64.h +0 -334
- package/deps/simdutf/benchmarks/benchmark.cpp +0 -65
- package/deps/simdutf/benchmarks/benchmark_to_well_formed_utf16.cpp +0 -347
- package/deps/simdutf/benchmarks/competition/.clang-format-ignore +0 -5
- package/deps/simdutf/benchmarks/competition/CppCon2018/utf_utils.cpp +0 -1276
- package/deps/simdutf/benchmarks/competition/CppCon2018/utf_utils.h +0 -595
- package/deps/simdutf/benchmarks/competition/README.md +0 -7
- package/deps/simdutf/benchmarks/competition/hoehrmann/hoehrmann.h +0 -91
- package/deps/simdutf/benchmarks/competition/inoue2008/inoue_utf8_to_utf16.h +0 -444
- package/deps/simdutf/benchmarks/competition/inoue2008/inoue_utf8_to_utf16_tables.h +0 -13183
- package/deps/simdutf/benchmarks/competition/inoue2008/script.py +0 -73
- package/deps/simdutf/benchmarks/competition/llvm/ConvertUTF.cpp +0 -738
- package/deps/simdutf/benchmarks/competition/llvm/ConvertUTF.h +0 -293
- package/deps/simdutf/benchmarks/competition/u8u16/COPYRIGHT +0 -8
- package/deps/simdutf/benchmarks/competition/u8u16/Makefile +0 -44
- package/deps/simdutf/benchmarks/competition/u8u16/OSL3.0.txt +0 -169
- package/deps/simdutf/benchmarks/competition/u8u16/Profiling/BOM_Profiler.h +0 -148
- package/deps/simdutf/benchmarks/competition/u8u16/Profiling/i386_timer.h +0 -45
- package/deps/simdutf/benchmarks/competition/u8u16/Profiling/ppc_timer.c +0 -34
- package/deps/simdutf/benchmarks/competition/u8u16/README +0 -56
- package/deps/simdutf/benchmarks/competition/u8u16/config/config_defs.h +0 -43
- package/deps/simdutf/benchmarks/competition/u8u16/config/g4_config.h +0 -27
- package/deps/simdutf/benchmarks/competition/u8u16/config/mmx_config.h +0 -16
- package/deps/simdutf/benchmarks/competition/u8u16/config/p4_config.h +0 -18
- package/deps/simdutf/benchmarks/competition/u8u16/config/p4_ideal_config.h +0 -16
- package/deps/simdutf/benchmarks/competition/u8u16/config/spu_config.h +0 -28
- package/deps/simdutf/benchmarks/competition/u8u16/config/ssse3_config.h +0 -20
- package/deps/simdutf/benchmarks/competition/u8u16/iconv_u8u16.c +0 -2
- package/deps/simdutf/benchmarks/competition/u8u16/lib/altivec_simd.h +0 -440
- package/deps/simdutf/benchmarks/competition/u8u16/lib/libgen/make_basic_ops.py +0 -121
- package/deps/simdutf/benchmarks/competition/u8u16/lib/libgen/make_half_operand_versions.py +0 -158
- package/deps/simdutf/benchmarks/competition/u8u16/lib/libgen/make_test.py +0 -270
- package/deps/simdutf/benchmarks/competition/u8u16/lib/mmx_simd.h +0 -141
- package/deps/simdutf/benchmarks/competition/u8u16/lib/mmx_simd_basic.h +0 -216
- package/deps/simdutf/benchmarks/competition/u8u16/lib/mmx_simd_built_in.h +0 -119
- package/deps/simdutf/benchmarks/competition/u8u16/lib/mmx_simd_modified.h +0 -2430
- package/deps/simdutf/benchmarks/competition/u8u16/lib/outline.txt +0 -39
- package/deps/simdutf/benchmarks/competition/u8u16/lib/spu_simd.h +0 -421
- package/deps/simdutf/benchmarks/competition/u8u16/lib/sse_simd.h +0 -836
- package/deps/simdutf/benchmarks/competition/u8u16/lib/stdint.h +0 -222
- package/deps/simdutf/benchmarks/competition/u8u16/libu8u16_BE.c +0 -4
- package/deps/simdutf/benchmarks/competition/u8u16/libu8u16_LE.c +0 -5
- package/deps/simdutf/benchmarks/competition/u8u16/proto/u8u16.py +0 -390
- package/deps/simdutf/benchmarks/competition/u8u16/src/Makefile +0 -18
- package/deps/simdutf/benchmarks/competition/u8u16/src/bytelex.h +0 -448
- package/deps/simdutf/benchmarks/competition/u8u16/src/charsets/ASCII_EBCDIC.h +0 -284
- package/deps/simdutf/benchmarks/competition/u8u16/src/libu8u16.c +0 -1975
- package/deps/simdutf/benchmarks/competition/u8u16/src/libu8u16.pdf +0 -0
- package/deps/simdutf/benchmarks/competition/u8u16/src/libu8u16.w +0 -2263
- package/deps/simdutf/benchmarks/competition/u8u16/src/multiliteral.h +0 -239
- package/deps/simdutf/benchmarks/competition/u8u16/src/u8u16.c +0 -232
- package/deps/simdutf/benchmarks/competition/u8u16/src/x8x16.c +0 -194
- package/deps/simdutf/benchmarks/competition/u8u16/src/xml_error.c +0 -193
- package/deps/simdutf/benchmarks/competition/u8u16/src/xml_error.h +0 -167
- package/deps/simdutf/benchmarks/competition/u8u16/src/xmldecl.c +0 -288
- package/deps/simdutf/benchmarks/competition/u8u16/src/xmldecl.h +0 -117
- package/deps/simdutf/benchmarks/competition/u8u16/u8u16_g4.c +0 -2
- package/deps/simdutf/benchmarks/competition/u8u16/u8u16_mmx.c +0 -2
- package/deps/simdutf/benchmarks/competition/u8u16/u8u16_p4.c +0 -3
- package/deps/simdutf/benchmarks/competition/u8u16/u8u16_p4_ideal.c +0 -2
- package/deps/simdutf/benchmarks/competition/u8u16/u8u16_spu.c +0 -2
- package/deps/simdutf/benchmarks/competition/u8u16/u8u16_ssse3.c +0 -3
- package/deps/simdutf/benchmarks/competition/u8u16/x8x16_p4.c +0 -2
- package/deps/simdutf/benchmarks/competition/utf8lut/LICENSE +0 -23
- package/deps/simdutf/benchmarks/competition/utf8lut/data/test_minimal.txt +0 -44
- package/deps/simdutf/benchmarks/competition/utf8lut/readme.md +0 -106
- package/deps/simdutf/benchmarks/competition/utf8lut/scripts/build_clang_corr_tests.cmd +0 -11
- package/deps/simdutf/benchmarks/competition/utf8lut/scripts/build_clang_corr_tests.sh +0 -13
- package/deps/simdutf/benchmarks/competition/utf8lut/scripts/build_gcc_corr_tests.sh +0 -13
- package/deps/simdutf/benchmarks/competition/utf8lut/scripts/build_gcc_example.sh +0 -13
- package/deps/simdutf/benchmarks/competition/utf8lut/scripts/build_gcc_file_conv.sh +0 -14
- package/deps/simdutf/benchmarks/competition/utf8lut/scripts/build_gcc_iconv_lib.sh +0 -11
- package/deps/simdutf/benchmarks/competition/utf8lut/scripts/build_gcc_iconv_sample.sh +0 -8
- package/deps/simdutf/benchmarks/competition/utf8lut/scripts/build_mingw_corr_tests.cmd +0 -12
- package/deps/simdutf/benchmarks/competition/utf8lut/scripts/build_mingw_example.cmd +0 -13
- package/deps/simdutf/benchmarks/competition/utf8lut/scripts/build_mingw_file_conv.cmd +0 -14
- package/deps/simdutf/benchmarks/competition/utf8lut/scripts/build_mingw_iconv_lib.cmd +0 -11
- package/deps/simdutf/benchmarks/competition/utf8lut/scripts/build_mingw_iconv_sample.cmd +0 -8
- package/deps/simdutf/benchmarks/competition/utf8lut/scripts/build_msvc_corr_tests.cmd +0 -11
- package/deps/simdutf/benchmarks/competition/utf8lut/scripts/build_msvc_example.cmd +0 -12
- package/deps/simdutf/benchmarks/competition/utf8lut/scripts/build_msvc_file_conv.cmd +0 -13
- package/deps/simdutf/benchmarks/competition/utf8lut/scripts/build_msvc_iconv_lib.cmd +0 -10
- package/deps/simdutf/benchmarks/competition/utf8lut/scripts/build_msvc_iconv_sample.cmd +0 -9
- package/deps/simdutf/benchmarks/competition/utf8lut/scripts/html_table.py +0 -25
- package/deps/simdutf/benchmarks/competition/utf8lut/scripts/measure.py +0 -94
- package/deps/simdutf/benchmarks/competition/utf8lut/scripts/resize.py +0 -20
- package/deps/simdutf/benchmarks/competition/utf8lut/scripts/wipe_all.cmd +0 -2
- package/deps/simdutf/benchmarks/competition/utf8lut/scripts/wipe_interm.cmd +0 -1
- package/deps/simdutf/benchmarks/competition/utf8lut/src/base/CustomMemcpy.h +0 -75
- package/deps/simdutf/benchmarks/competition/utf8lut/src/base/PerfDefs.h +0 -47
- package/deps/simdutf/benchmarks/competition/utf8lut/src/base/Timing.cpp +0 -17
- package/deps/simdutf/benchmarks/competition/utf8lut/src/base/Timing.h +0 -76
- package/deps/simdutf/benchmarks/competition/utf8lut/src/buffer/AllProcessors.cpp +0 -35
- package/deps/simdutf/benchmarks/competition/utf8lut/src/buffer/BaseBufferProcessor.cpp +0 -117
- package/deps/simdutf/benchmarks/competition/utf8lut/src/buffer/BaseBufferProcessor.h +0 -210
- package/deps/simdutf/benchmarks/competition/utf8lut/src/buffer/BufferDecoder.h +0 -158
- package/deps/simdutf/benchmarks/competition/utf8lut/src/buffer/BufferEncoder.h +0 -104
- package/deps/simdutf/benchmarks/competition/utf8lut/src/buffer/ProcessorPlugins.h +0 -334
- package/deps/simdutf/benchmarks/competition/utf8lut/src/buffer/ProcessorSelector.h +0 -186
- package/deps/simdutf/benchmarks/competition/utf8lut/src/core/DecoderLut.cpp +0 -140
- package/deps/simdutf/benchmarks/competition/utf8lut/src/core/DecoderLut.h +0 -42
- package/deps/simdutf/benchmarks/competition/utf8lut/src/core/DecoderProcess.h +0 -100
- package/deps/simdutf/benchmarks/competition/utf8lut/src/core/Dfa.h +0 -57
- package/deps/simdutf/benchmarks/competition/utf8lut/src/core/EncoderLut.cpp +0 -85
- package/deps/simdutf/benchmarks/competition/utf8lut/src/core/EncoderLut.h +0 -27
- package/deps/simdutf/benchmarks/competition/utf8lut/src/core/EncoderProcess.h +0 -126
- package/deps/simdutf/benchmarks/competition/utf8lut/src/core/ProcessTrivial.h +0 -108
- package/deps/simdutf/benchmarks/competition/utf8lut/src/iconv/iconv.cpp +0 -139
- package/deps/simdutf/benchmarks/competition/utf8lut/src/iconv/iconv.h +0 -74
- package/deps/simdutf/benchmarks/competition/utf8lut/src/message/MessageConverter.cpp +0 -65
- package/deps/simdutf/benchmarks/competition/utf8lut/src/message/MessageConverter.h +0 -91
- package/deps/simdutf/benchmarks/competition/utf8lut/src/tests/CorrectnessTests.cpp +0 -772
- package/deps/simdutf/benchmarks/competition/utf8lut/src/tests/Example.cpp +0 -12
- package/deps/simdutf/benchmarks/competition/utf8lut/src/tests/FileConverter.cpp +0 -486
- package/deps/simdutf/benchmarks/competition/utf8lut/src/tests/iconv_sample.c +0 -162
- package/deps/simdutf/benchmarks/competition/utf8lut/src/utf8lut.h +0 -15
- package/deps/simdutf/benchmarks/competition/utf8sse4/fromutf8-sse.cpp +0 -292
- package/deps/simdutf/benchmarks/competition/utfcpp/LICENSE +0 -23
- package/deps/simdutf/benchmarks/competition/utfcpp/README.md +0 -1503
- package/deps/simdutf/benchmarks/competition/utfcpp/source/utf8/checked.h +0 -335
- package/deps/simdutf/benchmarks/competition/utfcpp/source/utf8/core.h +0 -338
- package/deps/simdutf/benchmarks/competition/utfcpp/source/utf8/cpp11.h +0 -103
- package/deps/simdutf/benchmarks/competition/utfcpp/source/utf8/cpp17.h +0 -103
- package/deps/simdutf/benchmarks/competition/utfcpp/source/utf8/unchecked.h +0 -274
- package/deps/simdutf/benchmarks/competition/utfcpp/source/utf8.h +0 -34
- package/deps/simdutf/benchmarks/dataset/README.md +0 -155
- package/deps/simdutf/benchmarks/dataset/emoji.txt +0 -204
- package/deps/simdutf/benchmarks/dataset/scripts/utf8type.py +0 -40
- package/deps/simdutf/benchmarks/dataset/wikipedia_mars/Makefile +0 -80
- package/deps/simdutf/benchmarks/dataset/wikipedia_mars/convert_to_utf6.py +0 -20
- package/deps/simdutf/benchmarks/find/CMakeLists.txt +0 -6
- package/deps/simdutf/benchmarks/find/findbenchmark.cpp +0 -63
- package/deps/simdutf/benchmarks/find/findbenchmarker.h +0 -46
- package/deps/simdutf/benchmarks/shortbench.cpp +0 -555
- package/deps/simdutf/benchmarks/src/CMakeLists.txt +0 -52
- package/deps/simdutf/benchmarks/src/apple_arm_events.h +0 -1104
- package/deps/simdutf/benchmarks/src/benchmark.cpp +0 -3899
- package/deps/simdutf/benchmarks/src/benchmark.h +0 -317
- package/deps/simdutf/benchmarks/src/benchmark_base.cpp +0 -144
- package/deps/simdutf/benchmarks/src/benchmark_base.h +0 -98
- package/deps/simdutf/benchmarks/src/cmdline.cpp +0 -176
- package/deps/simdutf/benchmarks/src/cmdline.h +0 -35
- package/deps/simdutf/benchmarks/src/event_counter.h +0 -162
- package/deps/simdutf/benchmarks/src/linux-perf-events.h +0 -104
- package/deps/simdutf/benchmarks/stream.cpp +0 -209
- package/deps/simdutf/benchmarks/threaded.cpp +0 -123
- package/deps/simdutf/cmake/CPM.cmake +0 -1363
- package/deps/simdutf/cmake/JoinPaths.cmake +0 -23
- package/deps/simdutf/cmake/add_cpp_test.cmake +0 -68
- package/deps/simdutf/cmake/simdutf-config.cmake.in +0 -2
- package/deps/simdutf/cmake/simdutf-flags.cmake +0 -26
- package/deps/simdutf/cmake/toolchains-ci/riscv64-linux-gnu.cmake +0 -4
- package/deps/simdutf/cmake/toolchains-dev/README.md +0 -32
- package/deps/simdutf/cmake/toolchains-dev/aarch64.cmake +0 -14
- package/deps/simdutf/cmake/toolchains-dev/loongarch64.cmake +0 -22
- package/deps/simdutf/cmake/toolchains-dev/powerpc64.cmake +0 -16
- package/deps/simdutf/cmake/toolchains-dev/powerpc64le.cmake +0 -16
- package/deps/simdutf/cmake/toolchains-dev/riscv64.cmake +0 -16
- package/deps/simdutf/cmake/toolchains-dev/rvv-spike.cmake +0 -38
- package/deps/simdutf/doc/avx512.png +0 -0
- package/deps/simdutf/doc/logo.png +0 -0
- package/deps/simdutf/doc/logo.svg +0 -165
- package/deps/simdutf/doc/node2023.png +0 -0
- package/deps/simdutf/doc/shortinput.md +0 -78
- package/deps/simdutf/doc/utf16utf8.png +0 -0
- package/deps/simdutf/doc/utf8utf16.png +0 -0
- package/deps/simdutf/doc/widelogo.png +0 -0
- package/deps/simdutf/doxygen.py +0 -50
- package/deps/simdutf/fuzz/.clang-format +0 -9
- package/deps/simdutf/fuzz/CMakeLists.txt +0 -45
- package/deps/simdutf/fuzz/README.md +0 -168
- package/deps/simdutf/fuzz/atomic_base64.cpp +0 -448
- package/deps/simdutf/fuzz/base64.cpp +0 -278
- package/deps/simdutf/fuzz/build.sh +0 -83
- package/deps/simdutf/fuzz/conversion.cpp +0 -669
- package/deps/simdutf/fuzz/helpers/.clang-format-ignore +0 -1
- package/deps/simdutf/fuzz/helpers/common.h +0 -135
- package/deps/simdutf/fuzz/helpers/nameof.hpp +0 -1258
- package/deps/simdutf/fuzz/main.cpp +0 -72
- package/deps/simdutf/fuzz/minimize_and_cleanse.sh +0 -87
- package/deps/simdutf/fuzz/misc.cpp +0 -216
- package/deps/simdutf/fuzz/random_fuzz.sh +0 -154
- package/deps/simdutf/fuzz/roundtrip.cpp +0 -588
- package/deps/simdutf/fuzz/safe_conversion.cpp +0 -104
- package/deps/simdutf/riscv/Dockerfile +0 -16
- package/deps/simdutf/riscv/README.md +0 -24
- package/deps/simdutf/riscv/remove-docker-station +0 -8
- package/deps/simdutf/riscv/run-docker-station +0 -31
- package/deps/simdutf/scripts/.flake8 +0 -2
- package/deps/simdutf/scripts/Makefile +0 -2
- package/deps/simdutf/scripts/README_ADD_FUNCTION.md +0 -49
- package/deps/simdutf/scripts/add_function.py +0 -330
- package/deps/simdutf/scripts/amalgamation_tests.py +0 -156
- package/deps/simdutf/scripts/base64/Makefile +0 -2
- package/deps/simdutf/scripts/base64/README.md +0 -2
- package/deps/simdutf/scripts/base64/avx512.py +0 -76
- package/deps/simdutf/scripts/base64/neon_decode.py +0 -143
- package/deps/simdutf/scripts/base64/neon_generate_lut.py +0 -101
- package/deps/simdutf/scripts/base64/sse.py +0 -252
- package/deps/simdutf/scripts/base64/sseregular.py +0 -160
- package/deps/simdutf/scripts/base64/sseurl.py +0 -283
- package/deps/simdutf/scripts/base64/table.py +0 -59
- package/deps/simdutf/scripts/base64bench_print.py +0 -145
- package/deps/simdutf/scripts/benchmark-all.py +0 -119
- package/deps/simdutf/scripts/benchmark_print.py +0 -324
- package/deps/simdutf/scripts/check_feature_macros.py +0 -156
- package/deps/simdutf/scripts/check_typos.sh +0 -13
- package/deps/simdutf/scripts/clang_format.sh +0 -35
- package/deps/simdutf/scripts/clang_format_docker.sh +0 -38
- package/deps/simdutf/scripts/common.py +0 -24
- package/deps/simdutf/scripts/compilation_benchmark.py +0 -55
- package/deps/simdutf/scripts/compile_many_variations.sh +0 -64
- package/deps/simdutf/scripts/create_latex_table.py +0 -62
- package/deps/simdutf/scripts/docker/Dockerfile +0 -14
- package/deps/simdutf/scripts/docker/Makefile +0 -9
- package/deps/simdutf/scripts/docker/README.md +0 -30
- package/deps/simdutf/scripts/docker/llvm.gpg +0 -0
- package/deps/simdutf/scripts/ppc64_convert_utf16_to_utf8.py +0 -155
- package/deps/simdutf/scripts/prepare_doxygen.sh +0 -21
- package/deps/simdutf/scripts/release.py +0 -197
- package/deps/simdutf/scripts/shortinputplots.py +0 -97
- package/deps/simdutf/scripts/sse_convert_utf16_to_utf8.py +0 -422
- package/deps/simdutf/scripts/sse_convert_utf32_to_utf16.py +0 -105
- package/deps/simdutf/scripts/sse_utf8_utf16_decode.py +0 -186
- package/deps/simdutf/scripts/sse_validate_utf16le_proof.py +0 -137
- package/deps/simdutf/scripts/sse_validate_utf16le_testcases.py +0 -129
- package/deps/simdutf/scripts/table.py +0 -207
- package/deps/simdutf/scripts/tests/new.txt +0 -33
- package/deps/simdutf/scripts/tests/old.txt +0 -33
- package/deps/simdutf/scripts/tests/results.txt +0 -272
- package/deps/simdutf/simdutf.pc.in +0 -11
- package/deps/simdutf/singleheader/.flake8 +0 -2
- package/deps/simdutf/singleheader/CMakeLists.txt +0 -64
- package/deps/simdutf/singleheader/README-dev.md +0 -81
- package/deps/simdutf/singleheader/README.md +0 -19
- package/deps/simdutf/singleheader/amalgamate.py +0 -513
- package/deps/simdutf/singleheader/amalgamation_demo.c +0 -59
- package/deps/simdutf/singleheader/amalgamation_demo.cpp +0 -54
- package/deps/simdutf/singleheader/test-features.py +0 -262
- package/deps/simdutf/src/CMakeLists.txt +0 -78
- package/deps/simdutf/tests/CMakeLists.txt +0 -483
- package/deps/simdutf/tests/atomic_base64_tests.cpp +0 -2845
- package/deps/simdutf/tests/base64_tests.cpp +0 -3617
- package/deps/simdutf/tests/basic_fuzzer.cpp +0 -805
- package/deps/simdutf/tests/bele_tests.cpp +0 -182
- package/deps/simdutf/tests/constexpr_base64_tests.cpp +0 -387
- package/deps/simdutf/tests/convert_latin1_to_utf16be_tests.cpp +0 -52
- package/deps/simdutf/tests/convert_latin1_to_utf16le_tests.cpp +0 -80
- package/deps/simdutf/tests/convert_latin1_to_utf32_tests.cpp +0 -66
- package/deps/simdutf/tests/convert_latin1_to_utf8_tests.cpp +0 -120
- package/deps/simdutf/tests/convert_utf16_to_utf8_safe_tests.cpp +0 -203
- package/deps/simdutf/tests/convert_utf16_to_utf8_with_replacement_tests.cpp +0 -276
- package/deps/simdutf/tests/convert_utf16be_to_latin1_tests.cpp +0 -109
- package/deps/simdutf/tests/convert_utf16be_to_latin1_tests_with_errors.cpp +0 -136
- package/deps/simdutf/tests/convert_utf16be_to_utf32_tests.cpp +0 -193
- package/deps/simdutf/tests/convert_utf16be_to_utf32_with_errors_tests.cpp +0 -381
- package/deps/simdutf/tests/convert_utf16be_to_utf8_tests.cpp +0 -259
- package/deps/simdutf/tests/convert_utf16be_to_utf8_with_errors_tests.cpp +0 -266
- package/deps/simdutf/tests/convert_utf16le_to_latin1_tests.cpp +0 -148
- package/deps/simdutf/tests/convert_utf16le_to_latin1_tests_with_errors.cpp +0 -176
- package/deps/simdutf/tests/convert_utf16le_to_utf32_tests.cpp +0 -213
- package/deps/simdutf/tests/convert_utf16le_to_utf32_with_errors_tests.cpp +0 -318
- package/deps/simdutf/tests/convert_utf16le_to_utf8_tests.cpp +0 -343
- package/deps/simdutf/tests/convert_utf16le_to_utf8_with_errors_tests.cpp +0 -271
- package/deps/simdutf/tests/convert_utf32_to_latin1_tests.cpp +0 -111
- package/deps/simdutf/tests/convert_utf32_to_latin1_with_errors_tests.cpp +0 -96
- package/deps/simdutf/tests/convert_utf32_to_utf16be_tests.cpp +0 -148
- package/deps/simdutf/tests/convert_utf32_to_utf16be_with_errors_tests.cpp +0 -192
- package/deps/simdutf/tests/convert_utf32_to_utf16le_tests.cpp +0 -166
- package/deps/simdutf/tests/convert_utf32_to_utf16le_with_errors_tests.cpp +0 -215
- package/deps/simdutf/tests/convert_utf32_to_utf8_tests.cpp +0 -181
- package/deps/simdutf/tests/convert_utf32_to_utf8_with_errors_tests.cpp +0 -261
- package/deps/simdutf/tests/convert_utf8_to_latin1_tests.cpp +0 -516
- package/deps/simdutf/tests/convert_utf8_to_latin1_with_errors_tests.cpp +0 -579
- package/deps/simdutf/tests/convert_utf8_to_utf16be_tests.cpp +0 -412
- package/deps/simdutf/tests/convert_utf8_to_utf16be_with_errors_tests.cpp +0 -480
- package/deps/simdutf/tests/convert_utf8_to_utf16le_tests.cpp +0 -671
- package/deps/simdutf/tests/convert_utf8_to_utf16le_with_errors_tests.cpp +0 -455
- package/deps/simdutf/tests/convert_utf8_to_utf32_tests.cpp +0 -1204
- package/deps/simdutf/tests/convert_utf8_to_utf32_with_errors_tests.cpp +0 -337
- package/deps/simdutf/tests/convert_valid_utf16be_to_latin1_tests.cpp +0 -37
- package/deps/simdutf/tests/convert_valid_utf16be_to_utf32_tests.cpp +0 -97
- package/deps/simdutf/tests/convert_valid_utf16be_to_utf8_tests.cpp +0 -126
- package/deps/simdutf/tests/convert_valid_utf16le_to_latin1_tests.cpp +0 -71
- package/deps/simdutf/tests/convert_valid_utf16le_to_utf32_tests.cpp +0 -122
- package/deps/simdutf/tests/convert_valid_utf16le_to_utf8_tests.cpp +0 -244
- package/deps/simdutf/tests/convert_valid_utf32_to_latin1_tests.cpp +0 -49
- package/deps/simdutf/tests/convert_valid_utf32_to_utf16be_tests.cpp +0 -92
- package/deps/simdutf/tests/convert_valid_utf32_to_utf16le_tests.cpp +0 -114
- package/deps/simdutf/tests/convert_valid_utf32_to_utf8_tests.cpp +0 -109
- package/deps/simdutf/tests/convert_valid_utf8_to_latin1_tests.cpp +0 -84
- package/deps/simdutf/tests/convert_valid_utf8_to_utf16be_tests.cpp +0 -124
- package/deps/simdutf/tests/convert_valid_utf8_to_utf16le_tests.cpp +0 -221
- package/deps/simdutf/tests/convert_valid_utf8_to_utf32_tests.cpp +0 -155
- package/deps/simdutf/tests/count_utf16be.cpp +0 -64
- package/deps/simdutf/tests/count_utf16le.cpp +0 -61
- package/deps/simdutf/tests/count_utf8.cpp +0 -87
- package/deps/simdutf/tests/detect_encodings_tests.cpp +0 -312
- package/deps/simdutf/tests/embed/valid_utf8.txt +0 -1
- package/deps/simdutf/tests/embed_tests.cpp +0 -22
- package/deps/simdutf/tests/find_tests.cpp +0 -77
- package/deps/simdutf/tests/fixed_string_tests.cpp +0 -153
- package/deps/simdutf/tests/helpers/CMakeLists.txt +0 -25
- package/deps/simdutf/tests/helpers/compiletime_conversions.h +0 -222
- package/deps/simdutf/tests/helpers/fixed_string.h +0 -267
- package/deps/simdutf/tests/helpers/random_int.cpp +0 -30
- package/deps/simdutf/tests/helpers/random_int.h +0 -39
- package/deps/simdutf/tests/helpers/random_utf16.cpp +0 -123
- package/deps/simdutf/tests/helpers/random_utf16.h +0 -52
- package/deps/simdutf/tests/helpers/random_utf32.cpp +0 -41
- package/deps/simdutf/tests/helpers/random_utf32.h +0 -40
- package/deps/simdutf/tests/helpers/random_utf8.cpp +0 -93
- package/deps/simdutf/tests/helpers/random_utf8.h +0 -36
- package/deps/simdutf/tests/helpers/test.cpp +0 -231
- package/deps/simdutf/tests/helpers/test.h +0 -193
- package/deps/simdutf/tests/helpers/transcode_test_base.cpp +0 -1257
- package/deps/simdutf/tests/helpers/transcode_test_base.h +0 -683
- package/deps/simdutf/tests/helpers/utf16.h +0 -27
- package/deps/simdutf/tests/installation_tests/find/CMakeLists.txt +0 -43
- package/deps/simdutf/tests/installation_tests/from_fetch/CMakeLists.txt +0 -47
- package/deps/simdutf/tests/internal_tests.cpp +0 -27
- package/deps/simdutf/tests/null_safety_tests.cpp +0 -94
- package/deps/simdutf/tests/random_fuzzer.cpp +0 -779
- package/deps/simdutf/tests/readme_tests.cpp +0 -274
- package/deps/simdutf/tests/reference/CMakeLists.txt +0 -23
- package/deps/simdutf/tests/reference/decode_utf16.h +0 -81
- package/deps/simdutf/tests/reference/decode_utf32.h +0 -47
- package/deps/simdutf/tests/reference/encode_latin1.cpp +0 -1
- package/deps/simdutf/tests/reference/encode_latin1.h +0 -32
- package/deps/simdutf/tests/reference/encode_utf16.cpp +0 -49
- package/deps/simdutf/tests/reference/encode_utf16.h +0 -20
- package/deps/simdutf/tests/reference/encode_utf32.cpp +0 -1
- package/deps/simdutf/tests/reference/encode_utf32.h +0 -36
- package/deps/simdutf/tests/reference/encode_utf8.cpp +0 -1
- package/deps/simdutf/tests/reference/encode_utf8.h +0 -40
- package/deps/simdutf/tests/reference/validate_utf16.cpp +0 -60
- package/deps/simdutf/tests/reference/validate_utf16.h +0 -14
- package/deps/simdutf/tests/reference/validate_utf16_to_latin1.cpp +0 -35
- package/deps/simdutf/tests/reference/validate_utf16_to_latin1.h +0 -13
- package/deps/simdutf/tests/reference/validate_utf32.cpp +0 -27
- package/deps/simdutf/tests/reference/validate_utf32.h +0 -12
- package/deps/simdutf/tests/reference/validate_utf32_to_latin1.cpp +0 -27
- package/deps/simdutf/tests/reference/validate_utf32_to_latin1.h +0 -12
- package/deps/simdutf/tests/reference/validate_utf8.cpp +0 -82
- package/deps/simdutf/tests/reference/validate_utf8.h +0 -11
- package/deps/simdutf/tests/reference/validate_utf8_to_latin1.cpp +0 -43
- package/deps/simdutf/tests/reference/validate_utf8_to_latin1.h +0 -12
- package/deps/simdutf/tests/select_implementation.cpp +0 -43
- package/deps/simdutf/tests/simdutf_c_tests.cpp +0 -244
- package/deps/simdutf/tests/span_tests.cpp +0 -401
- package/deps/simdutf/tests/special_tests.cpp +0 -559
- package/deps/simdutf/tests/straight_c_test.c +0 -187
- package/deps/simdutf/tests/text_encoding_tests.cpp +0 -77
- package/deps/simdutf/tests/to_well_formed_utf16_tests.cpp +0 -377
- package/deps/simdutf/tests/utf8_length_from_utf16_tests.cpp +0 -202
- package/deps/simdutf/tests/validate_ascii_basic_tests.cpp +0 -165
- package/deps/simdutf/tests/validate_ascii_with_errors_tests.cpp +0 -77
- package/deps/simdutf/tests/validate_utf16be_basic_tests.cpp +0 -175
- package/deps/simdutf/tests/validate_utf16be_with_errors_tests.cpp +0 -188
- package/deps/simdutf/tests/validate_utf16le_basic_tests.cpp +0 -268
- package/deps/simdutf/tests/validate_utf16le_with_errors_tests.cpp +0 -274
- package/deps/simdutf/tests/validate_utf32_basic_tests.cpp +0 -92
- package/deps/simdutf/tests/validate_utf32_with_errors_tests.cpp +0 -114
- package/deps/simdutf/tests/validate_utf8_basic_tests.cpp +0 -178
- package/deps/simdutf/tests/validate_utf8_brute_force_tests.cpp +0 -88
- package/deps/simdutf/tests/validate_utf8_puzzler_tests.cpp +0 -33
- package/deps/simdutf/tests/validate_utf8_with_errors_tests.cpp +0 -228
- package/deps/simdutf/tools/CMakeLists.txt +0 -85
- package/deps/simdutf/tools/fastbase64.cpp +0 -250
- package/deps/simdutf/tools/sutf.cpp +0 -556
- package/deps/simdutf/tools/sutf.h +0 -40
- package/lib/tsconfig.tsbuildinfo +0 -1
|
@@ -15,10 +15,6 @@
|
|
|
15
15
|
#include <openssl/hkdf.h>
|
|
16
16
|
#endif
|
|
17
17
|
|
|
18
|
-
#if OPENSSL_VERSION_NUMBER >= 0x30200000L
|
|
19
|
-
#include <openssl/thread.h>
|
|
20
|
-
#endif
|
|
21
|
-
|
|
22
18
|
#include <algorithm>
|
|
23
19
|
#include <array>
|
|
24
20
|
#include <cstring>
|
|
@@ -28,6 +24,9 @@
|
|
|
28
24
|
#include <openssl/core_names.h>
|
|
29
25
|
#include <openssl/params.h>
|
|
30
26
|
#include <openssl/provider.h>
|
|
27
|
+
#if OPENSSL_VERSION_NUMBER >= 0x30200000L
|
|
28
|
+
#include <openssl/thread.h>
|
|
29
|
+
#endif
|
|
31
30
|
#endif
|
|
32
31
|
#if OPENSSL_WITH_PQC
|
|
33
32
|
struct PQCMapping {
|
|
@@ -228,7 +227,7 @@ void DataPointer::zero() {
|
|
|
228
227
|
OPENSSL_cleanse(data_, len_);
|
|
229
228
|
}
|
|
230
229
|
|
|
231
|
-
void DataPointer::
|
|
230
|
+
void DataPointer::free() {
|
|
232
231
|
if (data_ != nullptr) {
|
|
233
232
|
if (secure_) {
|
|
234
233
|
OPENSSL_secure_clear_free(data_, len_);
|
|
@@ -236,6 +235,10 @@ void DataPointer::reset(void* data, size_t length) {
|
|
|
236
235
|
OPENSSL_clear_free(data_, len_);
|
|
237
236
|
}
|
|
238
237
|
}
|
|
238
|
+
}
|
|
239
|
+
|
|
240
|
+
void DataPointer::reset(void* data, size_t length) {
|
|
241
|
+
free();
|
|
239
242
|
data_ = data;
|
|
240
243
|
len_ = length;
|
|
241
244
|
}
|
|
@@ -258,7 +261,12 @@ DataPointer DataPointer::resize(size_t len) {
|
|
|
258
261
|
size_t actual_len = std::min(len_, len);
|
|
259
262
|
auto buf = release();
|
|
260
263
|
if (actual_len == len_) return DataPointer(buf.data, actual_len);
|
|
261
|
-
|
|
264
|
+
auto new_data = OPENSSL_realloc(buf.data, actual_len);
|
|
265
|
+
if (new_data == nullptr) {
|
|
266
|
+
free();
|
|
267
|
+
return {};
|
|
268
|
+
}
|
|
269
|
+
buf.data = new_data;
|
|
262
270
|
buf.len = actual_len;
|
|
263
271
|
return DataPointer(buf);
|
|
264
272
|
}
|
|
@@ -810,11 +818,15 @@ bool PrintGeneralName(const BIOPointer& out, const GENERAL_NAME* gen) {
|
|
|
810
818
|
// Note that the preferred name syntax (see RFCs 5280 and 1034) with
|
|
811
819
|
// wildcards is a subset of what we consider "safe", so spec-compliant DNS
|
|
812
820
|
// names will never need to be escaped.
|
|
813
|
-
PrintAltName(out,
|
|
821
|
+
PrintAltName(out,
|
|
822
|
+
reinterpret_cast<const char*>(ASN1_STRING_get0_data(name)),
|
|
823
|
+
ASN1_STRING_length(name));
|
|
814
824
|
} else if (gen->type == GEN_EMAIL) {
|
|
815
825
|
ASN1_IA5STRING* name = gen->d.rfc822Name;
|
|
816
826
|
BIO_write(out.get(), "email:", 6);
|
|
817
|
-
PrintAltName(out,
|
|
827
|
+
PrintAltName(out,
|
|
828
|
+
reinterpret_cast<const char*>(ASN1_STRING_get0_data(name)),
|
|
829
|
+
ASN1_STRING_length(name));
|
|
818
830
|
} else if (gen->type == GEN_URI) {
|
|
819
831
|
ASN1_IA5STRING* name = gen->d.uniformResourceIdentifier;
|
|
820
832
|
BIO_write(out.get(), "URI:", 4);
|
|
@@ -822,7 +834,9 @@ bool PrintGeneralName(const BIOPointer& out, const GENERAL_NAME* gen) {
|
|
|
822
834
|
// with a few exceptions, most notably URIs that contains commas (see
|
|
823
835
|
// RFC 2396). In other words, most legitimate URIs will not require
|
|
824
836
|
// escaping.
|
|
825
|
-
PrintAltName(out,
|
|
837
|
+
PrintAltName(out,
|
|
838
|
+
reinterpret_cast<const char*>(ASN1_STRING_get0_data(name)),
|
|
839
|
+
ASN1_STRING_length(name));
|
|
826
840
|
} else if (gen->type == GEN_DIRNAME) {
|
|
827
841
|
// Earlier versions of Node.js used X509_NAME_oneline to print the X509_NAME
|
|
828
842
|
// object. The format was non standard and should be avoided. The use of
|
|
@@ -855,17 +869,18 @@ bool PrintGeneralName(const BIOPointer& out, const GENERAL_NAME* gen) {
|
|
|
855
869
|
} else if (gen->type == GEN_IPADD) {
|
|
856
870
|
BIO_printf(out.get(), "IP Address:");
|
|
857
871
|
const ASN1_OCTET_STRING* ip = gen->d.ip;
|
|
858
|
-
const unsigned char* b = ip
|
|
859
|
-
|
|
872
|
+
const unsigned char* b = ASN1_STRING_get0_data(ip);
|
|
873
|
+
int ip_len = ASN1_STRING_length(ip);
|
|
874
|
+
if (ip_len == 4) {
|
|
860
875
|
BIO_printf(out.get(), "%d.%d.%d.%d", b[0], b[1], b[2], b[3]);
|
|
861
|
-
} else if (
|
|
876
|
+
} else if (ip_len == 16) {
|
|
862
877
|
for (unsigned int j = 0; j < 8; j++) {
|
|
863
878
|
uint16_t pair = (b[2 * j] << 8) | b[2 * j + 1];
|
|
864
879
|
BIO_printf(out.get(), (j == 0) ? "%X" : ":%X", pair);
|
|
865
880
|
}
|
|
866
881
|
} else {
|
|
867
882
|
#if OPENSSL_VERSION_MAJOR >= 3
|
|
868
|
-
BIO_printf(out.get(), "<invalid length=%d>",
|
|
883
|
+
BIO_printf(out.get(), "<invalid length=%d>", ip_len);
|
|
869
884
|
#else
|
|
870
885
|
BIO_printf(out.get(), "<invalid>");
|
|
871
886
|
#endif
|
|
@@ -915,15 +930,15 @@ bool PrintGeneralName(const BIOPointer& out, const GENERAL_NAME* gen) {
|
|
|
915
930
|
if (unicode) {
|
|
916
931
|
auto name = gen->d.otherName->value->value.utf8string;
|
|
917
932
|
PrintAltName(out,
|
|
918
|
-
reinterpret_cast<const char*>(name
|
|
919
|
-
name
|
|
933
|
+
reinterpret_cast<const char*>(ASN1_STRING_get0_data(name)),
|
|
934
|
+
ASN1_STRING_length(name),
|
|
920
935
|
AltNameOption::UTF8,
|
|
921
936
|
prefix);
|
|
922
937
|
} else {
|
|
923
938
|
auto name = gen->d.otherName->value->value.ia5string;
|
|
924
939
|
PrintAltName(out,
|
|
925
|
-
reinterpret_cast<const char*>(name
|
|
926
|
-
name
|
|
940
|
+
reinterpret_cast<const char*>(ASN1_STRING_get0_data(name)),
|
|
941
|
+
ASN1_STRING_length(name),
|
|
927
942
|
AltNameOption::NONE,
|
|
928
943
|
prefix);
|
|
929
944
|
}
|
|
@@ -944,11 +959,14 @@ bool PrintGeneralName(const BIOPointer& out, const GENERAL_NAME* gen) {
|
|
|
944
959
|
}
|
|
945
960
|
} // namespace
|
|
946
961
|
|
|
947
|
-
bool SafeX509SubjectAltNamePrint(const BIOPointer& out,
|
|
948
|
-
|
|
962
|
+
bool SafeX509SubjectAltNamePrint(const BIOPointer& out,
|
|
963
|
+
const X509_EXTENSION* ext) {
|
|
964
|
+
// const_cast needed for OpenSSL < 4.0 which lacks const-correctness
|
|
965
|
+
auto* mext = const_cast<X509_EXTENSION*>(ext);
|
|
966
|
+
auto ret = OBJ_obj2nid(X509_EXTENSION_get_object(mext));
|
|
949
967
|
if (ret != NID_subject_alt_name) return false;
|
|
950
968
|
|
|
951
|
-
GENERAL_NAMES* names = static_cast<GENERAL_NAMES*>(X509V3_EXT_d2i(
|
|
969
|
+
GENERAL_NAMES* names = static_cast<GENERAL_NAMES*>(X509V3_EXT_d2i(mext));
|
|
952
970
|
if (names == nullptr) return false;
|
|
953
971
|
|
|
954
972
|
bool ok = true;
|
|
@@ -967,12 +985,14 @@ bool SafeX509SubjectAltNamePrint(const BIOPointer& out, X509_EXTENSION* ext) {
|
|
|
967
985
|
return ok;
|
|
968
986
|
}
|
|
969
987
|
|
|
970
|
-
bool SafeX509InfoAccessPrint(const BIOPointer& out, X509_EXTENSION* ext) {
|
|
971
|
-
|
|
988
|
+
bool SafeX509InfoAccessPrint(const BIOPointer& out, const X509_EXTENSION* ext) {
|
|
989
|
+
// const_cast needed for OpenSSL < 4.0 which lacks const-correctness
|
|
990
|
+
auto* mext = const_cast<X509_EXTENSION*>(ext);
|
|
991
|
+
auto ret = OBJ_obj2nid(X509_EXTENSION_get_object(mext));
|
|
972
992
|
if (ret != NID_info_access) return false;
|
|
973
993
|
|
|
974
994
|
AUTHORITY_INFO_ACCESS* descs =
|
|
975
|
-
static_cast<AUTHORITY_INFO_ACCESS*>(X509V3_EXT_d2i(
|
|
995
|
+
static_cast<AUTHORITY_INFO_ACCESS*>(X509V3_EXT_d2i(mext));
|
|
976
996
|
if (descs == nullptr) return false;
|
|
977
997
|
|
|
978
998
|
bool ok = true;
|
|
@@ -1116,7 +1136,7 @@ BIOPointer X509View::getValidFrom() const {
|
|
|
1116
1136
|
if (cert_ == nullptr) return {};
|
|
1117
1137
|
BIOPointer bio(BIO_new(BIO_s_mem()));
|
|
1118
1138
|
if (!bio) return {};
|
|
1119
|
-
ASN1_TIME_print(bio.get(),
|
|
1139
|
+
ASN1_TIME_print(bio.get(), X509_get0_notBefore(cert_));
|
|
1120
1140
|
return bio;
|
|
1121
1141
|
}
|
|
1122
1142
|
|
|
@@ -1125,7 +1145,7 @@ BIOPointer X509View::getValidTo() const {
|
|
|
1125
1145
|
if (cert_ == nullptr) return {};
|
|
1126
1146
|
BIOPointer bio(BIO_new(BIO_s_mem()));
|
|
1127
1147
|
if (!bio) return {};
|
|
1128
|
-
ASN1_TIME_print(bio.get(),
|
|
1148
|
+
ASN1_TIME_print(bio.get(), X509_get0_notAfter(cert_));
|
|
1129
1149
|
return bio;
|
|
1130
1150
|
}
|
|
1131
1151
|
|
|
@@ -1515,6 +1535,7 @@ BIOPointer BIOPointer::NewSecMem() {
|
|
|
1515
1535
|
}
|
|
1516
1536
|
|
|
1517
1537
|
BIOPointer BIOPointer::New(const BIO_METHOD* method) {
|
|
1538
|
+
if (method == nullptr) return {};
|
|
1518
1539
|
return BIOPointer(BIO_new(method));
|
|
1519
1540
|
}
|
|
1520
1541
|
|
|
@@ -3402,19 +3423,21 @@ bool CipherCtxPointer::setKeyLength(size_t length) {
|
|
|
3402
3423
|
bool CipherCtxPointer::setIvLength(size_t length) {
|
|
3403
3424
|
if (!ctx_) return false;
|
|
3404
3425
|
return EVP_CIPHER_CTX_ctrl(
|
|
3405
|
-
|
|
3426
|
+
ctx_.get(), EVP_CTRL_AEAD_SET_IVLEN, length, nullptr) > 0;
|
|
3406
3427
|
}
|
|
3407
3428
|
|
|
3408
3429
|
bool CipherCtxPointer::setAeadTag(const Buffer<const char>& tag) {
|
|
3409
3430
|
if (!ctx_) return false;
|
|
3410
|
-
return EVP_CIPHER_CTX_ctrl(
|
|
3411
|
-
|
|
3431
|
+
return EVP_CIPHER_CTX_ctrl(ctx_.get(),
|
|
3432
|
+
EVP_CTRL_AEAD_SET_TAG,
|
|
3433
|
+
tag.len,
|
|
3434
|
+
const_cast<char*>(tag.data)) > 0;
|
|
3412
3435
|
}
|
|
3413
3436
|
|
|
3414
3437
|
bool CipherCtxPointer::setAeadTagLength(size_t length) {
|
|
3415
3438
|
if (!ctx_) return false;
|
|
3416
3439
|
return EVP_CIPHER_CTX_ctrl(
|
|
3417
|
-
|
|
3440
|
+
ctx_.get(), EVP_CTRL_AEAD_SET_TAG, length, nullptr) > 0;
|
|
3418
3441
|
}
|
|
3419
3442
|
|
|
3420
3443
|
bool CipherCtxPointer::setPadding(bool padding) {
|
|
@@ -3484,7 +3507,7 @@ bool CipherCtxPointer::update(const Buffer<const unsigned char>& in,
|
|
|
3484
3507
|
|
|
3485
3508
|
bool CipherCtxPointer::getAeadTag(size_t len, unsigned char* out) {
|
|
3486
3509
|
if (!ctx_) return false;
|
|
3487
|
-
return EVP_CIPHER_CTX_ctrl(ctx_.get(), EVP_CTRL_AEAD_GET_TAG, len, out);
|
|
3510
|
+
return EVP_CIPHER_CTX_ctrl(ctx_.get(), EVP_CTRL_AEAD_GET_TAG, len, out) > 0;
|
|
3488
3511
|
}
|
|
3489
3512
|
|
|
3490
3513
|
// ============================================================================
|
|
@@ -3667,8 +3690,38 @@ bool ECKeyPointer::setPublicKey(const ECPointPointer& pub) {
|
|
|
3667
3690
|
bool ECKeyPointer::setPublicKeyRaw(const BignumPointer& x,
|
|
3668
3691
|
const BignumPointer& y) {
|
|
3669
3692
|
if (!key_) return false;
|
|
3670
|
-
|
|
3671
|
-
|
|
3693
|
+
const EC_GROUP* group = EC_KEY_get0_group(key_.get());
|
|
3694
|
+
if (group == nullptr) return false;
|
|
3695
|
+
|
|
3696
|
+
// For curves with cofactor h=1, use EC_POINT_oct2point +
|
|
3697
|
+
// EC_KEY_set_public_key instead of EC_KEY_set_public_key_affine_coordinates.
|
|
3698
|
+
// The latter internally calls EC_KEY_check_key() which performs a scalar
|
|
3699
|
+
// multiplication (n*Q) for order validation — redundant when h=1 since every
|
|
3700
|
+
// on-curve point already has order n. EC_POINT_oct2point validates the point
|
|
3701
|
+
// is on the curve, which is sufficient. For curves with h!=1, fall back to
|
|
3702
|
+
// the full check.
|
|
3703
|
+
auto cofactor = BignumPointer::New();
|
|
3704
|
+
if (!cofactor || !EC_GROUP_get_cofactor(group, cofactor.get(), nullptr) ||
|
|
3705
|
+
!cofactor.isOne()) {
|
|
3706
|
+
return EC_KEY_set_public_key_affine_coordinates(
|
|
3707
|
+
key_.get(), x.get(), y.get()) == 1;
|
|
3708
|
+
}
|
|
3709
|
+
|
|
3710
|
+
// Field element byte length: ceil(degree_bits / 8).
|
|
3711
|
+
size_t field_len = (EC_GROUP_get_degree(group) + 7) / 8;
|
|
3712
|
+
// Build an uncompressed point: 0x04 || x || y, each padded to field_len.
|
|
3713
|
+
size_t uncompressed_len = 1 + 2 * field_len;
|
|
3714
|
+
auto buf = DataPointer::Alloc(uncompressed_len);
|
|
3715
|
+
if (!buf) return false;
|
|
3716
|
+
unsigned char* ptr = static_cast<unsigned char*>(buf.get());
|
|
3717
|
+
ptr[0] = POINT_CONVERSION_UNCOMPRESSED;
|
|
3718
|
+
x.encodePaddedInto(ptr + 1, field_len);
|
|
3719
|
+
y.encodePaddedInto(ptr + 1 + field_len, field_len);
|
|
3720
|
+
|
|
3721
|
+
auto point = ECPointPointer::New(group);
|
|
3722
|
+
if (!point) return false;
|
|
3723
|
+
if (!point.setFromBuffer({ptr, uncompressed_len}, group)) return false;
|
|
3724
|
+
return EC_KEY_set_public_key(key_.get(), point.get()) == 1;
|
|
3672
3725
|
}
|
|
3673
3726
|
|
|
3674
3727
|
bool ECKeyPointer::setPrivateKey(const BignumPointer& priv) {
|
|
@@ -4490,6 +4543,27 @@ std::optional<EVP_PKEY_CTX*> EVPMDCtxPointer::signInitWithContext(
|
|
|
4490
4543
|
#ifdef OSSL_SIGNATURE_PARAM_CONTEXT_STRING
|
|
4491
4544
|
EVP_PKEY_CTX* ctx = nullptr;
|
|
4492
4545
|
|
|
4546
|
+
#ifdef OSSL_SIGNATURE_PARAM_INSTANCE
|
|
4547
|
+
// Ed25519 requires the INSTANCE param to switch into Ed25519ctx mode.
|
|
4548
|
+
// Without it, OpenSSL silently ignores the context string.
|
|
4549
|
+
if (key.id() == EVP_PKEY_ED25519) {
|
|
4550
|
+
const OSSL_PARAM params[] = {
|
|
4551
|
+
OSSL_PARAM_construct_utf8_string(
|
|
4552
|
+
OSSL_SIGNATURE_PARAM_INSTANCE, const_cast<char*>("Ed25519ctx"), 0),
|
|
4553
|
+
OSSL_PARAM_construct_octet_string(
|
|
4554
|
+
OSSL_SIGNATURE_PARAM_CONTEXT_STRING,
|
|
4555
|
+
const_cast<unsigned char*>(context_string.data),
|
|
4556
|
+
context_string.len),
|
|
4557
|
+
OSSL_PARAM_END};
|
|
4558
|
+
|
|
4559
|
+
if (!EVP_DigestSignInit_ex(
|
|
4560
|
+
ctx_.get(), &ctx, nullptr, nullptr, nullptr, key.get(), params)) {
|
|
4561
|
+
return std::nullopt;
|
|
4562
|
+
}
|
|
4563
|
+
return ctx;
|
|
4564
|
+
}
|
|
4565
|
+
#endif // OSSL_SIGNATURE_PARAM_INSTANCE
|
|
4566
|
+
|
|
4493
4567
|
const OSSL_PARAM params[] = {
|
|
4494
4568
|
OSSL_PARAM_construct_octet_string(
|
|
4495
4569
|
OSSL_SIGNATURE_PARAM_CONTEXT_STRING,
|
|
@@ -4514,6 +4588,27 @@ std::optional<EVP_PKEY_CTX*> EVPMDCtxPointer::verifyInitWithContext(
|
|
|
4514
4588
|
#ifdef OSSL_SIGNATURE_PARAM_CONTEXT_STRING
|
|
4515
4589
|
EVP_PKEY_CTX* ctx = nullptr;
|
|
4516
4590
|
|
|
4591
|
+
#ifdef OSSL_SIGNATURE_PARAM_INSTANCE
|
|
4592
|
+
// Ed25519 requires the INSTANCE param to switch into Ed25519ctx mode.
|
|
4593
|
+
// Without it, OpenSSL silently ignores the context string.
|
|
4594
|
+
if (key.id() == EVP_PKEY_ED25519) {
|
|
4595
|
+
const OSSL_PARAM params[] = {
|
|
4596
|
+
OSSL_PARAM_construct_utf8_string(
|
|
4597
|
+
OSSL_SIGNATURE_PARAM_INSTANCE, const_cast<char*>("Ed25519ctx"), 0),
|
|
4598
|
+
OSSL_PARAM_construct_octet_string(
|
|
4599
|
+
OSSL_SIGNATURE_PARAM_CONTEXT_STRING,
|
|
4600
|
+
const_cast<unsigned char*>(context_string.data),
|
|
4601
|
+
context_string.len),
|
|
4602
|
+
OSSL_PARAM_END};
|
|
4603
|
+
|
|
4604
|
+
if (!EVP_DigestVerifyInit_ex(
|
|
4605
|
+
ctx_.get(), &ctx, nullptr, nullptr, nullptr, key.get(), params)) {
|
|
4606
|
+
return std::nullopt;
|
|
4607
|
+
}
|
|
4608
|
+
return ctx;
|
|
4609
|
+
}
|
|
4610
|
+
#endif // OSSL_SIGNATURE_PARAM_INSTANCE
|
|
4611
|
+
|
|
4517
4612
|
const OSSL_PARAM params[] = {
|
|
4518
4613
|
OSSL_PARAM_construct_octet_string(
|
|
4519
4614
|
OSSL_SIGNATURE_PARAM_CONTEXT_STRING,
|
|
@@ -4812,12 +4907,12 @@ bool X509Name::Iterator::operator!=(const Iterator& other) const {
|
|
|
4812
4907
|
std::pair<std::string, std::string> X509Name::Iterator::operator*() const {
|
|
4813
4908
|
if (loc_ == name_.total_) return {{}, {}};
|
|
4814
4909
|
|
|
4815
|
-
X509_NAME_ENTRY* entry = X509_NAME_get_entry(name_, loc_);
|
|
4910
|
+
const X509_NAME_ENTRY* entry = X509_NAME_get_entry(name_, loc_);
|
|
4816
4911
|
if (entry == nullptr) [[unlikely]]
|
|
4817
4912
|
return {{}, {}};
|
|
4818
4913
|
|
|
4819
|
-
ASN1_OBJECT* name = X509_NAME_ENTRY_get_object(entry);
|
|
4820
|
-
ASN1_STRING* value = X509_NAME_ENTRY_get_data(entry);
|
|
4914
|
+
const ASN1_OBJECT* name = X509_NAME_ENTRY_get_object(entry);
|
|
4915
|
+
const ASN1_STRING* value = X509_NAME_ENTRY_get_data(entry);
|
|
4821
4916
|
|
|
4822
4917
|
if (name == nullptr || value == nullptr) [[unlikely]] {
|
|
4823
4918
|
return {{}, {}};
|
package/lib/commonjs/argon2.js
CHANGED
|
@@ -17,23 +17,72 @@ function getNative() {
|
|
|
17
17
|
}
|
|
18
18
|
const ARGON2_VERSION = 0x13; // v1.3
|
|
19
19
|
|
|
20
|
+
// RFC 9106 § 3.1: Argon2 input/parameter constraints.
|
|
21
|
+
// p (parallelism) 1 ≤ p ≤ 2^24 - 1
|
|
22
|
+
// T (tag length) 4 ≤ T ≤ 2^32 - 1
|
|
23
|
+
// m (memory in KiB) 8*p ≤ m ≤ 2^32 - 1
|
|
24
|
+
// t (passes) 1 ≤ t ≤ 2^32 - 1
|
|
25
|
+
// |salt| (nonce) 8 ≤ |s| ≤ 2^32 - 1
|
|
26
|
+
// v (version) 0x10 (v1.0) or 0x13 (v1.3)
|
|
27
|
+
const ARGON2_MAX_U24 = 0xff_ffff;
|
|
28
|
+
const ARGON2_MAX_U32 = 0xffff_ffff;
|
|
29
|
+
function isUInt(value, max) {
|
|
30
|
+
return typeof value === 'number' && Number.isFinite(value) && Number.isInteger(value) && value >= 0 && value <= max;
|
|
31
|
+
}
|
|
20
32
|
function validateAlgorithm(algorithm) {
|
|
21
33
|
if (algorithm !== 'argon2d' && algorithm !== 'argon2i' && algorithm !== 'argon2id') {
|
|
22
34
|
throw new TypeError(`Unknown argon2 algorithm: ${algorithm}`);
|
|
23
35
|
}
|
|
24
36
|
}
|
|
37
|
+
|
|
38
|
+
// Returns the resolved nonce ArrayBuffer so the caller can pass it
|
|
39
|
+
// straight to native without re-resolving `params.nonce`.
|
|
40
|
+
function validateArgon2Params(params, version) {
|
|
41
|
+
if (!isUInt(params.parallelism, ARGON2_MAX_U24) || params.parallelism < 1) {
|
|
42
|
+
throw new RangeError(`Invalid Argon2 parallelism: ${params.parallelism} ` + `(RFC 9106: 1 ≤ p ≤ 2^24 - 1)`);
|
|
43
|
+
}
|
|
44
|
+
if (!isUInt(params.tagLength, ARGON2_MAX_U32) || params.tagLength < 4) {
|
|
45
|
+
throw new RangeError(`Invalid Argon2 tagLength: ${params.tagLength} ` + `(RFC 9106: 4 ≤ T ≤ 2^32 - 1)`);
|
|
46
|
+
}
|
|
47
|
+
const minMemory = 8 * params.parallelism;
|
|
48
|
+
if (!isUInt(params.memory, ARGON2_MAX_U32) || params.memory < minMemory) {
|
|
49
|
+
throw new RangeError(`Invalid Argon2 memory: ${params.memory} KiB ` + `(RFC 9106: 8 * p (= ${minMemory}) ≤ m ≤ 2^32 - 1)`);
|
|
50
|
+
}
|
|
51
|
+
if (!isUInt(params.passes, ARGON2_MAX_U32) || params.passes < 1) {
|
|
52
|
+
throw new RangeError(`Invalid Argon2 passes: ${params.passes} ` + `(RFC 9106: 1 ≤ t ≤ 2^32 - 1)`);
|
|
53
|
+
}
|
|
54
|
+
if (version !== 0x10 && version !== 0x13) {
|
|
55
|
+
throw new RangeError(`Invalid Argon2 version: 0x${version.toString(16)} ` + `(RFC 9106: 0x10 or 0x13)`);
|
|
56
|
+
}
|
|
57
|
+
// Salt (nonce) must be 8..2^32 - 1 bytes — measured against the resolved
|
|
58
|
+
// ArrayBuffer because BinaryLike accepts strings whose UTF-8 length is
|
|
59
|
+
// what actually reaches OpenSSL.
|
|
60
|
+
const nonceAB = (0, _utils.binaryLikeToArrayBuffer)(params.nonce);
|
|
61
|
+
if (nonceAB.byteLength < 8 || nonceAB.byteLength > ARGON2_MAX_U32) {
|
|
62
|
+
throw new RangeError(`Invalid Argon2 nonce length: ${nonceAB.byteLength} bytes ` + `(RFC 9106: 8 ≤ |s| ≤ 2^32 - 1)`);
|
|
63
|
+
}
|
|
64
|
+
return nonceAB;
|
|
65
|
+
}
|
|
25
66
|
function toAB(value) {
|
|
26
67
|
return (0, _utils.binaryLikeToArrayBuffer)(value);
|
|
27
68
|
}
|
|
28
69
|
function argon2Sync(algorithm, params) {
|
|
29
70
|
validateAlgorithm(algorithm);
|
|
30
71
|
const version = params.version ?? ARGON2_VERSION;
|
|
31
|
-
const
|
|
72
|
+
const nonceAB = validateArgon2Params(params, version);
|
|
73
|
+
const result = getNative().hashSync(algorithm, toAB(params.message), nonceAB, params.parallelism, params.tagLength, params.memory, params.passes, version, params.secret ? toAB(params.secret) : undefined, params.associatedData ? toAB(params.associatedData) : undefined);
|
|
32
74
|
return _reactNativeBuffer.Buffer.from(result);
|
|
33
75
|
}
|
|
34
76
|
function argon2(algorithm, params, callback) {
|
|
35
77
|
validateAlgorithm(algorithm);
|
|
36
78
|
const version = params.version ?? ARGON2_VERSION;
|
|
37
|
-
|
|
79
|
+
let nonceAB;
|
|
80
|
+
try {
|
|
81
|
+
nonceAB = validateArgon2Params(params, version);
|
|
82
|
+
} catch (err) {
|
|
83
|
+
callback(err, _reactNativeBuffer.Buffer.alloc(0));
|
|
84
|
+
return;
|
|
85
|
+
}
|
|
86
|
+
getNative().hash(algorithm, toAB(params.message), nonceAB, params.parallelism, params.tagLength, params.memory, params.passes, version, params.secret ? toAB(params.secret) : undefined, params.associatedData ? toAB(params.associatedData) : undefined).then(ab => callback(null, _reactNativeBuffer.Buffer.from(ab))).catch(err => callback(err, _reactNativeBuffer.Buffer.alloc(0)));
|
|
38
87
|
}
|
|
39
88
|
//# sourceMappingURL=argon2.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_reactNativeBuffer","require","_reactNativeNitroModules","_utils","native","getNative","NitroModules","createHybridObject","ARGON2_VERSION","
|
|
1
|
+
{"version":3,"names":["_reactNativeBuffer","require","_reactNativeNitroModules","_utils","native","getNative","NitroModules","createHybridObject","ARGON2_VERSION","ARGON2_MAX_U24","ARGON2_MAX_U32","isUInt","value","max","Number","isFinite","isInteger","validateAlgorithm","algorithm","TypeError","validateArgon2Params","params","version","parallelism","RangeError","tagLength","minMemory","memory","passes","toString","nonceAB","binaryLikeToArrayBuffer","nonce","byteLength","toAB","argon2Sync","result","hashSync","message","secret","undefined","associatedData","Buffer","from","argon2","callback","err","alloc","hash","then","ab","catch"],"sourceRoot":"../../src","sources":["argon2.ts"],"mappings":"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","ignoreList":[]}
|
package/lib/commonjs/cipher.js
CHANGED
|
@@ -33,6 +33,80 @@ function getCipherInfo(name, options) {
|
|
|
33
33
|
if (typeof name !== 'string' || name.length === 0) return undefined;
|
|
34
34
|
return CipherUtils.getCipherInfo(name, options?.keyLength, options?.ivLength);
|
|
35
35
|
}
|
|
36
|
+
|
|
37
|
+
// libsodium ciphers aren't visible to OpenSSL's EVP_CIPHER_fetch, so
|
|
38
|
+
// getCipherInfo() returns undefined for them. Hard-code the (key, iv)
|
|
39
|
+
// byte-lengths the C++ factory will accept.
|
|
40
|
+
const LIBSODIUM_CIPHER_PARAMS = {
|
|
41
|
+
xsalsa20: {
|
|
42
|
+
keyLength: 32,
|
|
43
|
+
ivLength: 24
|
|
44
|
+
},
|
|
45
|
+
'xsalsa20-poly1305': {
|
|
46
|
+
keyLength: 32,
|
|
47
|
+
ivLength: 24
|
|
48
|
+
},
|
|
49
|
+
'xchacha20-poly1305': {
|
|
50
|
+
keyLength: 32,
|
|
51
|
+
ivLength: 24
|
|
52
|
+
}
|
|
53
|
+
};
|
|
54
|
+
function validateCipherParams(cipherType, keyByteLength, ivByteLength) {
|
|
55
|
+
if (typeof cipherType !== 'string' || cipherType.length === 0) {
|
|
56
|
+
throw new TypeError('cipher algorithm must be a non-empty string');
|
|
57
|
+
}
|
|
58
|
+
// ArrayBuffer.byteLength is always a non-negative integer, so the only
|
|
59
|
+
// out-of-range value we need to guard is 0 — empty key buffers must not
|
|
60
|
+
// reach OpenSSL's EVP_CipherInit_ex.
|
|
61
|
+
if (keyByteLength === 0) {
|
|
62
|
+
throw new RangeError(`Invalid key length 0 for cipher ${cipherType}`);
|
|
63
|
+
}
|
|
64
|
+
const lower = cipherType.toLowerCase();
|
|
65
|
+
const sodium = LIBSODIUM_CIPHER_PARAMS[lower];
|
|
66
|
+
if (sodium) {
|
|
67
|
+
// libsodium parlance: "nonce" rather than "iv". Phrase the expected
|
|
68
|
+
// size as a natural-language clause so callers asserting on either
|
|
69
|
+
// `key must be N bytes` or `Invalid key length N` both match.
|
|
70
|
+
if (keyByteLength !== sodium.keyLength) {
|
|
71
|
+
throw new RangeError(`Invalid key length ${keyByteLength} for cipher ${cipherType} ` + `(key must be ${sodium.keyLength} bytes)`);
|
|
72
|
+
}
|
|
73
|
+
if (ivByteLength !== sodium.ivLength) {
|
|
74
|
+
throw new RangeError(`Invalid nonce length ${ivByteLength} for cipher ${cipherType} ` + `(nonce must be ${sodium.ivLength} bytes)`);
|
|
75
|
+
}
|
|
76
|
+
return;
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
// OpenSSL path. Look up the cipher's defaults once. Most callers pass
|
|
80
|
+
// exactly the cipher's default key/iv lengths (e.g. AES-128-CBC always
|
|
81
|
+
// wants 16/16) — short-circuit those to a single native round-trip.
|
|
82
|
+
// Variable-length ciphers (GCM, CCM, OCB, ChaCha20-Poly1305) fall through
|
|
83
|
+
// to per-parameter validation calls so the error message can name which
|
|
84
|
+
// of {key, iv} is wrong.
|
|
85
|
+
const info = CipherUtils.getCipherInfo(cipherType);
|
|
86
|
+
if (info === undefined) {
|
|
87
|
+
throw new TypeError(`Unsupported or unknown cipher type: ${cipherType}`);
|
|
88
|
+
}
|
|
89
|
+
const expectedIv = info.ivLength ?? 0;
|
|
90
|
+
if (expectedIv === 0 && ivByteLength > 0) {
|
|
91
|
+
throw new RangeError(`Cipher ${cipherType} does not use an iv (got ${ivByteLength} bytes)`);
|
|
92
|
+
}
|
|
93
|
+
if (expectedIv > 0 && ivByteLength === 0) {
|
|
94
|
+
throw new RangeError(`Cipher ${cipherType} requires an iv but none was provided`);
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
// Fast path: lengths match the cipher's defaults exactly.
|
|
98
|
+
if (info.keyLength === keyByteLength && expectedIv === ivByteLength) {
|
|
99
|
+
return;
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
// Variable-length: verify against native one parameter at a time.
|
|
103
|
+
if (CipherUtils.getCipherInfo(cipherType, keyByteLength, undefined) === undefined) {
|
|
104
|
+
throw new RangeError(`Invalid key length ${keyByteLength} for cipher ${cipherType}`);
|
|
105
|
+
}
|
|
106
|
+
if (expectedIv > 0 && CipherUtils.getCipherInfo(cipherType, undefined, ivByteLength) === undefined) {
|
|
107
|
+
throw new RangeError(`Invalid iv length ${ivByteLength} for cipher ${cipherType}`);
|
|
108
|
+
}
|
|
109
|
+
}
|
|
36
110
|
class CipherCommon extends _readableStream.default.Transform {
|
|
37
111
|
_decoder = null;
|
|
38
112
|
_decoderEncoding = undefined;
|
|
@@ -59,14 +133,17 @@ class CipherCommon extends _readableStream.default.Transform {
|
|
|
59
133
|
}
|
|
60
134
|
super(streamOptions); // Pass filtered options
|
|
61
135
|
|
|
62
|
-
|
|
63
|
-
|
|
136
|
+
// defaults to 16 bytes for AEAD modes; non-AEAD callers ignore it.
|
|
137
|
+
const authTagLen = (0, _cipher.getUIntOption)(options, 'authTagLength') ?? 16;
|
|
138
|
+
const cipherKeyAB = (0, _utils.binaryLikeToArrayBuffer)(cipherKey);
|
|
139
|
+
const ivAB = (0, _utils.binaryLikeToArrayBuffer)(iv);
|
|
140
|
+
validateCipherParams(cipherType, cipherKeyAB.byteLength, ivAB.byteLength);
|
|
64
141
|
const factory = _reactNativeNitroModules.NitroModules.createHybridObject('CipherFactory');
|
|
65
142
|
this.native = factory.createCipher({
|
|
66
143
|
isCipher,
|
|
67
144
|
cipherType,
|
|
68
|
-
cipherKey:
|
|
69
|
-
iv:
|
|
145
|
+
cipherKey: cipherKeyAB,
|
|
146
|
+
iv: ivAB,
|
|
70
147
|
authTagLen
|
|
71
148
|
});
|
|
72
149
|
}
|
|
@@ -102,13 +179,27 @@ class CipherCommon extends _readableStream.default.Transform {
|
|
|
102
179
|
}
|
|
103
180
|
return _reactNativeBuffer.Buffer.from(ret);
|
|
104
181
|
}
|
|
182
|
+
|
|
183
|
+
// Stream interface — surface synchronous errors (bad encoding,
|
|
184
|
+
// OpenSSL EVP failures, AEAD tag mismatch in `final()`, etc.) via
|
|
185
|
+
// the callback so they emit as stream 'error' events instead of
|
|
186
|
+
// throwing out of the Transform plumbing and crashing the host
|
|
187
|
+
// pipeline.
|
|
105
188
|
_transform(chunk, encoding, callback) {
|
|
106
|
-
|
|
107
|
-
|
|
189
|
+
try {
|
|
190
|
+
this.push(this.update(chunk, (0, _cipher.normalizeEncoding)(encoding)));
|
|
191
|
+
callback();
|
|
192
|
+
} catch (err) {
|
|
193
|
+
callback(err);
|
|
194
|
+
}
|
|
108
195
|
}
|
|
109
196
|
_flush(callback) {
|
|
110
|
-
|
|
111
|
-
|
|
197
|
+
try {
|
|
198
|
+
this.push(this.final());
|
|
199
|
+
callback();
|
|
200
|
+
} catch (err) {
|
|
201
|
+
callback(err);
|
|
202
|
+
}
|
|
112
203
|
}
|
|
113
204
|
setAutoPadding(autoPadding) {
|
|
114
205
|
const res = this.native.setAutoPadding(!!autoPadding);
|
|
@@ -122,7 +213,11 @@ class CipherCommon extends _readableStream.default.Transform {
|
|
|
122
213
|
if (!this.native || typeof this.native.setAAD !== 'function') {
|
|
123
214
|
throw new Error('Cipher native object or setAAD method not initialized.');
|
|
124
215
|
}
|
|
125
|
-
|
|
216
|
+
// Use binaryLikeToArrayBuffer (not `buffer.buffer`) so that sliced /
|
|
217
|
+
// offset views send only the AAD bytes the caller intended. Passing the
|
|
218
|
+
// raw backing ArrayBuffer authenticates the wrong data and silently
|
|
219
|
+
// breaks the AEAD integrity guarantee.
|
|
220
|
+
const res = this.native.setAAD((0, _utils.binaryLikeToArrayBuffer)(buffer), options?.plaintextLength);
|
|
126
221
|
if (!res) {
|
|
127
222
|
throw new Error('setAAD failed (native call returned false)');
|
|
128
223
|
}
|
|
@@ -188,12 +283,15 @@ output,
|
|
|
188
283
|
// @ts-expect-error haven't implemented this part of @noble/ciphers API
|
|
189
284
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
190
285
|
counter) {
|
|
286
|
+
const cipherKeyAB = (0, _utils.binaryLikeToArrayBuffer)(key);
|
|
287
|
+
const ivAB = (0, _utils.binaryLikeToArrayBuffer)(nonce);
|
|
288
|
+
validateCipherParams('xsalsa20', cipherKeyAB.byteLength, ivAB.byteLength);
|
|
191
289
|
const factory = _reactNativeNitroModules.NitroModules.createHybridObject('CipherFactory');
|
|
192
290
|
const native = factory.createCipher({
|
|
193
291
|
isCipher: true,
|
|
194
292
|
cipherType: 'xsalsa20',
|
|
195
|
-
cipherKey:
|
|
196
|
-
iv:
|
|
293
|
+
cipherKey: cipherKeyAB,
|
|
294
|
+
iv: ivAB
|
|
197
295
|
});
|
|
198
296
|
const result = native.update((0, _utils.binaryLikeToArrayBuffer)(data));
|
|
199
297
|
return new Uint8Array(result);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_reactNativeNitroModules","require","_readableStream","_interopRequireDefault","_string_decoder","_reactNativeBuffer","_utils","_cipher","e","__esModule","default","CipherUtils","native","NitroModules","createHybridObject","getSupportedCiphers","getCipherInfo","name","keyLength","ivLength","getCiphers","options","length","undefined","CipherCommon","Stream","Transform","_decoder","_decoderEncoding","constructor","isCipher","
|
|
1
|
+
{"version":3,"names":["_reactNativeNitroModules","require","_readableStream","_interopRequireDefault","_string_decoder","_reactNativeBuffer","_utils","_cipher","e","__esModule","default","CipherUtils","native","NitroModules","createHybridObject","getSupportedCiphers","getCipherInfo","name","keyLength","ivLength","getCiphers","options","length","undefined","LIBSODIUM_CIPHER_PARAMS","xsalsa20","validateCipherParams","cipherType","keyByteLength","ivByteLength","TypeError","RangeError","lower","toLowerCase","sodium","info","expectedIv","CipherCommon","Stream","Transform","_decoder","_decoderEncoding","constructor","isCipher","cipherKey","iv","streamOptions","transformKeys","key","authTagLen","getUIntOption","cipherKeyAB","binaryLikeToArrayBuffer","ivAB","byteLength","factory","createCipher","getDecoder","encoding","normalized","normalizeEncoding","StringDecoder","Error","update","data","inputEncoding","outputEncoding","defaultEncoding","getDefaultEncoding","validateEncoding","ArrayBuffer","isView","ret","write","Buffer","from","final","end","_transform","chunk","callback","push","err","_flush","setAutoPadding","autoPadding","res","setAAD","buffer","plaintextLength","getAuthTag","setAuthTag","tag","Cipheriv","Decipheriv","createDecipheriv","algorithm","createCipheriv","nonce","output","counter","result","Uint8Array"],"sourceRoot":"../../src","sources":["cipher.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -69,6 +69,9 @@ function dh_formatKeyPairOutput(dh, encoding) {
|
|
|
69
69
|
const priv = _classes.KeyObject.createKeyObject('private', privateKeyData, _utils.KFormatType.DER, _utils.KeyEncoding.PKCS8);
|
|
70
70
|
let publicKey;
|
|
71
71
|
let privateKey;
|
|
72
|
+
if (publicFormat === 'raw-public' || privateFormat === 'raw-private' || privateFormat === 'raw-seed') {
|
|
73
|
+
throw new Error('Raw key formats are not supported for DH keys');
|
|
74
|
+
}
|
|
72
75
|
if (publicFormat === -1) {
|
|
73
76
|
publicKey = pub;
|
|
74
77
|
} else {
|