@ohos-ports/react-native-quick-crypto 0.0.0-stage → 1.1.8-beta.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 +259 -0
- package/README.md +170 -2
- package/android/CMakeLists.txt +155 -0
- package/android/build.gradle +176 -0
- package/android/gradle.properties +6 -0
- package/android/src/main/AndroidManifest.xml +3 -0
- package/android/src/main/cpp/cpp-adapter.cpp +8 -0
- package/android/src/main/java/com/margelo/nitro/quickcrypto/QuickCryptoPackage.java +41 -0
- package/app.plugin.js +3 -0
- package/cpp/argon2/HybridArgon2.cpp +110 -0
- package/cpp/argon2/HybridArgon2.hpp +32 -0
- package/cpp/blake3/HybridBlake3.cpp +120 -0
- package/cpp/blake3/HybridBlake3.hpp +35 -0
- package/cpp/certificate/HybridCertificate.cpp +42 -0
- package/cpp/certificate/HybridCertificate.hpp +16 -0
- package/cpp/cipher/CCMCipher.cpp +211 -0
- package/cpp/cipher/CCMCipher.hpp +24 -0
- package/cpp/cipher/ChaCha20Cipher.cpp +91 -0
- package/cpp/cipher/ChaCha20Cipher.hpp +23 -0
- package/cpp/cipher/ChaCha20Poly1305Cipher.cpp +175 -0
- package/cpp/cipher/ChaCha20Poly1305Cipher.hpp +27 -0
- package/cpp/cipher/GCMCipher.cpp +65 -0
- package/cpp/cipher/GCMCipher.hpp +14 -0
- package/cpp/cipher/HybridCipher.cpp +403 -0
- package/cpp/cipher/HybridCipher.hpp +90 -0
- package/cpp/cipher/HybridCipherFactory.hpp +119 -0
- package/cpp/cipher/HybridRsaCipher.cpp +477 -0
- package/cpp/cipher/HybridRsaCipher.hpp +33 -0
- package/cpp/cipher/OCBCipher.cpp +55 -0
- package/cpp/cipher/OCBCipher.hpp +19 -0
- package/cpp/cipher/XChaCha20Poly1305Cipher.cpp +158 -0
- package/cpp/cipher/XChaCha20Poly1305Cipher.hpp +42 -0
- package/cpp/cipher/XSalsa20Cipher.cpp +127 -0
- package/cpp/cipher/XSalsa20Cipher.hpp +55 -0
- package/cpp/cipher/XSalsa20Poly1305Cipher.cpp +138 -0
- package/cpp/cipher/XSalsa20Poly1305Cipher.hpp +41 -0
- package/cpp/dh/HybridDhKeyPair.cpp +179 -0
- package/cpp/dh/HybridDhKeyPair.hpp +37 -0
- package/cpp/dh/HybridDiffieHellman.cpp +482 -0
- package/cpp/dh/HybridDiffieHellman.hpp +42 -0
- package/cpp/dsa/HybridDsaKeyPair.cpp +128 -0
- package/cpp/dsa/HybridDsaKeyPair.hpp +32 -0
- package/cpp/ec/HybridEcKeyPair.cpp +481 -0
- package/cpp/ec/HybridEcKeyPair.hpp +45 -0
- package/cpp/ecdh/HybridECDH.cpp +251 -0
- package/cpp/ecdh/HybridECDH.hpp +43 -0
- package/cpp/ed25519/HybridEdKeyPair.cpp +360 -0
- package/cpp/ed25519/HybridEdKeyPair.hpp +67 -0
- package/cpp/hash/HybridHash.cpp +190 -0
- package/cpp/hash/HybridHash.hpp +43 -0
- package/cpp/hkdf/HybridHkdf.cpp +115 -0
- package/cpp/hkdf/HybridHkdf.hpp +29 -0
- package/cpp/hmac/HybridHmac.cpp +102 -0
- package/cpp/hmac/HybridHmac.hpp +32 -0
- package/cpp/keys/HybridKeyObjectHandle.cpp +1519 -0
- package/cpp/keys/HybridKeyObjectHandle.hpp +78 -0
- package/cpp/keys/KeyObjectData.cpp +298 -0
- package/cpp/keys/KeyObjectData.hpp +73 -0
- package/cpp/keys/node.h +5 -0
- package/cpp/kmac/HybridKmac.cpp +83 -0
- package/cpp/kmac/HybridKmac.hpp +31 -0
- package/cpp/mldsa/HybridMlDsaKeyPair.cpp +243 -0
- package/cpp/mldsa/HybridMlDsaKeyPair.hpp +49 -0
- package/cpp/mlkem/HybridMlKemKeyPair.cpp +315 -0
- package/cpp/mlkem/HybridMlKemKeyPair.hpp +48 -0
- package/cpp/pbkdf2/HybridPbkdf2.cpp +50 -0
- package/cpp/pbkdf2/HybridPbkdf2.hpp +24 -0
- package/cpp/prime/HybridPrime.cpp +81 -0
- package/cpp/prime/HybridPrime.hpp +20 -0
- package/cpp/random/HybridRandom.cpp +48 -0
- package/cpp/random/HybridRandom.hpp +32 -0
- package/cpp/rsa/HybridRsaKeyPair.cpp +151 -0
- package/cpp/rsa/HybridRsaKeyPair.hpp +40 -0
- package/cpp/scrypt/HybridScrypt.cpp +64 -0
- package/cpp/scrypt/HybridScrypt.hpp +28 -0
- package/cpp/sign/HybridSignHandle.cpp +241 -0
- package/cpp/sign/HybridSignHandle.hpp +36 -0
- package/cpp/sign/HybridVerifyHandle.cpp +207 -0
- package/cpp/sign/HybridVerifyHandle.hpp +36 -0
- package/cpp/sign/SignUtils.hpp +91 -0
- 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 +399 -0
- package/cpp/utils/HybridUtils.hpp +28 -0
- package/cpp/utils/Macros.hpp +68 -0
- package/cpp/utils/QuickCryptoUtils.cpp +44 -0
- package/cpp/utils/QuickCryptoUtils.hpp +186 -0
- package/cpp/utils/base64.h +309 -0
- package/cpp/x509/HybridX509Certificate.cpp +174 -0
- package/cpp/x509/HybridX509Certificate.hpp +51 -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 +228 -0
- package/deps/blake3/c/README.md +403 -0
- package/deps/blake3/c/blake3.c +651 -0
- package/deps/blake3/c/blake3.h +86 -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 +367 -0
- package/deps/blake3/c/blake3_portable.c +160 -0
- package/deps/fastpbkdf2/fastpbkdf2.c +356 -0
- package/deps/fastpbkdf2/fastpbkdf2.h +68 -0
- package/deps/ncrypto/LICENSE +21 -0
- package/deps/ncrypto/README.md +18 -0
- package/deps/ncrypto/include/dh-primes.h +67 -0
- package/deps/ncrypto/include/ncrypto/aead.h +137 -0
- package/deps/ncrypto/include/ncrypto/version.h +14 -0
- package/deps/ncrypto/include/ncrypto.h +1759 -0
- package/deps/ncrypto/src/aead.cpp +302 -0
- package/deps/ncrypto/src/engine.cpp +93 -0
- package/deps/ncrypto/src/ncrypto.cpp +5426 -0
- package/deps/simdutf/LICENSE-APACHE +201 -0
- package/deps/simdutf/LICENSE-MIT +18 -0
- package/deps/simdutf/README.md +2782 -0
- package/deps/simdutf/include/simdutf/avx512.h +79 -0
- package/deps/simdutf/include/simdutf/base64_implementation.h +158 -0
- package/deps/simdutf/include/simdutf/base64_tables.h +887 -0
- package/deps/simdutf/include/simdutf/common_defs.h +186 -0
- package/deps/simdutf/include/simdutf/compiler_check.h +50 -0
- package/deps/simdutf/include/simdutf/constexpr_ptr.h +138 -0
- package/deps/simdutf/include/simdutf/encoding_types.h +189 -0
- package/deps/simdutf/include/simdutf/error.h +126 -0
- package/deps/simdutf/include/simdutf/implementation.h +7081 -0
- package/deps/simdutf/include/simdutf/internal/isadetection.h +325 -0
- package/deps/simdutf/include/simdutf/portability.h +285 -0
- package/deps/simdutf/include/simdutf/scalar/ascii.h +86 -0
- package/deps/simdutf/include/simdutf/scalar/atomic_util.h +105 -0
- package/deps/simdutf/include/simdutf/scalar/base64.h +911 -0
- package/deps/simdutf/include/simdutf/scalar/latin1.h +26 -0
- package/deps/simdutf/include/simdutf/scalar/latin1_to_utf16/latin1_to_utf16.h +52 -0
- package/deps/simdutf/include/simdutf/scalar/latin1_to_utf32/latin1_to_utf32.h +27 -0
- package/deps/simdutf/include/simdutf/scalar/latin1_to_utf8/latin1_to_utf8.h +191 -0
- package/deps/simdutf/include/simdutf/scalar/swap_bytes.h +35 -0
- package/deps/simdutf/include/simdutf/scalar/utf16.h +226 -0
- package/deps/simdutf/include/simdutf/scalar/utf16_to_latin1/utf16_to_latin1.h +108 -0
- package/deps/simdutf/include/simdutf/scalar/utf16_to_latin1/valid_utf16_to_latin1.h +40 -0
- package/deps/simdutf/include/simdutf/scalar/utf16_to_utf32/utf16_to_utf32.h +86 -0
- package/deps/simdutf/include/simdutf/scalar/utf16_to_utf32/valid_utf16_to_utf32.h +44 -0
- package/deps/simdutf/include/simdutf/scalar/utf16_to_utf8/utf16_to_utf8.h +295 -0
- package/deps/simdutf/include/simdutf/scalar/utf16_to_utf8/valid_utf16_to_utf8.h +91 -0
- package/deps/simdutf/include/simdutf/scalar/utf32.h +82 -0
- package/deps/simdutf/include/simdutf/scalar/utf32_to_latin1/utf32_to_latin1.h +68 -0
- package/deps/simdutf/include/simdutf/scalar/utf32_to_latin1/valid_utf32_to_latin1.h +67 -0
- package/deps/simdutf/include/simdutf/scalar/utf32_to_utf16/utf32_to_utf16.h +84 -0
- package/deps/simdutf/include/simdutf/scalar/utf32_to_utf16/valid_utf32_to_utf16.h +44 -0
- package/deps/simdutf/include/simdutf/scalar/utf32_to_utf8/utf32_to_utf8.h +142 -0
- package/deps/simdutf/include/simdutf/scalar/utf32_to_utf8/valid_utf32_to_utf8.h +72 -0
- package/deps/simdutf/include/simdutf/scalar/utf8.h +326 -0
- package/deps/simdutf/include/simdutf/scalar/utf8_to_latin1/utf8_to_latin1.h +225 -0
- package/deps/simdutf/include/simdutf/scalar/utf8_to_latin1/valid_utf8_to_latin1.h +87 -0
- package/deps/simdutf/include/simdutf/scalar/utf8_to_utf16/utf8_to_utf16.h +342 -0
- package/deps/simdutf/include/simdutf/scalar/utf8_to_utf16/valid_utf8_to_utf16.h +106 -0
- package/deps/simdutf/include/simdutf/scalar/utf8_to_utf32/utf8_to_utf32.h +299 -0
- package/deps/simdutf/include/simdutf/scalar/utf8_to_utf32/valid_utf8_to_utf32.h +83 -0
- package/deps/simdutf/include/simdutf/simdutf_version.h +26 -0
- package/deps/simdutf/include/simdutf.h +26 -0
- package/deps/simdutf/include/simdutf_c.h +342 -0
- package/deps/simdutf/src/arm64/arm_base64.cpp +791 -0
- package/deps/simdutf/src/arm64/arm_convert_latin1_to_utf16.cpp +24 -0
- package/deps/simdutf/src/arm64/arm_convert_latin1_to_utf32.cpp +24 -0
- package/deps/simdutf/src/arm64/arm_convert_latin1_to_utf8.cpp +70 -0
- package/deps/simdutf/src/arm64/arm_convert_utf16_to_latin1.cpp +61 -0
- package/deps/simdutf/src/arm64/arm_convert_utf16_to_utf32.cpp +185 -0
- package/deps/simdutf/src/arm64/arm_convert_utf16_to_utf8.cpp +780 -0
- package/deps/simdutf/src/arm64/arm_convert_utf32_to_latin1.cpp +60 -0
- package/deps/simdutf/src/arm64/arm_convert_utf32_to_utf16.cpp +208 -0
- package/deps/simdutf/src/arm64/arm_convert_utf32_to_utf8.cpp +505 -0
- package/deps/simdutf/src/arm64/arm_convert_utf8_to_latin1.cpp +69 -0
- package/deps/simdutf/src/arm64/arm_convert_utf8_to_utf16.cpp +313 -0
- package/deps/simdutf/src/arm64/arm_convert_utf8_to_utf32.cpp +179 -0
- package/deps/simdutf/src/arm64/arm_find.cpp +199 -0
- package/deps/simdutf/src/arm64/arm_utf16fix.cpp +185 -0
- package/deps/simdutf/src/arm64/arm_validate_utf16.cpp +165 -0
- package/deps/simdutf/src/arm64/arm_validate_utf32le.cpp +65 -0
- package/deps/simdutf/src/arm64/implementation.cpp +1442 -0
- package/deps/simdutf/src/encoding_types.cpp +67 -0
- package/deps/simdutf/src/error.cpp +3 -0
- package/deps/simdutf/src/fallback/implementation.cpp +589 -0
- package/deps/simdutf/src/generic/ascii_validation.h +50 -0
- package/deps/simdutf/src/generic/base64.h +233 -0
- package/deps/simdutf/src/generic/base64lengths.h +63 -0
- package/deps/simdutf/src/generic/buf_block_reader.h +109 -0
- package/deps/simdutf/src/generic/find.h +75 -0
- package/deps/simdutf/src/generic/utf16/change_endianness.h +24 -0
- package/deps/simdutf/src/generic/utf16/count_code_points_bytemask.h +58 -0
- package/deps/simdutf/src/generic/utf16/to_well_formed.h +93 -0
- package/deps/simdutf/src/generic/utf16/utf32_length_from_utf16.h +15 -0
- package/deps/simdutf/src/generic/utf16/utf8_length_from_utf16.h +35 -0
- package/deps/simdutf/src/generic/utf16/utf8_length_from_utf16_bytemask.h +199 -0
- package/deps/simdutf/src/generic/utf16.h +73 -0
- package/deps/simdutf/src/generic/utf32.h +136 -0
- package/deps/simdutf/src/generic/utf8/utf16_length_from_utf8_bytemask.h +53 -0
- package/deps/simdutf/src/generic/utf8.h +92 -0
- package/deps/simdutf/src/generic/utf8_to_latin1/utf8_to_latin1.h +316 -0
- package/deps/simdutf/src/generic/utf8_to_latin1/valid_utf8_to_latin1.h +78 -0
- package/deps/simdutf/src/generic/utf8_to_utf16/utf8_to_utf16.h +332 -0
- package/deps/simdutf/src/generic/utf8_to_utf16/valid_utf8_to_utf16.h +74 -0
- package/deps/simdutf/src/generic/utf8_to_utf32/utf8_to_utf32.h +318 -0
- package/deps/simdutf/src/generic/utf8_to_utf32/valid_utf8_to_utf32.h +42 -0
- package/deps/simdutf/src/generic/utf8_validation/utf8_lookup4_algorithm.h +223 -0
- package/deps/simdutf/src/generic/utf8_validation/utf8_validator.h +84 -0
- package/deps/simdutf/src/generic/validate_utf16.h +164 -0
- package/deps/simdutf/src/generic/validate_utf32.h +99 -0
- package/deps/simdutf/src/haswell/avx2_base64.cpp +837 -0
- package/deps/simdutf/src/haswell/avx2_convert_latin1_to_utf16.cpp +28 -0
- package/deps/simdutf/src/haswell/avx2_convert_latin1_to_utf32.cpp +20 -0
- package/deps/simdutf/src/haswell/avx2_convert_latin1_to_utf8.cpp +83 -0
- package/deps/simdutf/src/haswell/avx2_convert_utf16_to_latin1.cpp +83 -0
- package/deps/simdutf/src/haswell/avx2_convert_utf16_to_utf32.cpp +210 -0
- package/deps/simdutf/src/haswell/avx2_convert_utf16_to_utf8.cpp +602 -0
- package/deps/simdutf/src/haswell/avx2_convert_utf32_to_latin1.cpp +116 -0
- package/deps/simdutf/src/haswell/avx2_convert_utf32_to_utf16.cpp +164 -0
- package/deps/simdutf/src/haswell/avx2_convert_utf32_to_utf8.cpp +569 -0
- package/deps/simdutf/src/haswell/avx2_convert_utf8_to_latin1.cpp +60 -0
- package/deps/simdutf/src/haswell/avx2_convert_utf8_to_utf16.cpp +195 -0
- package/deps/simdutf/src/haswell/avx2_convert_utf8_to_utf32.cpp +135 -0
- package/deps/simdutf/src/haswell/avx2_utf16fix.cpp +173 -0
- package/deps/simdutf/src/haswell/avx2_validate_utf16.cpp +17 -0
- package/deps/simdutf/src/haswell/implementation.cpp +1447 -0
- package/deps/simdutf/src/icelake/icelake_ascii_validation.inl.cpp +19 -0
- package/deps/simdutf/src/icelake/icelake_base64.inl.cpp +630 -0
- package/deps/simdutf/src/icelake/icelake_common.inl.cpp +37 -0
- package/deps/simdutf/src/icelake/icelake_convert_latin1_to_utf16.inl.cpp +36 -0
- package/deps/simdutf/src/icelake/icelake_convert_latin1_to_utf32.inl.cpp +23 -0
- package/deps/simdutf/src/icelake/icelake_convert_latin1_to_utf8.inl.cpp +107 -0
- package/deps/simdutf/src/icelake/icelake_convert_utf16_to_latin1.inl.cpp +103 -0
- package/deps/simdutf/src/icelake/icelake_convert_utf16_to_utf32.inl.cpp +136 -0
- package/deps/simdutf/src/icelake/icelake_convert_utf16_to_utf8.inl.cpp +206 -0
- package/deps/simdutf/src/icelake/icelake_convert_utf32_to_latin1.inl.cpp +74 -0
- package/deps/simdutf/src/icelake/icelake_convert_utf32_to_utf16.inl.cpp +338 -0
- package/deps/simdutf/src/icelake/icelake_convert_utf32_to_utf8.inl.cpp +574 -0
- package/deps/simdutf/src/icelake/icelake_convert_utf8_to_latin1.inl.cpp +104 -0
- package/deps/simdutf/src/icelake/icelake_convert_utf8_to_utf16.inl.cpp +75 -0
- package/deps/simdutf/src/icelake/icelake_convert_valid_utf8_to_latin1.inl.cpp +69 -0
- package/deps/simdutf/src/icelake/icelake_find.inl.cpp +146 -0
- package/deps/simdutf/src/icelake/icelake_from_utf8.inl.cpp +266 -0
- package/deps/simdutf/src/icelake/icelake_from_valid_utf8.inl.cpp +136 -0
- package/deps/simdutf/src/icelake/icelake_macros.inl.cpp +143 -0
- package/deps/simdutf/src/icelake/icelake_utf16fix.cpp +138 -0
- package/deps/simdutf/src/icelake/icelake_utf32_validation.inl.cpp +63 -0
- package/deps/simdutf/src/icelake/icelake_utf8_common.inl.cpp +753 -0
- package/deps/simdutf/src/icelake/icelake_utf8_length_from_utf16.inl.cpp +269 -0
- package/deps/simdutf/src/icelake/icelake_utf8_validation.inl.cpp +116 -0
- package/deps/simdutf/src/icelake/implementation.cpp +1903 -0
- package/deps/simdutf/src/implementation.cpp +2526 -0
- package/deps/simdutf/src/lasx/implementation.cpp +1531 -0
- package/deps/simdutf/src/lasx/lasx_base64.cpp +695 -0
- package/deps/simdutf/src/lasx/lasx_convert_latin1_to_utf16.cpp +76 -0
- package/deps/simdutf/src/lasx/lasx_convert_latin1_to_utf32.cpp +55 -0
- package/deps/simdutf/src/lasx/lasx_convert_latin1_to_utf8.cpp +65 -0
- package/deps/simdutf/src/lasx/lasx_convert_utf16_to_latin1.cpp +64 -0
- package/deps/simdutf/src/lasx/lasx_convert_utf16_to_utf32.cpp +183 -0
- package/deps/simdutf/src/lasx/lasx_convert_utf16_to_utf8.cpp +550 -0
- package/deps/simdutf/src/lasx/lasx_convert_utf32_to_latin1.cpp +73 -0
- package/deps/simdutf/src/lasx/lasx_convert_utf32_to_utf16.cpp +218 -0
- package/deps/simdutf/src/lasx/lasx_convert_utf32_to_utf8.cpp +589 -0
- package/deps/simdutf/src/lasx/lasx_convert_utf8_to_latin1.cpp +72 -0
- package/deps/simdutf/src/lasx/lasx_convert_utf8_to_utf16.cpp +296 -0
- package/deps/simdutf/src/lasx/lasx_convert_utf8_to_utf32.cpp +190 -0
- package/deps/simdutf/src/lasx/lasx_find.cpp +64 -0
- package/deps/simdutf/src/lasx/lasx_validate_utf16.cpp +13 -0
- package/deps/simdutf/src/lasx/lasx_validate_utf32le.cpp +84 -0
- package/deps/simdutf/src/lsx/implementation.cpp +1417 -0
- package/deps/simdutf/src/lsx/lsx_base64.cpp +675 -0
- package/deps/simdutf/src/lsx/lsx_convert_latin1_to_utf16.cpp +39 -0
- package/deps/simdutf/src/lsx/lsx_convert_latin1_to_utf32.cpp +27 -0
- package/deps/simdutf/src/lsx/lsx_convert_latin1_to_utf8.cpp +56 -0
- package/deps/simdutf/src/lsx/lsx_convert_utf16_to_latin1.cpp +64 -0
- package/deps/simdutf/src/lsx/lsx_convert_utf16_to_utf32.cpp +133 -0
- package/deps/simdutf/src/lsx/lsx_convert_utf16_to_utf8.cpp +518 -0
- package/deps/simdutf/src/lsx/lsx_convert_utf32_to_latin1.cpp +66 -0
- package/deps/simdutf/src/lsx/lsx_convert_utf32_to_utf16.cpp +155 -0
- package/deps/simdutf/src/lsx/lsx_convert_utf32_to_utf8.cpp +459 -0
- package/deps/simdutf/src/lsx/lsx_convert_utf8_to_latin1.cpp +75 -0
- package/deps/simdutf/src/lsx/lsx_convert_utf8_to_utf16.cpp +291 -0
- package/deps/simdutf/src/lsx/lsx_convert_utf8_to_utf32.cpp +179 -0
- package/deps/simdutf/src/lsx/lsx_find.cpp +60 -0
- package/deps/simdutf/src/lsx/lsx_validate_utf16.cpp +13 -0
- package/deps/simdutf/src/lsx/lsx_validate_utf32le.cpp +68 -0
- package/deps/simdutf/src/ppc64/implementation.cpp +992 -0
- package/deps/simdutf/src/ppc64/ppc64_base64.cpp +480 -0
- package/deps/simdutf/src/ppc64/ppc64_base64_internal_tests.cpp +401 -0
- package/deps/simdutf/src/ppc64/ppc64_convert_latin1_to_utf16.cpp +12 -0
- package/deps/simdutf/src/ppc64/ppc64_convert_latin1_to_utf32.cpp +12 -0
- package/deps/simdutf/src/ppc64/ppc64_convert_latin1_to_utf8.cpp +149 -0
- package/deps/simdutf/src/ppc64/ppc64_convert_utf16_to_latin1.cpp +67 -0
- package/deps/simdutf/src/ppc64/ppc64_convert_utf16_to_utf32.cpp +87 -0
- package/deps/simdutf/src/ppc64/ppc64_convert_utf16_to_utf8.cpp +296 -0
- package/deps/simdutf/src/ppc64/ppc64_convert_utf32_to_latin1.cpp +57 -0
- package/deps/simdutf/src/ppc64/ppc64_convert_utf32_to_utf16.cpp +117 -0
- package/deps/simdutf/src/ppc64/ppc64_convert_utf32_to_utf8.cpp +166 -0
- package/deps/simdutf/src/ppc64/ppc64_convert_utf8_to_latin1.cpp +69 -0
- package/deps/simdutf/src/ppc64/ppc64_convert_utf8_to_utf16.cpp +211 -0
- package/deps/simdutf/src/ppc64/ppc64_convert_utf8_to_utf32.cpp +153 -0
- package/deps/simdutf/src/ppc64/ppc64_utf16_to_utf8_tables.h +1011 -0
- package/deps/simdutf/src/ppc64/ppc64_utf8_length_from_latin1.cpp +37 -0
- package/deps/simdutf/src/ppc64/ppc64_validate_utf16.cpp +19 -0
- package/deps/simdutf/src/ppc64/templates.cpp +91 -0
- package/deps/simdutf/src/rvv/implementation.cpp +138 -0
- package/deps/simdutf/src/rvv/rvv_find.cpp +27 -0
- package/deps/simdutf/src/rvv/rvv_helpers.inl.cpp +23 -0
- package/deps/simdutf/src/rvv/rvv_latin1_to.inl.cpp +71 -0
- package/deps/simdutf/src/rvv/rvv_length_from.inl.cpp +164 -0
- package/deps/simdutf/src/rvv/rvv_utf16_to.inl.cpp +399 -0
- package/deps/simdutf/src/rvv/rvv_utf16fix.cpp +110 -0
- package/deps/simdutf/src/rvv/rvv_utf32_to.inl.cpp +307 -0
- package/deps/simdutf/src/rvv/rvv_utf8_to.inl.cpp +435 -0
- package/deps/simdutf/src/rvv/rvv_validate.inl.cpp +275 -0
- package/deps/simdutf/src/simdutf/arm64/begin.h +2 -0
- package/deps/simdutf/src/simdutf/arm64/bitmanipulation.h +34 -0
- package/deps/simdutf/src/simdutf/arm64/end.h +2 -0
- package/deps/simdutf/src/simdutf/arm64/implementation.h +307 -0
- package/deps/simdutf/src/simdutf/arm64/intrinsics.h +10 -0
- package/deps/simdutf/src/simdutf/arm64/simd.h +547 -0
- package/deps/simdutf/src/simdutf/arm64/simd16-inl.h +403 -0
- package/deps/simdutf/src/simdutf/arm64/simd32-inl.h +129 -0
- package/deps/simdutf/src/simdutf/arm64/simd64-inl.h +28 -0
- package/deps/simdutf/src/simdutf/arm64.h +43 -0
- package/deps/simdutf/src/simdutf/fallback/begin.h +1 -0
- package/deps/simdutf/src/simdutf/fallback/bitmanipulation.h +13 -0
- package/deps/simdutf/src/simdutf/fallback/end.h +1 -0
- package/deps/simdutf/src/simdutf/fallback/implementation.h +331 -0
- package/deps/simdutf/src/simdutf/fallback.h +42 -0
- package/deps/simdutf/src/simdutf/haswell/begin.h +15 -0
- package/deps/simdutf/src/simdutf/haswell/bitmanipulation.h +35 -0
- package/deps/simdutf/src/simdutf/haswell/end.h +13 -0
- package/deps/simdutf/src/simdutf/haswell/implementation.h +338 -0
- package/deps/simdutf/src/simdutf/haswell/intrinsics.h +67 -0
- package/deps/simdutf/src/simdutf/haswell/simd.h +363 -0
- package/deps/simdutf/src/simdutf/haswell/simd16-inl.h +261 -0
- package/deps/simdutf/src/simdutf/haswell/simd32-inl.h +111 -0
- package/deps/simdutf/src/simdutf/haswell/simd64-inl.h +34 -0
- package/deps/simdutf/src/simdutf/haswell.h +63 -0
- package/deps/simdutf/src/simdutf/icelake/begin.h +14 -0
- package/deps/simdutf/src/simdutf/icelake/bitmanipulation.h +44 -0
- package/deps/simdutf/src/simdutf/icelake/end.h +12 -0
- package/deps/simdutf/src/simdutf/icelake/implementation.h +346 -0
- package/deps/simdutf/src/simdutf/icelake/intrinsics.h +138 -0
- package/deps/simdutf/src/simdutf/icelake/simd.h +17 -0
- package/deps/simdutf/src/simdutf/icelake/simd16-inl.h +90 -0
- package/deps/simdutf/src/simdutf/icelake/simd32-inl.h +47 -0
- package/deps/simdutf/src/simdutf/icelake.h +81 -0
- package/deps/simdutf/src/simdutf/lasx/begin.h +8 -0
- package/deps/simdutf/src/simdutf/lasx/bitmanipulation.h +25 -0
- package/deps/simdutf/src/simdutf/lasx/end.h +8 -0
- package/deps/simdutf/src/simdutf/lasx/implementation.h +310 -0
- package/deps/simdutf/src/simdutf/lasx/intrinsics.h +319 -0
- package/deps/simdutf/src/simdutf/lasx/simd.h +551 -0
- package/deps/simdutf/src/simdutf/lasx/simd16-inl.h +234 -0
- package/deps/simdutf/src/simdutf/lasx/simd32-inl.h +74 -0
- package/deps/simdutf/src/simdutf/lasx/simd64-inl.h +52 -0
- package/deps/simdutf/src/simdutf/lasx.h +49 -0
- package/deps/simdutf/src/simdutf/lsx/begin.h +2 -0
- package/deps/simdutf/src/simdutf/lsx/bitmanipulation.h +25 -0
- package/deps/simdutf/src/simdutf/lsx/end.h +2 -0
- package/deps/simdutf/src/simdutf/lsx/implementation.h +309 -0
- package/deps/simdutf/src/simdutf/lsx/intrinsics.h +196 -0
- package/deps/simdutf/src/simdutf/lsx/simd.h +421 -0
- package/deps/simdutf/src/simdutf/lsx/simd16-inl.h +242 -0
- package/deps/simdutf/src/simdutf/lsx/simd32-inl.h +69 -0
- package/deps/simdutf/src/simdutf/lsx/simd64-inl.h +50 -0
- package/deps/simdutf/src/simdutf/lsx.h +52 -0
- package/deps/simdutf/src/simdutf/ppc64/begin.h +1 -0
- package/deps/simdutf/src/simdutf/ppc64/bitmanipulation.h +29 -0
- package/deps/simdutf/src/simdutf/ppc64/end.h +1 -0
- package/deps/simdutf/src/simdutf/ppc64/implementation.h +348 -0
- package/deps/simdutf/src/simdutf/ppc64/intrinsics.h +19 -0
- package/deps/simdutf/src/simdutf/ppc64/simd.h +177 -0
- package/deps/simdutf/src/simdutf/ppc64/simd16-inl.h +327 -0
- package/deps/simdutf/src/simdutf/ppc64/simd32-inl.h +247 -0
- package/deps/simdutf/src/simdutf/ppc64/simd8-inl.h +618 -0
- package/deps/simdutf/src/simdutf/ppc64.h +40 -0
- package/deps/simdutf/src/simdutf/rvv/begin.h +7 -0
- package/deps/simdutf/src/simdutf/rvv/end.h +7 -0
- package/deps/simdutf/src/simdutf/rvv/implementation.h +321 -0
- package/deps/simdutf/src/simdutf/rvv/intrinsics.h +131 -0
- package/deps/simdutf/src/simdutf/rvv.h +41 -0
- package/deps/simdutf/src/simdutf/westmere/begin.h +8 -0
- package/deps/simdutf/src/simdutf/westmere/bitmanipulation.h +37 -0
- package/deps/simdutf/src/simdutf/westmere/end.h +8 -0
- package/deps/simdutf/src/simdutf/westmere/implementation.h +338 -0
- package/deps/simdutf/src/simdutf/westmere/intrinsics.h +38 -0
- package/deps/simdutf/src/simdutf/westmere/simd.h +379 -0
- package/deps/simdutf/src/simdutf/westmere/simd16-inl.h +242 -0
- package/deps/simdutf/src/simdutf/westmere/simd32-inl.h +151 -0
- package/deps/simdutf/src/simdutf/westmere/simd64-inl.h +33 -0
- package/deps/simdutf/src/simdutf/westmere.h +59 -0
- package/deps/simdutf/src/simdutf.cpp +152 -0
- package/deps/simdutf/src/simdutf_c.cpp +525 -0
- package/deps/simdutf/src/tables/utf16_to_utf8_tables.h +768 -0
- package/deps/simdutf/src/tables/utf32_to_utf16_tables.h +53 -0
- package/deps/simdutf/src/tables/utf8_to_utf16_tables.h +826 -0
- package/deps/simdutf/src/westmere/implementation.cpp +1479 -0
- package/deps/simdutf/src/westmere/internal/loader.cpp +7 -0
- package/deps/simdutf/src/westmere/internal/write_v_u16_11bits_to_utf8.cpp +66 -0
- package/deps/simdutf/src/westmere/sse_base64.cpp +672 -0
- package/deps/simdutf/src/westmere/sse_convert_latin1_to_utf16.cpp +21 -0
- package/deps/simdutf/src/westmere/sse_convert_latin1_to_utf32.cpp +31 -0
- package/deps/simdutf/src/westmere/sse_convert_latin1_to_utf8.cpp +71 -0
- package/deps/simdutf/src/westmere/sse_convert_utf16_to_latin1.cpp +70 -0
- package/deps/simdutf/src/westmere/sse_convert_utf16_to_utf32.cpp +206 -0
- package/deps/simdutf/src/westmere/sse_convert_utf16_to_utf8.cpp +504 -0
- package/deps/simdutf/src/westmere/sse_convert_utf32_to_latin1.cpp +82 -0
- package/deps/simdutf/src/westmere/sse_convert_utf32_to_utf16.cpp +209 -0
- package/deps/simdutf/src/westmere/sse_convert_utf32_to_utf8.cpp +589 -0
- package/deps/simdutf/src/westmere/sse_convert_utf8_to_latin1.cpp +58 -0
- package/deps/simdutf/src/westmere/sse_convert_utf8_to_utf16.cpp +197 -0
- package/deps/simdutf/src/westmere/sse_convert_utf8_to_utf32.cpp +141 -0
- package/deps/simdutf/src/westmere/sse_utf16fix.cpp +82 -0
- package/deps/simdutf/src/westmere/sse_validate_utf16.cpp +17 -0
- package/jest/index.js +16 -0
- package/lib/commonjs/argon2.js +88 -0
- package/lib/commonjs/argon2.js.map +1 -0
- package/lib/commonjs/blake3.js +99 -0
- package/lib/commonjs/blake3.js.map +1 -0
- package/lib/commonjs/certificate.js +35 -0
- package/lib/commonjs/certificate.js.map +1 -0
- package/lib/commonjs/cipher.js +299 -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/dh-groups.js +29 -0
- package/lib/commonjs/dh-groups.js.map +1 -0
- package/lib/commonjs/dhKeyPair.js +112 -0
- package/lib/commonjs/dhKeyPair.js.map +1 -0
- package/lib/commonjs/diffie-hellman.js +151 -0
- package/lib/commonjs/diffie-hellman.js.map +1 -0
- package/lib/commonjs/dsa.js +101 -0
- package/lib/commonjs/dsa.js.map +1 -0
- package/lib/commonjs/ec.js +370 -0
- package/lib/commonjs/ec.js.map +1 -0
- package/lib/commonjs/ecdh.js +109 -0
- package/lib/commonjs/ecdh.js.map +1 -0
- package/lib/commonjs/ed.js +443 -0
- package/lib/commonjs/ed.js.map +1 -0
- 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 +23 -0
- package/lib/commonjs/expo-plugin/withSodiumIos.js.map +1 -0
- package/lib/commonjs/expo-plugin/withXCode.js +109 -0
- package/lib/commonjs/expo-plugin/withXCode.js.map +1 -0
- package/lib/commonjs/hash.js +291 -0
- package/lib/commonjs/hash.js.map +1 -0
- package/lib/commonjs/hkdf.js +178 -0
- package/lib/commonjs/hkdf.js.map +1 -0
- package/lib/commonjs/hmac.js +125 -0
- package/lib/commonjs/hmac.js.map +1 -0
- package/lib/commonjs/index.js +356 -0
- package/lib/commonjs/index.js.map +1 -0
- package/lib/commonjs/keys/classes.js +280 -0
- package/lib/commonjs/keys/classes.js.map +1 -0
- package/lib/commonjs/keys/generateKeyPair.js +237 -0
- package/lib/commonjs/keys/generateKeyPair.js.map +1 -0
- package/lib/commonjs/keys/index.js +381 -0
- package/lib/commonjs/keys/index.js.map +1 -0
- package/lib/commonjs/keys/publicCipher.js +171 -0
- package/lib/commonjs/keys/publicCipher.js.map +1 -0
- package/lib/commonjs/keys/signVerify.js +227 -0
- package/lib/commonjs/keys/signVerify.js.map +1 -0
- package/lib/commonjs/keys/utils.js +181 -0
- package/lib/commonjs/keys/utils.js.map +1 -0
- package/lib/commonjs/mldsa.js +69 -0
- package/lib/commonjs/mldsa.js.map +1 -0
- package/lib/commonjs/mlkem.js +219 -0
- package/lib/commonjs/mlkem.js.map +1 -0
- package/lib/commonjs/native-nitro-bridge.js +344 -0
- package/lib/commonjs/nitro-node-shim.js +23 -0
- package/lib/commonjs/package.json +1 -0
- package/lib/commonjs/pbkdf2.js +106 -0
- package/lib/commonjs/pbkdf2.js.map +1 -0
- package/lib/commonjs/prime.js +84 -0
- package/lib/commonjs/prime.js.map +1 -0
- package/lib/commonjs/random.js +296 -0
- package/lib/commonjs/random.js.map +1 -0
- package/lib/commonjs/rsa.js +213 -0
- package/lib/commonjs/rsa.js.map +1 -0
- package/lib/commonjs/scrypt.js +139 -0
- package/lib/commonjs/scrypt.js.map +1 -0
- package/lib/commonjs/slhdsa.js +70 -0
- package/lib/commonjs/slhdsa.js.map +1 -0
- package/lib/commonjs/specs/argon2.nitro.js +6 -0
- package/lib/commonjs/specs/argon2.nitro.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/certificate.nitro.js +6 -0
- package/lib/commonjs/specs/certificate.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/dhKeyPair.nitro.js +6 -0
- package/lib/commonjs/specs/dhKeyPair.nitro.js.map +1 -0
- package/lib/commonjs/specs/diffie-hellman.nitro.js +6 -0
- package/lib/commonjs/specs/diffie-hellman.nitro.js.map +1 -0
- package/lib/commonjs/specs/dsaKeyPair.nitro.js +6 -0
- package/lib/commonjs/specs/dsaKeyPair.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/ecdh.nitro.js +6 -0
- package/lib/commonjs/specs/ecdh.nitro.js.map +1 -0
- package/lib/commonjs/specs/edKeyPair.nitro.js +6 -0
- package/lib/commonjs/specs/edKeyPair.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/hkdf.nitro.js +6 -0
- package/lib/commonjs/specs/hkdf.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/keyObjectHandle.nitro.js +6 -0
- package/lib/commonjs/specs/keyObjectHandle.nitro.js.map +1 -0
- package/lib/commonjs/specs/kmac.nitro.js +6 -0
- package/lib/commonjs/specs/kmac.nitro.js.map +1 -0
- package/lib/commonjs/specs/mlDsaKeyPair.nitro.js +6 -0
- package/lib/commonjs/specs/mlDsaKeyPair.nitro.js.map +1 -0
- package/lib/commonjs/specs/mlKemKeyPair.nitro.js +6 -0
- package/lib/commonjs/specs/mlKemKeyPair.nitro.js.map +1 -0
- package/lib/commonjs/specs/pbkdf2.nitro.js +6 -0
- package/lib/commonjs/specs/pbkdf2.nitro.js.map +1 -0
- package/lib/commonjs/specs/prime.nitro.js +6 -0
- package/lib/commonjs/specs/prime.nitro.js.map +1 -0
- package/lib/commonjs/specs/random.nitro.js +6 -0
- package/lib/commonjs/specs/random.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/scrypt.nitro.js +6 -0
- package/lib/commonjs/specs/scrypt.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/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/specs/utils.nitro.js +6 -0
- package/lib/commonjs/specs/utils.nitro.js.map +1 -0
- package/lib/commonjs/specs/x509certificate.nitro.js +6 -0
- package/lib/commonjs/specs/x509certificate.nitro.js.map +1 -0
- package/lib/commonjs/subtle.js +3211 -0
- package/lib/commonjs/subtle.js.map +1 -0
- package/lib/commonjs/utils/cipher.js +75 -0
- package/lib/commonjs/utils/cipher.js.map +1 -0
- package/lib/commonjs/utils/conversion.js +249 -0
- package/lib/commonjs/utils/conversion.js.map +1 -0
- package/lib/commonjs/utils/errors.js +73 -0
- package/lib/commonjs/utils/errors.js.map +1 -0
- package/lib/commonjs/utils/hashnames.js +122 -0
- package/lib/commonjs/utils/hashnames.js.map +1 -0
- package/lib/commonjs/utils/index.js +83 -0
- package/lib/commonjs/utils/index.js.map +1 -0
- package/lib/commonjs/utils/noble.js +82 -0
- package/lib/commonjs/utils/noble.js.map +1 -0
- package/lib/commonjs/utils/timingSafeEqual.js +29 -0
- package/lib/commonjs/utils/timingSafeEqual.js.map +1 -0
- package/lib/commonjs/utils/types.js +55 -0
- package/lib/commonjs/utils/types.js.map +1 -0
- package/lib/commonjs/utils/validation.js +144 -0
- package/lib/commonjs/utils/validation.js.map +1 -0
- package/lib/commonjs/x509certificate.js +189 -0
- package/lib/commonjs/x509certificate.js.map +1 -0
- package/lib/module/argon2.js +83 -0
- package/lib/module/argon2.js.map +1 -0
- package/lib/module/blake3.js +91 -0
- package/lib/module/blake3.js.map +1 -0
- package/lib/module/certificate.js +30 -0
- package/lib/module/certificate.js.map +1 -0
- package/lib/module/cipher.js +291 -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/dh-groups.js +25 -0
- package/lib/module/dh-groups.js.map +1 -0
- package/lib/module/dhKeyPair.js +105 -0
- package/lib/module/dhKeyPair.js.map +1 -0
- package/lib/module/diffie-hellman.js +145 -0
- package/lib/module/diffie-hellman.js.map +1 -0
- package/lib/module/dsa.js +94 -0
- package/lib/module/dsa.js.map +1 -0
- package/lib/module/ec.js +358 -0
- package/lib/module/ec.js.map +1 -0
- package/lib/module/ecdh.js +103 -0
- package/lib/module/ecdh.js.map +1 -0
- package/lib/module/ed.js +433 -0
- package/lib/module/ed.js.map +1 -0
- 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 +17 -0
- package/lib/module/expo-plugin/withSodiumIos.js.map +1 -0
- package/lib/module/expo-plugin/withXCode.js +101 -0
- package/lib/module/expo-plugin/withXCode.js.map +1 -0
- package/lib/module/hash.js +282 -0
- package/lib/module/hash.js.map +1 -0
- package/lib/module/hkdf.js +168 -0
- package/lib/module/hkdf.js.map +1 -0
- package/lib/module/hmac.js +120 -0
- package/lib/module/hmac.js.map +1 -0
- package/lib/module/index.js +115 -0
- package/lib/module/index.js.map +1 -0
- package/lib/module/keys/classes.js +271 -0
- package/lib/module/keys/classes.js.map +1 -0
- package/lib/module/keys/generateKeyPair.js +231 -0
- package/lib/module/keys/generateKeyPair.js.map +1 -0
- package/lib/module/keys/index.js +246 -0
- package/lib/module/keys/index.js.map +1 -0
- package/lib/module/keys/publicCipher.js +164 -0
- package/lib/module/keys/publicCipher.js.map +1 -0
- package/lib/module/keys/signVerify.js +217 -0
- package/lib/module/keys/signVerify.js.map +1 -0
- package/lib/module/keys/utils.js +170 -0
- package/lib/module/keys/utils.js.map +1 -0
- package/lib/module/mldsa.js +63 -0
- package/lib/module/mldsa.js.map +1 -0
- package/lib/module/mlkem.js +211 -0
- package/lib/module/mlkem.js.map +1 -0
- package/lib/module/pbkdf2.js +100 -0
- package/lib/module/pbkdf2.js.map +1 -0
- package/lib/module/prime.js +77 -0
- package/lib/module/prime.js.map +1 -0
- package/lib/module/random.js +284 -0
- package/lib/module/random.js.map +1 -0
- package/lib/module/rsa.js +205 -0
- package/lib/module/rsa.js.map +1 -0
- package/lib/module/scrypt.js +134 -0
- package/lib/module/scrypt.js.map +1 -0
- package/lib/module/slhdsa.js +64 -0
- package/lib/module/slhdsa.js.map +1 -0
- package/lib/module/specs/argon2.nitro.js +4 -0
- package/lib/module/specs/argon2.nitro.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/certificate.nitro.js +4 -0
- package/lib/module/specs/certificate.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/dhKeyPair.nitro.js +4 -0
- package/lib/module/specs/dhKeyPair.nitro.js.map +1 -0
- package/lib/module/specs/diffie-hellman.nitro.js +4 -0
- package/lib/module/specs/diffie-hellman.nitro.js.map +1 -0
- package/lib/module/specs/dsaKeyPair.nitro.js +4 -0
- package/lib/module/specs/dsaKeyPair.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/ecdh.nitro.js +4 -0
- package/lib/module/specs/ecdh.nitro.js.map +1 -0
- package/lib/module/specs/edKeyPair.nitro.js +4 -0
- package/lib/module/specs/edKeyPair.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/hkdf.nitro.js +4 -0
- package/lib/module/specs/hkdf.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/keyObjectHandle.nitro.js +4 -0
- package/lib/module/specs/keyObjectHandle.nitro.js.map +1 -0
- package/lib/module/specs/kmac.nitro.js +4 -0
- package/lib/module/specs/kmac.nitro.js.map +1 -0
- package/lib/module/specs/mlDsaKeyPair.nitro.js +4 -0
- package/lib/module/specs/mlDsaKeyPair.nitro.js.map +1 -0
- package/lib/module/specs/mlKemKeyPair.nitro.js +4 -0
- package/lib/module/specs/mlKemKeyPair.nitro.js.map +1 -0
- package/lib/module/specs/pbkdf2.nitro.js +4 -0
- package/lib/module/specs/pbkdf2.nitro.js.map +1 -0
- package/lib/module/specs/prime.nitro.js +4 -0
- package/lib/module/specs/prime.nitro.js.map +1 -0
- package/lib/module/specs/random.nitro.js +4 -0
- package/lib/module/specs/random.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/scrypt.nitro.js +4 -0
- package/lib/module/specs/scrypt.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/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/specs/utils.nitro.js +4 -0
- package/lib/module/specs/utils.nitro.js.map +1 -0
- package/lib/module/specs/x509certificate.nitro.js +4 -0
- package/lib/module/specs/x509certificate.nitro.js.map +1 -0
- package/lib/module/subtle.js +3205 -0
- package/lib/module/subtle.js.map +1 -0
- package/lib/module/utils/cipher.js +67 -0
- package/lib/module/utils/cipher.js.map +1 -0
- package/lib/module/utils/conversion.js +205 -0
- package/lib/module/utils/conversion.js.map +1 -0
- package/lib/module/utils/errors.js +67 -0
- package/lib/module/utils/errors.js.map +1 -0
- package/lib/module/utils/hashnames.js +120 -0
- package/lib/module/utils/hashnames.js.map +1 -0
- package/lib/module/utils/index.js +10 -0
- package/lib/module/utils/index.js.map +1 -0
- package/lib/module/utils/noble.js +76 -0
- package/lib/module/utils/noble.js.map +1 -0
- package/lib/module/utils/timingSafeEqual.js +25 -0
- package/lib/module/utils/timingSafeEqual.js.map +1 -0
- package/lib/module/utils/types.js +57 -0
- package/lib/module/utils/types.js.map +1 -0
- package/lib/module/utils/validation.js +131 -0
- package/lib/module/utils/validation.js.map +1 -0
- package/lib/module/x509certificate.js +184 -0
- package/lib/module/x509certificate.js.map +1 -0
- package/lib/typescript/argon2.d.ts +16 -0
- package/lib/typescript/argon2.d.ts.map +1 -0
- package/lib/typescript/blake3.d.ts +33 -0
- package/lib/typescript/blake3.d.ts.map +1 -0
- package/lib/typescript/certificate.d.ts +8 -0
- package/lib/typescript/certificate.d.ts.map +1 -0
- package/lib/typescript/cipher.d.ts +75 -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/dh-groups.d.ts +5 -0
- package/lib/typescript/dh-groups.d.ts.map +1 -0
- package/lib/typescript/dhKeyPair.d.ts +19 -0
- package/lib/typescript/dhKeyPair.d.ts.map +1 -0
- package/lib/typescript/diffie-hellman.d.ts +18 -0
- package/lib/typescript/diffie-hellman.d.ts.map +1 -0
- package/lib/typescript/dsa.d.ts +19 -0
- package/lib/typescript/dsa.d.ts.map +1 -0
- package/lib/typescript/ec.d.ts +24 -0
- package/lib/typescript/ec.d.ts.map +1 -0
- package/lib/typescript/ecdh.d.ts +19 -0
- package/lib/typescript/ecdh.d.ts.map +1 -0
- package/lib/typescript/ed.d.ts +47 -0
- package/lib/typescript/ed.d.ts.map +1 -0
- 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 +23 -0
- package/lib/typescript/expo-plugin/withXCode.d.ts.map +1 -0
- package/lib/typescript/hash.d.ts +126 -0
- package/lib/typescript/hash.d.ts.map +1 -0
- package/lib/typescript/hkdf.d.ts +26 -0
- package/lib/typescript/hkdf.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 +240 -0
- package/lib/typescript/index.d.ts.map +1 -0
- package/lib/typescript/keys/classes.d.ts +95 -0
- package/lib/typescript/keys/classes.d.ts.map +1 -0
- package/lib/typescript/keys/generateKeyPair.d.ts +17 -0
- package/lib/typescript/keys/generateKeyPair.d.ts.map +1 -0
- package/lib/typescript/keys/index.d.ts +26 -0
- package/lib/typescript/keys/index.d.ts.map +1 -0
- package/lib/typescript/keys/publicCipher.d.ts +23 -0
- package/lib/typescript/keys/publicCipher.d.ts.map +1 -0
- package/lib/typescript/keys/signVerify.d.ts +35 -0
- package/lib/typescript/keys/signVerify.d.ts.map +1 -0
- package/lib/typescript/keys/utils.d.ts +51 -0
- package/lib/typescript/keys/utils.d.ts.map +1 -0
- package/lib/typescript/mldsa.d.ts +18 -0
- package/lib/typescript/mldsa.d.ts.map +1 -0
- package/lib/typescript/mlkem.d.ts +30 -0
- package/lib/typescript/mlkem.d.ts.map +1 -0
- package/lib/typescript/pbkdf2.d.ts +12 -0
- package/lib/typescript/pbkdf2.d.ts.map +1 -0
- package/lib/typescript/prime.d.ts +19 -0
- package/lib/typescript/prime.d.ts.map +1 -0
- package/lib/typescript/random.d.ts +31 -0
- package/lib/typescript/random.d.ts.map +1 -0
- package/lib/typescript/rsa.d.ts +20 -0
- package/lib/typescript/rsa.d.ts.map +1 -0
- package/lib/typescript/scrypt.d.ts +18 -0
- package/lib/typescript/scrypt.d.ts.map +1 -0
- package/lib/typescript/slhdsa.d.ts +19 -0
- package/lib/typescript/slhdsa.d.ts.map +1 -0
- package/lib/typescript/specs/argon2.nitro.d.ts +9 -0
- package/lib/typescript/specs/argon2.nitro.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/certificate.nitro.d.ts +10 -0
- package/lib/typescript/specs/certificate.nitro.d.ts.map +1 -0
- package/lib/typescript/specs/cipher.nitro.d.ts +38 -0
- package/lib/typescript/specs/cipher.nitro.d.ts.map +1 -0
- package/lib/typescript/specs/dhKeyPair.nitro.d.ts +14 -0
- package/lib/typescript/specs/dhKeyPair.nitro.d.ts.map +1 -0
- package/lib/typescript/specs/diffie-hellman.nitro.d.ts +18 -0
- package/lib/typescript/specs/diffie-hellman.nitro.d.ts.map +1 -0
- package/lib/typescript/specs/dsaKeyPair.nitro.d.ts +13 -0
- package/lib/typescript/specs/dsaKeyPair.nitro.d.ts.map +1 -0
- package/lib/typescript/specs/ecKeyPair.nitro.d.ts +21 -0
- package/lib/typescript/specs/ecKeyPair.nitro.d.ts.map +1 -0
- package/lib/typescript/specs/ecdh.nitro.d.ts +15 -0
- package/lib/typescript/specs/ecdh.nitro.d.ts.map +1 -0
- package/lib/typescript/specs/edKeyPair.nitro.d.ts +17 -0
- package/lib/typescript/specs/edKeyPair.nitro.d.ts.map +1 -0
- 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/hkdf.nitro.d.ts +10 -0
- package/lib/typescript/specs/hkdf.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 +27 -0
- package/lib/typescript/specs/keyObjectHandle.nitro.d.ts.map +1 -0
- package/lib/typescript/specs/kmac.nitro.d.ts +10 -0
- package/lib/typescript/specs/kmac.nitro.d.ts.map +1 -0
- package/lib/typescript/specs/mlDsaKeyPair.nitro.d.ts +16 -0
- package/lib/typescript/specs/mlDsaKeyPair.nitro.d.ts.map +1 -0
- package/lib/typescript/specs/mlKemKeyPair.nitro.d.ts +18 -0
- package/lib/typescript/specs/mlKemKeyPair.nitro.d.ts.map +1 -0
- package/lib/typescript/specs/pbkdf2.nitro.d.ts +9 -0
- package/lib/typescript/specs/pbkdf2.nitro.d.ts.map +1 -0
- package/lib/typescript/specs/prime.nitro.d.ts +11 -0
- package/lib/typescript/specs/prime.nitro.d.ts.map +1 -0
- package/lib/typescript/specs/random.nitro.d.ts +9 -0
- package/lib/typescript/specs/random.nitro.d.ts.map +1 -0
- package/lib/typescript/specs/rsaCipher.nitro.d.ts +54 -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/scrypt.nitro.d.ts +9 -0
- package/lib/typescript/specs/scrypt.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/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 +8 -0
- package/lib/typescript/specs/utils.nitro.d.ts.map +1 -0
- package/lib/typescript/specs/x509certificate.nitro.d.ts +34 -0
- package/lib/typescript/specs/x509certificate.nitro.d.ts.map +1 -0
- package/lib/typescript/subtle.d.ts +33 -0
- package/lib/typescript/subtle.d.ts.map +1 -0
- package/lib/typescript/utils/cipher.d.ts +19 -0
- package/lib/typescript/utils/cipher.d.ts.map +1 -0
- package/lib/typescript/utils/conversion.d.ts +36 -0
- package/lib/typescript/utils/conversion.d.ts.map +1 -0
- package/lib/typescript/utils/errors.d.ts +19 -0
- package/lib/typescript/utils/errors.d.ts.map +1 -0
- package/lib/typescript/utils/hashnames.d.ts +13 -0
- package/lib/typescript/utils/hashnames.d.ts.map +1 -0
- package/lib/typescript/utils/index.d.ts +8 -0
- package/lib/typescript/utils/index.d.ts.map +1 -0
- package/lib/typescript/utils/noble.d.ts +19 -0
- package/lib/typescript/utils/noble.d.ts.map +1 -0
- package/lib/typescript/utils/timingSafeEqual.d.ts +3 -0
- package/lib/typescript/utils/timingSafeEqual.d.ts.map +1 -0
- package/lib/typescript/utils/types.d.ts +314 -0
- package/lib/typescript/utils/types.d.ts.map +1 -0
- package/lib/typescript/utils/validation.d.ts +15 -0
- package/lib/typescript/utils/validation.d.ts.map +1 -0
- package/lib/typescript/x509certificate.d.ts +64 -0
- package/lib/typescript/x509certificate.d.ts.map +1 -0
- package/nitrogen/generated/.gitattributes +1 -0
- package/nitrogen/generated/android/QuickCrypto+autolinking.cmake +110 -0
- package/nitrogen/generated/android/QuickCrypto+autolinking.gradle +27 -0
- package/nitrogen/generated/android/QuickCryptoOnLoad.cpp +334 -0
- package/nitrogen/generated/android/QuickCryptoOnLoad.hpp +25 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/crypto/QuickCryptoOnLoad.kt +35 -0
- package/nitrogen/generated/ios/QuickCrypto+autolinking.rb +60 -0
- package/nitrogen/generated/ios/QuickCrypto-Swift-Cxx-Bridge.cpp +17 -0
- package/nitrogen/generated/ios/QuickCrypto-Swift-Cxx-Bridge.hpp +27 -0
- package/nitrogen/generated/ios/QuickCrypto-Swift-Cxx-Umbrella.hpp +38 -0
- package/nitrogen/generated/ios/QuickCryptoAutolinking.mm +325 -0
- package/nitrogen/generated/ios/QuickCryptoAutolinking.swift +16 -0
- package/nitrogen/generated/shared/c++/AsymmetricKeyType.hpp +176 -0
- package/nitrogen/generated/shared/c++/CipherArgs.hpp +101 -0
- package/nitrogen/generated/shared/c++/CipherInfo.hpp +104 -0
- package/nitrogen/generated/shared/c++/HkdfMode.hpp +80 -0
- package/nitrogen/generated/shared/c++/HybridArgon2Spec.cpp +22 -0
- package/nitrogen/generated/shared/c++/HybridArgon2Spec.hpp +66 -0
- package/nitrogen/generated/shared/c++/HybridBlake3Spec.cpp +28 -0
- package/nitrogen/generated/shared/c++/HybridBlake3Spec.hpp +74 -0
- package/nitrogen/generated/shared/c++/HybridCertificateSpec.cpp +23 -0
- package/nitrogen/generated/shared/c++/HybridCertificateSpec.hpp +64 -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 +29 -0
- package/nitrogen/generated/shared/c++/HybridCipherSpec.hpp +78 -0
- package/nitrogen/generated/shared/c++/HybridDhKeyPairSpec.cpp +27 -0
- package/nitrogen/generated/shared/c++/HybridDhKeyPairSpec.hpp +69 -0
- package/nitrogen/generated/shared/c++/HybridDiffieHellmanSpec.cpp +31 -0
- package/nitrogen/generated/shared/c++/HybridDiffieHellmanSpec.hpp +72 -0
- package/nitrogen/generated/shared/c++/HybridDsaKeyPairSpec.cpp +26 -0
- package/nitrogen/generated/shared/c++/HybridDsaKeyPairSpec.hpp +68 -0
- package/nitrogen/generated/shared/c++/HybridECDHSpec.cpp +28 -0
- package/nitrogen/generated/shared/c++/HybridECDHSpec.hpp +70 -0
- package/nitrogen/generated/shared/c++/HybridEcKeyPairSpec.cpp +30 -0
- package/nitrogen/generated/shared/c++/HybridEcKeyPairSpec.hpp +76 -0
- package/nitrogen/generated/shared/c++/HybridEdKeyPairSpec.cpp +30 -0
- package/nitrogen/generated/shared/c++/HybridEdKeyPairSpec.hpp +74 -0
- package/nitrogen/generated/shared/c++/HybridHashSpec.cpp +26 -0
- package/nitrogen/generated/shared/c++/HybridHashSpec.hpp +74 -0
- package/nitrogen/generated/shared/c++/HybridHkdfSpec.cpp +22 -0
- package/nitrogen/generated/shared/c++/HybridHkdfSpec.hpp +67 -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 +39 -0
- package/nitrogen/generated/shared/c++/HybridKeyObjectHandleSpec.hpp +107 -0
- package/nitrogen/generated/shared/c++/HybridKmacSpec.cpp +23 -0
- package/nitrogen/generated/shared/c++/HybridKmacSpec.hpp +66 -0
- package/nitrogen/generated/shared/c++/HybridMlDsaKeyPairSpec.cpp +29 -0
- package/nitrogen/generated/shared/c++/HybridMlDsaKeyPairSpec.hpp +72 -0
- package/nitrogen/generated/shared/c++/HybridMlKemKeyPairSpec.cpp +31 -0
- package/nitrogen/generated/shared/c++/HybridMlKemKeyPairSpec.hpp +74 -0
- package/nitrogen/generated/shared/c++/HybridPbkdf2Spec.cpp +22 -0
- package/nitrogen/generated/shared/c++/HybridPbkdf2Spec.hpp +65 -0
- package/nitrogen/generated/shared/c++/HybridPrimeSpec.cpp +24 -0
- package/nitrogen/generated/shared/c++/HybridPrimeSpec.hpp +67 -0
- package/nitrogen/generated/shared/c++/HybridRandomSpec.cpp +22 -0
- package/nitrogen/generated/shared/c++/HybridRandomSpec.hpp +64 -0
- package/nitrogen/generated/shared/c++/HybridRsaCipherSpec.cpp +25 -0
- package/nitrogen/generated/shared/c++/HybridRsaCipherSpec.hpp +71 -0
- package/nitrogen/generated/shared/c++/HybridRsaKeyPairSpec.cpp +29 -0
- package/nitrogen/generated/shared/c++/HybridRsaKeyPairSpec.hpp +75 -0
- package/nitrogen/generated/shared/c++/HybridScryptSpec.cpp +22 -0
- package/nitrogen/generated/shared/c++/HybridScryptSpec.hpp +64 -0
- package/nitrogen/generated/shared/c++/HybridSignHandleSpec.cpp +23 -0
- package/nitrogen/generated/shared/c++/HybridSignHandleSpec.hpp +69 -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 +21 -0
- package/nitrogen/generated/shared/c++/HybridUtilsSpec.hpp +62 -0
- package/nitrogen/generated/shared/c++/HybridVerifyHandleSpec.cpp +23 -0
- package/nitrogen/generated/shared/c++/HybridVerifyHandleSpec.hpp +69 -0
- package/nitrogen/generated/shared/c++/HybridX509CertificateHandleSpec.cpp +46 -0
- package/nitrogen/generated/shared/c++/HybridX509CertificateHandleSpec.hpp +96 -0
- package/nitrogen/generated/shared/c++/JWK.hpp +185 -0
- package/nitrogen/generated/shared/c++/JWKkty.hpp +92 -0
- package/nitrogen/generated/shared/c++/JWKuse.hpp +76 -0
- package/nitrogen/generated/shared/c++/KFormatType.hpp +63 -0
- package/nitrogen/generated/shared/c++/KangarooTwelveVariant.hpp +76 -0
- package/nitrogen/generated/shared/c++/KeyDetail.hpp +108 -0
- package/nitrogen/generated/shared/c++/KeyEncoding.hpp +64 -0
- package/nitrogen/generated/shared/c++/KeyObject.hpp +83 -0
- package/nitrogen/generated/shared/c++/KeyType.hpp +63 -0
- package/nitrogen/generated/shared/c++/KeyUsage.hpp +116 -0
- package/nitrogen/generated/shared/c++/NamedCurve.hpp +80 -0
- package/nitrogen/generated/shared/c++/TurboShakeVariant.hpp +76 -0
- package/ohos/binding.gyp +33 -0
- package/ohos/build/Release/quick_crypto.node +0 -0
- package/ohos/quick_crypto_napi.cpp +1316 -0
- package/package.json +158 -4
- package/src/argon2.ts +161 -0
- package/src/blake3.ts +124 -0
- package/src/certificate.ts +41 -0
- package/src/cipher.ts +497 -0
- package/src/constants.ts +32 -0
- package/src/dh-groups.ts +27 -0
- package/src/dhKeyPair.ts +164 -0
- package/src/diffie-hellman.ts +195 -0
- package/src/dsa.ts +146 -0
- package/src/ec.ts +580 -0
- package/src/ecdh.ts +132 -0
- package/src/ed.ts +605 -0
- 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 +25 -0
- package/src/expo-plugin/withXCode.ts +134 -0
- package/src/hash.ts +433 -0
- package/src/hkdf.ts +327 -0
- package/src/hmac.ts +150 -0
- package/src/index.ts +126 -0
- package/src/keys/classes.ts +369 -0
- package/src/keys/generateKeyPair.ts +358 -0
- package/src/keys/index.ts +383 -0
- package/src/keys/publicCipher.ts +256 -0
- package/src/keys/signVerify.ts +329 -0
- package/src/keys/utils.ts +263 -0
- package/src/mldsa.ts +125 -0
- package/src/mlkem.ts +350 -0
- package/src/pbkdf2.ts +183 -0
- package/src/prime.ts +134 -0
- package/src/random.ts +427 -0
- package/src/rsa.ts +333 -0
- package/src/scrypt.ts +201 -0
- package/src/slhdsa.ts +146 -0
- package/src/specs/argon2.nitro.ts +29 -0
- package/src/specs/blake3.nitro.ts +12 -0
- package/src/specs/certificate.nitro.ts +8 -0
- package/src/specs/cipher.nitro.ts +39 -0
- package/src/specs/dhKeyPair.nitro.ts +14 -0
- package/src/specs/diffie-hellman.nitro.ts +16 -0
- package/src/specs/dsaKeyPair.nitro.ts +13 -0
- package/src/specs/ecKeyPair.nitro.ts +40 -0
- package/src/specs/ecdh.nitro.ts +12 -0
- package/src/specs/edKeyPair.nitro.ts +43 -0
- package/src/specs/hash.nitro.ts +10 -0
- package/src/specs/hkdf.nitro.ts +25 -0
- package/src/specs/hmac.nitro.ts +7 -0
- package/src/specs/keyObjectHandle.nitro.ts +56 -0
- package/src/specs/kmac.nitro.ts +12 -0
- package/src/specs/mlDsaKeyPair.nitro.ts +29 -0
- package/src/specs/mlKemKeyPair.nitro.ts +32 -0
- package/src/specs/pbkdf2.nitro.ts +18 -0
- package/src/specs/prime.nitro.ts +18 -0
- package/src/specs/random.nitro.ts +14 -0
- package/src/specs/rsaCipher.nitro.ts +82 -0
- package/src/specs/rsaKeyPair.nitro.ts +33 -0
- package/src/specs/scrypt.nitro.ts +23 -0
- package/src/specs/sign.nitro.ts +31 -0
- package/src/specs/slhDsaKeyPair.nitro.ts +29 -0
- package/src/specs/turboshake.nitro.ts +21 -0
- package/src/specs/utils.nitro.ts +5 -0
- package/src/specs/x509certificate.nitro.ts +38 -0
- package/src/subtle.ts +4545 -0
- package/src/utils/cipher.ts +82 -0
- package/src/utils/conversion.ts +285 -0
- package/src/utils/errors.ts +83 -0
- package/src/utils/hashnames.ts +129 -0
- package/src/utils/index.ts +7 -0
- package/src/utils/noble.ts +85 -0
- package/src/utils/timingSafeEqual.ts +28 -0
- package/src/utils/types.ts +617 -0
- package/src/utils/validation.ts +199 -0
- package/src/x509certificate.ts +276 -0
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
// polyfill imports
|
|
4
|
+
import { Buffer } from '@craftzdog/react-native-buffer';
|
|
5
|
+
import { toByteArray, fromByteArray } from 'react-native-quick-base64';
|
|
6
|
+
// API imports
|
|
7
|
+
import * as argon2Module from './argon2';
|
|
8
|
+
import * as keys from './keys';
|
|
9
|
+
import * as blake3 from './blake3';
|
|
10
|
+
import * as cipher from './cipher';
|
|
11
|
+
import * as ed from './ed';
|
|
12
|
+
import { hashExports as hash } from './hash';
|
|
13
|
+
import { hmacExports as hmac } from './hmac';
|
|
14
|
+
import * as hkdf from './hkdf';
|
|
15
|
+
import * as pbkdf2 from './pbkdf2';
|
|
16
|
+
import * as prime from './prime';
|
|
17
|
+
import * as scrypt from './scrypt';
|
|
18
|
+
import * as random from './random';
|
|
19
|
+
import * as ecdh from './ecdh';
|
|
20
|
+
import * as dh from './diffie-hellman';
|
|
21
|
+
import * as mlkem from './mlkem';
|
|
22
|
+
import { Certificate } from './certificate';
|
|
23
|
+
import { X509Certificate } from './x509certificate';
|
|
24
|
+
import { getCurves } from './ec';
|
|
25
|
+
import { constants } from './constants';
|
|
26
|
+
|
|
27
|
+
// utils import
|
|
28
|
+
import * as utils from './utils';
|
|
29
|
+
import * as subtle from './subtle';
|
|
30
|
+
|
|
31
|
+
/**
|
|
32
|
+
* Loosely matches Node.js {crypto} with some unimplemented functionality.
|
|
33
|
+
* See `docs/implementation-coverage.md` for status.
|
|
34
|
+
*/
|
|
35
|
+
const QuickCrypto = {
|
|
36
|
+
...argon2Module,
|
|
37
|
+
...keys,
|
|
38
|
+
...blake3,
|
|
39
|
+
...cipher,
|
|
40
|
+
...ed,
|
|
41
|
+
...hash,
|
|
42
|
+
...hmac,
|
|
43
|
+
...hkdf,
|
|
44
|
+
...pbkdf2,
|
|
45
|
+
...prime,
|
|
46
|
+
...scrypt,
|
|
47
|
+
...random,
|
|
48
|
+
...ecdh,
|
|
49
|
+
...dh,
|
|
50
|
+
...mlkem,
|
|
51
|
+
...utils,
|
|
52
|
+
...subtle,
|
|
53
|
+
Certificate,
|
|
54
|
+
X509Certificate,
|
|
55
|
+
getCurves,
|
|
56
|
+
constants,
|
|
57
|
+
Buffer
|
|
58
|
+
};
|
|
59
|
+
|
|
60
|
+
/**
|
|
61
|
+
* Optional. Patch global.crypto with react-native-quick-crypto and
|
|
62
|
+
* global.Buffer with react-native-buffer.
|
|
63
|
+
*/
|
|
64
|
+
export const install = () => {
|
|
65
|
+
// @ts-expect-error copyBytesFrom and poolSizets are missing from react-native-buffer
|
|
66
|
+
global.Buffer = Buffer;
|
|
67
|
+
|
|
68
|
+
// @ts-expect-error subtle isn't fully implemented and Cryptokey is missing
|
|
69
|
+
global.crypto = QuickCrypto;
|
|
70
|
+
|
|
71
|
+
// react-native-quick-base64 v3 no longer installs these globals on import.
|
|
72
|
+
global.base64ToArrayBuffer = (s, removeLinebreaks) => toByteArray(s, removeLinebreaks).buffer;
|
|
73
|
+
global.base64FromArrayBuffer = (b, urlSafe) => fromByteArray(new Uint8Array(b), urlSafe);
|
|
74
|
+
};
|
|
75
|
+
|
|
76
|
+
// random, cipher, hash use nextTick
|
|
77
|
+
if (global.process == null) {
|
|
78
|
+
// @ts-expect-error - process is not defined
|
|
79
|
+
global.process = {};
|
|
80
|
+
}
|
|
81
|
+
if (global.process.nextTick == null) {
|
|
82
|
+
global.process.nextTick = setImmediate;
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
// exports
|
|
86
|
+
export default QuickCrypto;
|
|
87
|
+
export * from './argon2';
|
|
88
|
+
export * from './blake3';
|
|
89
|
+
export { Certificate } from './certificate';
|
|
90
|
+
export { X509Certificate } from './x509certificate';
|
|
91
|
+
export * from './cipher';
|
|
92
|
+
export * from './ed';
|
|
93
|
+
export * from './keys';
|
|
94
|
+
export * from './hash';
|
|
95
|
+
export * from './hmac';
|
|
96
|
+
export * from './hkdf';
|
|
97
|
+
export * from './pbkdf2';
|
|
98
|
+
export * from './prime';
|
|
99
|
+
export * from './scrypt';
|
|
100
|
+
export * from './random';
|
|
101
|
+
export * from './ecdh';
|
|
102
|
+
export { getCurves } from './ec';
|
|
103
|
+
export * from './diffie-hellman';
|
|
104
|
+
export * from './mlkem';
|
|
105
|
+
export * from './utils';
|
|
106
|
+
export * from './subtle';
|
|
107
|
+
export { subtle, isCryptoKeyPair } from './subtle';
|
|
108
|
+
export { constants } from './constants';
|
|
109
|
+
export { Buffer } from '@craftzdog/react-native-buffer';
|
|
110
|
+
|
|
111
|
+
// Additional exports for CommonJS compatibility
|
|
112
|
+
module.exports = QuickCrypto;
|
|
113
|
+
module.exports.default = QuickCrypto;
|
|
114
|
+
module.exports.install = install;
|
|
115
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["Buffer","toByteArray","fromByteArray","argon2Module","keys","blake3","cipher","ed","hashExports","hash","hmacExports","hmac","hkdf","pbkdf2","prime","scrypt","random","ecdh","dh","mlkem","Certificate","X509Certificate","getCurves","constants","utils","subtle","QuickCrypto","install","global","crypto","base64ToArrayBuffer","s","removeLinebreaks","buffer","base64FromArrayBuffer","b","urlSafe","Uint8Array","process","nextTick","setImmediate","isCryptoKeyPair","module","exports","default"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,271 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { Buffer } from '@craftzdog/react-native-buffer';
|
|
4
|
+
import { NitroModules } from 'react-native-nitro-modules';
|
|
5
|
+
import { KeyType, getSortedUsages } from '../utils';
|
|
6
|
+
import { parsePrivateKeyEncoding, parsePublicKeyEncoding } from './utils';
|
|
7
|
+
export class CryptoKey {
|
|
8
|
+
get [Symbol.toStringTag]() {
|
|
9
|
+
return 'CryptoKey';
|
|
10
|
+
}
|
|
11
|
+
constructor(keyObject, keyAlgorithm, keyUsages, keyExtractable) {
|
|
12
|
+
this.keyObject = keyObject;
|
|
13
|
+
this.keyAlgorithm = keyAlgorithm;
|
|
14
|
+
// Frozen so external code can't mutate `key.usages` (per WebCrypto spec).
|
|
15
|
+
this.keyUsages = Object.freeze(getSortedUsages(keyUsages));
|
|
16
|
+
this.keyExtractable = keyExtractable;
|
|
17
|
+
}
|
|
18
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
19
|
+
inspect(_depth, _options) {
|
|
20
|
+
throw new Error('CryptoKey.inspect is not implemented');
|
|
21
|
+
// if (depth < 0) return this;
|
|
22
|
+
|
|
23
|
+
// const opts = {
|
|
24
|
+
// ...options,
|
|
25
|
+
// depth: options.depth == null ? null : options.depth - 1,
|
|
26
|
+
// };
|
|
27
|
+
|
|
28
|
+
// return `CryptoKey ${inspect(
|
|
29
|
+
// {
|
|
30
|
+
// type: this.type,
|
|
31
|
+
// extractable: this.extractable,
|
|
32
|
+
// algorithm: this.algorithm,
|
|
33
|
+
// usages: this.usages,
|
|
34
|
+
// },
|
|
35
|
+
// opts
|
|
36
|
+
// )}`;
|
|
37
|
+
}
|
|
38
|
+
get type() {
|
|
39
|
+
// if (!(this instanceof CryptoKey)) throw new Error('Invalid CryptoKey');
|
|
40
|
+
return this.keyObject.type;
|
|
41
|
+
}
|
|
42
|
+
get extractable() {
|
|
43
|
+
return this.keyExtractable;
|
|
44
|
+
}
|
|
45
|
+
get algorithm() {
|
|
46
|
+
return this.keyAlgorithm;
|
|
47
|
+
}
|
|
48
|
+
get usages() {
|
|
49
|
+
return this.keyUsages;
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
export class KeyObject {
|
|
53
|
+
get [Symbol.toStringTag]() {
|
|
54
|
+
return 'KeyObject';
|
|
55
|
+
}
|
|
56
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
57
|
+
export(_options) {
|
|
58
|
+
// This is a placeholder and should be overridden by subclasses.
|
|
59
|
+
throw new Error('export() must be implemented by subclasses');
|
|
60
|
+
}
|
|
61
|
+
equals(otherKeyObject) {
|
|
62
|
+
if (!(otherKeyObject instanceof KeyObject)) {
|
|
63
|
+
throw new TypeError('otherKeyObject must be a KeyObject');
|
|
64
|
+
}
|
|
65
|
+
return this.handle.keyEquals(otherKeyObject.handle);
|
|
66
|
+
}
|
|
67
|
+
constructor(type, handleOrKey) {
|
|
68
|
+
if (type !== 'secret' && type !== 'public' && type !== 'private') throw new Error(`invalid KeyObject type: ${type}`);
|
|
69
|
+
if (handleOrKey instanceof ArrayBuffer) {
|
|
70
|
+
this.handle = NitroModules.createHybridObject('KeyObjectHandle');
|
|
71
|
+
let keyType;
|
|
72
|
+
switch (type) {
|
|
73
|
+
case 'public':
|
|
74
|
+
keyType = KeyType.PUBLIC;
|
|
75
|
+
break;
|
|
76
|
+
case 'private':
|
|
77
|
+
keyType = KeyType.PRIVATE;
|
|
78
|
+
break;
|
|
79
|
+
case 'secret':
|
|
80
|
+
keyType = KeyType.SECRET;
|
|
81
|
+
break;
|
|
82
|
+
default:
|
|
83
|
+
// Should not happen
|
|
84
|
+
throw new Error('invalid key type');
|
|
85
|
+
}
|
|
86
|
+
this.handle.init(keyType, handleOrKey);
|
|
87
|
+
} else {
|
|
88
|
+
this.handle = handleOrKey;
|
|
89
|
+
}
|
|
90
|
+
this.type = type;
|
|
91
|
+
}
|
|
92
|
+
static from(key) {
|
|
93
|
+
if (!(key instanceof CryptoKey)) {
|
|
94
|
+
throw new TypeError(`The "key" argument must be an instance of CryptoKey. Received ${typeof key}`);
|
|
95
|
+
}
|
|
96
|
+
return key.keyObject;
|
|
97
|
+
}
|
|
98
|
+
toCryptoKey(algorithm, extractable, keyUsages) {
|
|
99
|
+
return new CryptoKey(this, algorithm, keyUsages, extractable);
|
|
100
|
+
}
|
|
101
|
+
static createKeyObject(type, key, format, encoding, passphrase) {
|
|
102
|
+
if (type !== 'secret' && type !== 'public' && type !== 'private') throw new Error(`invalid KeyObject type: ${type}`);
|
|
103
|
+
const handle = NitroModules.createHybridObject('KeyObjectHandle');
|
|
104
|
+
let keyType;
|
|
105
|
+
switch (type) {
|
|
106
|
+
case 'public':
|
|
107
|
+
keyType = KeyType.PUBLIC;
|
|
108
|
+
break;
|
|
109
|
+
case 'private':
|
|
110
|
+
keyType = KeyType.PRIVATE;
|
|
111
|
+
break;
|
|
112
|
+
case 'secret':
|
|
113
|
+
keyType = KeyType.SECRET;
|
|
114
|
+
break;
|
|
115
|
+
default:
|
|
116
|
+
throw new Error('invalid key type');
|
|
117
|
+
}
|
|
118
|
+
handle.init(keyType, key, format, encoding, passphrase);
|
|
119
|
+
|
|
120
|
+
// For asymmetric keys, return the appropriate subclass
|
|
121
|
+
if (type === 'public' || type === 'private') {
|
|
122
|
+
try {
|
|
123
|
+
handle.getAsymmetricKeyType();
|
|
124
|
+
// If we get here, it's an asymmetric key - return the appropriate subclass
|
|
125
|
+
if (type === 'public') {
|
|
126
|
+
return new PublicKeyObject(handle);
|
|
127
|
+
} else {
|
|
128
|
+
return new PrivateKeyObject(handle);
|
|
129
|
+
}
|
|
130
|
+
} catch {
|
|
131
|
+
// Not an asymmetric key, fall through to regular KeyObject
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
|
|
135
|
+
// For secret keys, return SecretKeyObject
|
|
136
|
+
if (type === 'secret') {
|
|
137
|
+
return new SecretKeyObject(handle);
|
|
138
|
+
}
|
|
139
|
+
|
|
140
|
+
// Return regular KeyObject for symmetric keys or if asymmetric detection failed
|
|
141
|
+
return new KeyObject(type, handle);
|
|
142
|
+
}
|
|
143
|
+
getAsymmetricKeyType() {
|
|
144
|
+
return undefined;
|
|
145
|
+
}
|
|
146
|
+
getAsymmetricKeyDetails() {
|
|
147
|
+
return undefined;
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
export class SecretKeyObject extends KeyObject {
|
|
151
|
+
constructor(handle) {
|
|
152
|
+
super('secret', handle);
|
|
153
|
+
}
|
|
154
|
+
get symmetricKeySize() {
|
|
155
|
+
return this.handle.getSymmetricKeySize();
|
|
156
|
+
}
|
|
157
|
+
export(options) {
|
|
158
|
+
if (options?.format === 'pem' || options?.format === 'jwk') {
|
|
159
|
+
throw new Error(`SecretKey export for ${options.format} is not supported`);
|
|
160
|
+
}
|
|
161
|
+
const key = this.handle.exportKey();
|
|
162
|
+
return Buffer.from(key);
|
|
163
|
+
}
|
|
164
|
+
}
|
|
165
|
+
|
|
166
|
+
// const kAsymmetricKeyType = Symbol('kAsymmetricKeyType');
|
|
167
|
+
// const kAsymmetricKeyDetails = Symbol('kAsymmetricKeyDetails');
|
|
168
|
+
|
|
169
|
+
// function normalizeKeyDetails(details = {}) {
|
|
170
|
+
// if (details.publicExponent !== undefined) {
|
|
171
|
+
// return {
|
|
172
|
+
// ...details,
|
|
173
|
+
// publicExponent: bigIntArrayToUnsignedBigInt(
|
|
174
|
+
// new Uint8Array(details.publicExponent)
|
|
175
|
+
// ),
|
|
176
|
+
// };
|
|
177
|
+
// }
|
|
178
|
+
// return details;
|
|
179
|
+
// }
|
|
180
|
+
|
|
181
|
+
export class AsymmetricKeyObject extends KeyObject {
|
|
182
|
+
constructor(type, handle) {
|
|
183
|
+
super(type, handle);
|
|
184
|
+
}
|
|
185
|
+
get asymmetricKeyType() {
|
|
186
|
+
if (!this._asymmetricKeyType) {
|
|
187
|
+
this._asymmetricKeyType = this.handle.getAsymmetricKeyType();
|
|
188
|
+
}
|
|
189
|
+
return this._asymmetricKeyType;
|
|
190
|
+
}
|
|
191
|
+
get asymmetricKeyDetails() {
|
|
192
|
+
if (!this._asymmetricKeyDetails) {
|
|
193
|
+
this._asymmetricKeyDetails = this.handle.keyDetail();
|
|
194
|
+
}
|
|
195
|
+
return this._asymmetricKeyDetails;
|
|
196
|
+
}
|
|
197
|
+
get namedCurve() {
|
|
198
|
+
return this.asymmetricKeyDetails?.namedCurve;
|
|
199
|
+
}
|
|
200
|
+
}
|
|
201
|
+
export class PublicKeyObject extends AsymmetricKeyObject {
|
|
202
|
+
constructor(handle) {
|
|
203
|
+
super('public', handle);
|
|
204
|
+
}
|
|
205
|
+
export(options) {
|
|
206
|
+
if (options?.format === 'jwk') {
|
|
207
|
+
return this.handle.exportJwk({}, false);
|
|
208
|
+
}
|
|
209
|
+
if (options?.format === 'raw-public') {
|
|
210
|
+
if (this.asymmetricKeyType === 'ec') {
|
|
211
|
+
const pointType = options.type ?? 'uncompressed';
|
|
212
|
+
if (pointType !== 'compressed' && pointType !== 'uncompressed') {
|
|
213
|
+
throw new Error(`Invalid options.type for raw-public EC export: ${pointType}`);
|
|
214
|
+
}
|
|
215
|
+
return Buffer.from(this.handle.exportECPublicRaw(pointType === 'compressed'));
|
|
216
|
+
}
|
|
217
|
+
return Buffer.from(this.handle.exportRawPublic());
|
|
218
|
+
}
|
|
219
|
+
const {
|
|
220
|
+
format,
|
|
221
|
+
type
|
|
222
|
+
} = parsePublicKeyEncoding(options, this.asymmetricKeyType);
|
|
223
|
+
if (typeof format !== 'number') {
|
|
224
|
+
throw new Error(`Unexpected format ${format} after raw-format dispatch`);
|
|
225
|
+
}
|
|
226
|
+
const key = this.handle.exportKey(format, typeof type === 'string' ? undefined : type);
|
|
227
|
+
const buffer = Buffer.from(key);
|
|
228
|
+
if (options?.format === 'pem') {
|
|
229
|
+
return buffer.toString('utf-8');
|
|
230
|
+
}
|
|
231
|
+
return buffer;
|
|
232
|
+
}
|
|
233
|
+
}
|
|
234
|
+
export class PrivateKeyObject extends AsymmetricKeyObject {
|
|
235
|
+
constructor(handle) {
|
|
236
|
+
super('private', handle);
|
|
237
|
+
}
|
|
238
|
+
export(options) {
|
|
239
|
+
if (options?.format === 'jwk') {
|
|
240
|
+
if (options.passphrase !== undefined) {
|
|
241
|
+
throw new Error('jwk does not support encryption');
|
|
242
|
+
}
|
|
243
|
+
return this.handle.exportJwk({}, false);
|
|
244
|
+
}
|
|
245
|
+
if (options?.format === 'raw-private') {
|
|
246
|
+
if (this.asymmetricKeyType === 'ec') {
|
|
247
|
+
return Buffer.from(this.handle.exportECPrivateRaw());
|
|
248
|
+
}
|
|
249
|
+
return Buffer.from(this.handle.exportRawPrivate());
|
|
250
|
+
}
|
|
251
|
+
if (options?.format === 'raw-seed') {
|
|
252
|
+
return Buffer.from(this.handle.exportRawSeed());
|
|
253
|
+
}
|
|
254
|
+
const {
|
|
255
|
+
format,
|
|
256
|
+
type,
|
|
257
|
+
cipher,
|
|
258
|
+
passphrase
|
|
259
|
+
} = parsePrivateKeyEncoding(options, this.asymmetricKeyType);
|
|
260
|
+
if (typeof format !== 'number') {
|
|
261
|
+
throw new Error(`Unexpected format ${format} after raw-format dispatch`);
|
|
262
|
+
}
|
|
263
|
+
const key = this.handle.exportKey(format, typeof type === 'string' ? undefined : type, cipher, passphrase);
|
|
264
|
+
const buffer = Buffer.from(key);
|
|
265
|
+
if (options?.format === 'pem') {
|
|
266
|
+
return buffer.toString('utf-8');
|
|
267
|
+
}
|
|
268
|
+
return buffer;
|
|
269
|
+
}
|
|
270
|
+
}
|
|
271
|
+
//# sourceMappingURL=classes.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["Buffer","NitroModules","KeyType","getSortedUsages","parsePrivateKeyEncoding","parsePublicKeyEncoding","CryptoKey","Symbol","toStringTag","constructor","keyObject","keyAlgorithm","keyUsages","keyExtractable","Object","freeze","inspect","_depth","_options","Error","type","extractable","algorithm","usages","KeyObject","export","equals","otherKeyObject","TypeError","handle","keyEquals","handleOrKey","ArrayBuffer","createHybridObject","keyType","PUBLIC","PRIVATE","SECRET","init","from","key","toCryptoKey","createKeyObject","format","encoding","passphrase","getAsymmetricKeyType","PublicKeyObject","PrivateKeyObject","SecretKeyObject","undefined","getAsymmetricKeyDetails","symmetricKeySize","getSymmetricKeySize","options","exportKey","AsymmetricKeyObject","asymmetricKeyType","_asymmetricKeyType","asymmetricKeyDetails","_asymmetricKeyDetails","keyDetail","namedCurve","exportJwk","pointType","exportECPublicRaw","exportRawPublic","buffer","toString","exportECPrivateRaw","exportRawPrivate","exportRawSeed","cipher"],"sourceRoot":"../../../src","sources":["keys/classes.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,231 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { ed_generateKeyPair } from '../ed';
|
|
4
|
+
import { Buffer } from '@craftzdog/react-native-buffer';
|
|
5
|
+
import { rsa_generateKeyPairNode, rsa_generateKeyPairNodeSync } from '../rsa';
|
|
6
|
+
import { ec_generateKeyPairNode, ec_generateKeyPairNodeSync } from '../ec';
|
|
7
|
+
import { dsa_generateKeyPairNode, dsa_generateKeyPairNodeSync } from '../dsa';
|
|
8
|
+
import { dh_generateKeyPairNode, dh_generateKeyPairNodeSync } from '../dhKeyPair';
|
|
9
|
+
import { SlhDsa } from '../slhdsa';
|
|
10
|
+
import { kEmptyObject, validateFunction, KFormatType, KeyEncoding } from '../utils';
|
|
11
|
+
import { KeyObject } from './classes';
|
|
12
|
+
import { parsePrivateKeyEncoding, parsePublicKeyEncoding } from './utils';
|
|
13
|
+
const SLH_DSA_TYPE_TO_VARIANT = {
|
|
14
|
+
'slh-dsa-sha2-128s': 'SLH-DSA-SHA2-128s',
|
|
15
|
+
'slh-dsa-sha2-128f': 'SLH-DSA-SHA2-128f',
|
|
16
|
+
'slh-dsa-sha2-192s': 'SLH-DSA-SHA2-192s',
|
|
17
|
+
'slh-dsa-sha2-192f': 'SLH-DSA-SHA2-192f',
|
|
18
|
+
'slh-dsa-sha2-256s': 'SLH-DSA-SHA2-256s',
|
|
19
|
+
'slh-dsa-sha2-256f': 'SLH-DSA-SHA2-256f',
|
|
20
|
+
'slh-dsa-shake-128s': 'SLH-DSA-SHAKE-128s',
|
|
21
|
+
'slh-dsa-shake-128f': 'SLH-DSA-SHAKE-128f',
|
|
22
|
+
'slh-dsa-shake-192s': 'SLH-DSA-SHAKE-192s',
|
|
23
|
+
'slh-dsa-shake-192f': 'SLH-DSA-SHAKE-192f',
|
|
24
|
+
'slh-dsa-shake-256s': 'SLH-DSA-SHAKE-256s',
|
|
25
|
+
'slh-dsa-shake-256f': 'SLH-DSA-SHAKE-256f'
|
|
26
|
+
};
|
|
27
|
+
function isSlhDsaType(type) {
|
|
28
|
+
return type in SLH_DSA_TYPE_TO_VARIANT;
|
|
29
|
+
}
|
|
30
|
+
function slhDsaFormatKeyPairOutput(slhdsa, encoding) {
|
|
31
|
+
const {
|
|
32
|
+
publicFormat,
|
|
33
|
+
privateFormat,
|
|
34
|
+
cipher,
|
|
35
|
+
passphrase
|
|
36
|
+
} = encoding;
|
|
37
|
+
const publicKey = KeyObject.createKeyObject('public', slhdsa.getPublicKey(), KFormatType.DER, KeyEncoding.SPKI);
|
|
38
|
+
const privateKey = KeyObject.createKeyObject('private', slhdsa.getPrivateKey(), KFormatType.DER, KeyEncoding.PKCS8);
|
|
39
|
+
let publicKeyOutput;
|
|
40
|
+
let privateKeyOutput;
|
|
41
|
+
if (publicFormat === -1) {
|
|
42
|
+
publicKeyOutput = publicKey;
|
|
43
|
+
} else if (publicFormat === 'raw-public') {
|
|
44
|
+
publicKeyOutput = Buffer.from(publicKey.handle.exportRawPublic());
|
|
45
|
+
} else {
|
|
46
|
+
const format = publicFormat === KFormatType.PEM ? KFormatType.PEM : KFormatType.DER;
|
|
47
|
+
const exported = publicKey.handle.exportKey(format, KeyEncoding.SPKI);
|
|
48
|
+
if (format === KFormatType.PEM) {
|
|
49
|
+
publicKeyOutput = Buffer.from(new Uint8Array(exported)).toString('utf-8');
|
|
50
|
+
} else {
|
|
51
|
+
publicKeyOutput = exported;
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
if (privateFormat === -1) {
|
|
55
|
+
privateKeyOutput = privateKey;
|
|
56
|
+
} else if (privateFormat === 'raw-private') {
|
|
57
|
+
privateKeyOutput = Buffer.from(privateKey.handle.exportRawPrivate());
|
|
58
|
+
} else if (privateFormat === 'raw-seed') {
|
|
59
|
+
privateKeyOutput = Buffer.from(privateKey.handle.exportRawSeed());
|
|
60
|
+
} else {
|
|
61
|
+
const format = privateFormat === KFormatType.PEM ? KFormatType.PEM : KFormatType.DER;
|
|
62
|
+
const exported = privateKey.handle.exportKey(format, KeyEncoding.PKCS8, cipher, passphrase);
|
|
63
|
+
if (format === KFormatType.PEM) {
|
|
64
|
+
privateKeyOutput = Buffer.from(new Uint8Array(exported)).toString('utf-8');
|
|
65
|
+
} else {
|
|
66
|
+
privateKeyOutput = exported;
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
return {
|
|
70
|
+
publicKey: publicKeyOutput,
|
|
71
|
+
privateKey: privateKeyOutput
|
|
72
|
+
};
|
|
73
|
+
}
|
|
74
|
+
function slhDsaGenerateKeyPairNodeSync(type, encoding) {
|
|
75
|
+
const slhdsa = new SlhDsa(SLH_DSA_TYPE_TO_VARIANT[type]);
|
|
76
|
+
slhdsa.generateKeyPairSync();
|
|
77
|
+
return slhDsaFormatKeyPairOutput(slhdsa, encoding);
|
|
78
|
+
}
|
|
79
|
+
async function slhDsaGenerateKeyPairNode(type, encoding) {
|
|
80
|
+
const slhdsa = new SlhDsa(SLH_DSA_TYPE_TO_VARIANT[type]);
|
|
81
|
+
await slhdsa.generateKeyPair();
|
|
82
|
+
return slhDsaFormatKeyPairOutput(slhdsa, encoding);
|
|
83
|
+
}
|
|
84
|
+
export const generateKeyPair = (type, options, callback) => {
|
|
85
|
+
validateFunction(callback);
|
|
86
|
+
internalGenerateKeyPair(true, type, options, callback);
|
|
87
|
+
};
|
|
88
|
+
|
|
89
|
+
// Promisify generateKeyPair
|
|
90
|
+
// (attempted to use util.promisify, to no avail)
|
|
91
|
+
export const generateKeyPairPromise = (type, options) => {
|
|
92
|
+
return new Promise((resolve, reject) => {
|
|
93
|
+
generateKeyPair(type, options, (err, publicKey, privateKey) => {
|
|
94
|
+
if (err) {
|
|
95
|
+
reject([err, undefined]);
|
|
96
|
+
} else {
|
|
97
|
+
resolve([undefined, {
|
|
98
|
+
publicKey,
|
|
99
|
+
privateKey
|
|
100
|
+
}]);
|
|
101
|
+
}
|
|
102
|
+
});
|
|
103
|
+
});
|
|
104
|
+
};
|
|
105
|
+
|
|
106
|
+
// generateKeyPairSync
|
|
107
|
+
|
|
108
|
+
export function generateKeyPairSync(type, options) {
|
|
109
|
+
const [err, publicKey, privateKey] = internalGenerateKeyPair(false, type, options, undefined);
|
|
110
|
+
if (err) {
|
|
111
|
+
throw err;
|
|
112
|
+
}
|
|
113
|
+
return {
|
|
114
|
+
publicKey,
|
|
115
|
+
privateKey
|
|
116
|
+
};
|
|
117
|
+
}
|
|
118
|
+
function parseKeyPairEncoding(keyType, options = kEmptyObject) {
|
|
119
|
+
const {
|
|
120
|
+
publicKeyEncoding,
|
|
121
|
+
privateKeyEncoding
|
|
122
|
+
} = options;
|
|
123
|
+
let publicFormat, publicType;
|
|
124
|
+
if (publicKeyEncoding == null) {
|
|
125
|
+
publicFormat = publicType = -1;
|
|
126
|
+
} else if (typeof publicKeyEncoding === 'object') {
|
|
127
|
+
({
|
|
128
|
+
format: publicFormat,
|
|
129
|
+
type: publicType
|
|
130
|
+
} = parsePublicKeyEncoding(publicKeyEncoding, keyType, 'publicKeyEncoding'));
|
|
131
|
+
} else {
|
|
132
|
+
throw new Error('Invalid argument options.publicKeyEncoding', publicKeyEncoding);
|
|
133
|
+
}
|
|
134
|
+
let privateFormat, privateType, cipher, passphrase;
|
|
135
|
+
if (privateKeyEncoding == null) {
|
|
136
|
+
privateFormat = privateType = -1;
|
|
137
|
+
} else if (typeof privateKeyEncoding === 'object') {
|
|
138
|
+
({
|
|
139
|
+
format: privateFormat,
|
|
140
|
+
type: privateType,
|
|
141
|
+
cipher,
|
|
142
|
+
passphrase
|
|
143
|
+
} = parsePrivateKeyEncoding(privateKeyEncoding, keyType, 'privateKeyEncoding'));
|
|
144
|
+
} else {
|
|
145
|
+
throw new Error('Invalid argument options.privateKeyEncoding', publicKeyEncoding);
|
|
146
|
+
}
|
|
147
|
+
return {
|
|
148
|
+
publicFormat: publicFormat,
|
|
149
|
+
publicType: publicType,
|
|
150
|
+
privateFormat: privateFormat,
|
|
151
|
+
privateType: privateType,
|
|
152
|
+
cipher,
|
|
153
|
+
passphrase
|
|
154
|
+
};
|
|
155
|
+
}
|
|
156
|
+
function internalGenerateKeyPair(isAsync, type, options, callback) {
|
|
157
|
+
const encoding = parseKeyPairEncoding(type, options);
|
|
158
|
+
switch (type) {
|
|
159
|
+
case 'ed25519':
|
|
160
|
+
case 'ed448':
|
|
161
|
+
case 'x25519':
|
|
162
|
+
case 'x448':
|
|
163
|
+
return ed_generateKeyPair(isAsync, type, encoding, callback);
|
|
164
|
+
case 'rsa':
|
|
165
|
+
case 'rsa-pss':
|
|
166
|
+
case 'dsa':
|
|
167
|
+
case 'ec':
|
|
168
|
+
case 'dh':
|
|
169
|
+
break;
|
|
170
|
+
default:
|
|
171
|
+
{
|
|
172
|
+
if (isSlhDsaType(type)) {
|
|
173
|
+
break;
|
|
174
|
+
}
|
|
175
|
+
const err = new Error(`
|
|
176
|
+
Invalid Argument options: '${type}' scheme not supported for
|
|
177
|
+
generateKeyPair(). Currently not all encryption methods are supported in
|
|
178
|
+
this library. Check docs/implementation_coverage.md for status.
|
|
179
|
+
`);
|
|
180
|
+
return [err, undefined, undefined];
|
|
181
|
+
}
|
|
182
|
+
}
|
|
183
|
+
if (isAsync) {
|
|
184
|
+
const impl = async () => {
|
|
185
|
+
try {
|
|
186
|
+
let result;
|
|
187
|
+
if (type === 'rsa' || type === 'rsa-pss') {
|
|
188
|
+
result = await rsa_generateKeyPairNode(type, options, encoding);
|
|
189
|
+
} else if (type === 'ec') {
|
|
190
|
+
result = await ec_generateKeyPairNode(options, encoding);
|
|
191
|
+
} else if (type === 'dsa') {
|
|
192
|
+
result = await dsa_generateKeyPairNode(options, encoding);
|
|
193
|
+
} else if (type === 'dh') {
|
|
194
|
+
result = await dh_generateKeyPairNode(options, encoding);
|
|
195
|
+
} else if (isSlhDsaType(type)) {
|
|
196
|
+
result = await slhDsaGenerateKeyPairNode(type, encoding);
|
|
197
|
+
} else {
|
|
198
|
+
throw new Error(`Unsupported key type: ${type}`);
|
|
199
|
+
}
|
|
200
|
+
return [undefined, result.publicKey, result.privateKey];
|
|
201
|
+
} catch (error) {
|
|
202
|
+
return [error, undefined, undefined];
|
|
203
|
+
}
|
|
204
|
+
};
|
|
205
|
+
impl().then(result => {
|
|
206
|
+
const [err, publicKey, privateKey] = result;
|
|
207
|
+
callback(err, publicKey, privateKey);
|
|
208
|
+
});
|
|
209
|
+
return;
|
|
210
|
+
}
|
|
211
|
+
try {
|
|
212
|
+
let result;
|
|
213
|
+
if (type === 'rsa' || type === 'rsa-pss') {
|
|
214
|
+
result = rsa_generateKeyPairNodeSync(type, options, encoding);
|
|
215
|
+
} else if (type === 'ec') {
|
|
216
|
+
result = ec_generateKeyPairNodeSync(options, encoding);
|
|
217
|
+
} else if (type === 'dsa') {
|
|
218
|
+
result = dsa_generateKeyPairNodeSync(options, encoding);
|
|
219
|
+
} else if (type === 'dh') {
|
|
220
|
+
result = dh_generateKeyPairNodeSync(options, encoding);
|
|
221
|
+
} else if (isSlhDsaType(type)) {
|
|
222
|
+
result = slhDsaGenerateKeyPairNodeSync(type, encoding);
|
|
223
|
+
} else {
|
|
224
|
+
throw new Error(`Unsupported key type: ${type}`);
|
|
225
|
+
}
|
|
226
|
+
return [undefined, result.publicKey, result.privateKey];
|
|
227
|
+
} catch (error) {
|
|
228
|
+
return [error, undefined, undefined];
|
|
229
|
+
}
|
|
230
|
+
}
|
|
231
|
+
//# sourceMappingURL=generateKeyPair.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["ed_generateKeyPair","Buffer","rsa_generateKeyPairNode","rsa_generateKeyPairNodeSync","ec_generateKeyPairNode","ec_generateKeyPairNodeSync","dsa_generateKeyPairNode","dsa_generateKeyPairNodeSync","dh_generateKeyPairNode","dh_generateKeyPairNodeSync","SlhDsa","kEmptyObject","validateFunction","KFormatType","KeyEncoding","KeyObject","parsePrivateKeyEncoding","parsePublicKeyEncoding","SLH_DSA_TYPE_TO_VARIANT","isSlhDsaType","type","slhDsaFormatKeyPairOutput","slhdsa","encoding","publicFormat","privateFormat","cipher","passphrase","publicKey","createKeyObject","getPublicKey","DER","SPKI","privateKey","getPrivateKey","PKCS8","publicKeyOutput","privateKeyOutput","from","handle","exportRawPublic","format","PEM","exported","exportKey","Uint8Array","toString","exportRawPrivate","exportRawSeed","slhDsaGenerateKeyPairNodeSync","generateKeyPairSync","slhDsaGenerateKeyPairNode","generateKeyPair","options","callback","internalGenerateKeyPair","generateKeyPairPromise","Promise","resolve","reject","err","undefined","parseKeyPairEncoding","keyType","publicKeyEncoding","privateKeyEncoding","publicType","Error","privateType","isAsync","impl","result","error","then"],"sourceRoot":"../../../src","sources":["keys/generateKeyPair.ts"],"mappings":"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","ignoreList":[]}
|