react-native-quick-crypto 1.0.0-beta.20 → 1.0.0-beta.22

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.
Files changed (913) hide show
  1. package/QuickCrypto.podspec +81 -8
  2. package/android/CMakeLists.txt +33 -1
  3. package/cpp/blake3/HybridBlake3.cpp +118 -0
  4. package/cpp/blake3/HybridBlake3.hpp +35 -0
  5. package/cpp/cipher/GCMCipher.cpp +68 -0
  6. package/cpp/cipher/GCMCipher.hpp +14 -0
  7. package/cpp/cipher/HybridCipherFactory.hpp +13 -0
  8. package/cpp/cipher/HybridRsaCipher.cpp +229 -0
  9. package/cpp/cipher/HybridRsaCipher.hpp +23 -0
  10. package/cpp/ec/HybridEcKeyPair.cpp +428 -0
  11. package/cpp/ec/HybridEcKeyPair.hpp +48 -0
  12. package/cpp/ed25519/HybridEdKeyPair.cpp +78 -4
  13. package/cpp/ed25519/HybridEdKeyPair.hpp +9 -2
  14. package/cpp/hash/HybridHash.cpp +37 -3
  15. package/cpp/hash/HybridHash.hpp +5 -3
  16. package/cpp/keys/HybridKeyObjectHandle.cpp +742 -0
  17. package/cpp/keys/HybridKeyObjectHandle.hpp +51 -0
  18. package/cpp/keys/KeyObjectData.cpp +226 -0
  19. package/cpp/keys/KeyObjectData.hpp +71 -0
  20. package/cpp/keys/node.h +5 -0
  21. package/cpp/rsa/HybridRsaKeyPair.cpp +154 -0
  22. package/cpp/rsa/HybridRsaKeyPair.hpp +43 -0
  23. package/cpp/utils/Macros.hpp +68 -0
  24. package/cpp/utils/Utils.hpp +27 -0
  25. package/cpp/utils/base64.h +309 -0
  26. package/deps/blake3/.cargo/config.toml +2 -0
  27. package/deps/blake3/.git-blame-ignore-revs +2 -0
  28. package/deps/blake3/.github/workflows/build_b3sum.py +38 -0
  29. package/deps/blake3/.github/workflows/ci.yml +491 -0
  30. package/deps/blake3/.github/workflows/tag.yml +43 -0
  31. package/deps/blake3/.github/workflows/upload_github_release_asset.py +73 -0
  32. package/deps/blake3/CONTRIBUTING.md +31 -0
  33. package/deps/blake3/Cargo.toml +135 -0
  34. package/deps/blake3/LICENSE_A2 +202 -0
  35. package/deps/blake3/LICENSE_A2LLVM +219 -0
  36. package/deps/blake3/LICENSE_CC0 +121 -0
  37. package/deps/blake3/README.md +229 -0
  38. package/deps/blake3/b3sum/Cargo.lock +513 -0
  39. package/deps/blake3/b3sum/Cargo.toml +26 -0
  40. package/deps/blake3/b3sum/README.md +72 -0
  41. package/deps/blake3/b3sum/src/main.rs +564 -0
  42. package/deps/blake3/b3sum/src/unit_tests.rs +235 -0
  43. package/deps/blake3/b3sum/tests/cli_tests.rs +680 -0
  44. package/deps/blake3/b3sum/what_does_check_do.md +176 -0
  45. package/deps/blake3/benches/bench.rs +623 -0
  46. package/deps/blake3/build.rs +389 -0
  47. package/deps/blake3/c/CMakeLists.txt +383 -0
  48. package/deps/blake3/c/CMakePresets.json +73 -0
  49. package/deps/blake3/c/Makefile.testing +82 -0
  50. package/deps/blake3/c/README.md +403 -0
  51. package/deps/blake3/c/blake3-config.cmake.in +14 -0
  52. package/deps/blake3/c/blake3.c +650 -0
  53. package/deps/blake3/c/blake3.h +86 -0
  54. package/deps/blake3/c/blake3_avx2.c +326 -0
  55. package/deps/blake3/c/blake3_avx2_x86-64_unix.S +1815 -0
  56. package/deps/blake3/c/blake3_avx2_x86-64_windows_gnu.S +1817 -0
  57. package/deps/blake3/c/blake3_avx2_x86-64_windows_msvc.asm +1828 -0
  58. package/deps/blake3/c/blake3_avx512.c +1388 -0
  59. package/deps/blake3/c/blake3_avx512_x86-64_unix.S +4824 -0
  60. package/deps/blake3/c/blake3_avx512_x86-64_windows_gnu.S +2615 -0
  61. package/deps/blake3/c/blake3_avx512_x86-64_windows_msvc.asm +2634 -0
  62. package/deps/blake3/c/blake3_c_rust_bindings/Cargo.toml +32 -0
  63. package/deps/blake3/c/blake3_c_rust_bindings/README.md +4 -0
  64. package/deps/blake3/c/blake3_c_rust_bindings/benches/bench.rs +477 -0
  65. package/deps/blake3/c/blake3_c_rust_bindings/build.rs +253 -0
  66. package/deps/blake3/c/blake3_c_rust_bindings/cross_test.sh +31 -0
  67. package/deps/blake3/c/blake3_c_rust_bindings/src/lib.rs +333 -0
  68. package/deps/blake3/c/blake3_c_rust_bindings/src/test.rs +696 -0
  69. package/deps/blake3/c/blake3_dispatch.c +332 -0
  70. package/deps/blake3/c/blake3_impl.h +333 -0
  71. package/deps/blake3/c/blake3_neon.c +366 -0
  72. package/deps/blake3/c/blake3_portable.c +160 -0
  73. package/deps/blake3/c/blake3_sse2.c +566 -0
  74. package/deps/blake3/c/blake3_sse2_x86-64_unix.S +2291 -0
  75. package/deps/blake3/c/blake3_sse2_x86-64_windows_gnu.S +2332 -0
  76. package/deps/blake3/c/blake3_sse2_x86-64_windows_msvc.asm +2350 -0
  77. package/deps/blake3/c/blake3_sse41.c +560 -0
  78. package/deps/blake3/c/blake3_sse41_x86-64_unix.S +2028 -0
  79. package/deps/blake3/c/blake3_sse41_x86-64_windows_gnu.S +2069 -0
  80. package/deps/blake3/c/blake3_sse41_x86-64_windows_msvc.asm +2089 -0
  81. package/deps/blake3/c/blake3_tbb.cpp +37 -0
  82. package/deps/blake3/c/dependencies/CMakeLists.txt +3 -0
  83. package/deps/blake3/c/dependencies/tbb/CMakeLists.txt +28 -0
  84. package/deps/blake3/c/example.c +36 -0
  85. package/deps/blake3/c/example_tbb.c +57 -0
  86. package/deps/blake3/c/libblake3.pc.in +12 -0
  87. package/deps/blake3/c/main.c +166 -0
  88. package/deps/blake3/c/test.py +97 -0
  89. package/deps/blake3/media/B3.svg +70 -0
  90. package/deps/blake3/media/BLAKE3.svg +85 -0
  91. package/deps/blake3/media/speed.svg +1474 -0
  92. package/deps/blake3/reference_impl/Cargo.toml +8 -0
  93. package/deps/blake3/reference_impl/README.md +14 -0
  94. package/deps/blake3/reference_impl/reference_impl.rs +374 -0
  95. package/deps/blake3/src/ffi_avx2.rs +65 -0
  96. package/deps/blake3/src/ffi_avx512.rs +169 -0
  97. package/deps/blake3/src/ffi_neon.rs +82 -0
  98. package/deps/blake3/src/ffi_sse2.rs +126 -0
  99. package/deps/blake3/src/ffi_sse41.rs +126 -0
  100. package/deps/blake3/src/guts.rs +60 -0
  101. package/deps/blake3/src/hazmat.rs +704 -0
  102. package/deps/blake3/src/io.rs +64 -0
  103. package/deps/blake3/src/join.rs +92 -0
  104. package/deps/blake3/src/lib.rs +1835 -0
  105. package/deps/blake3/src/platform.rs +587 -0
  106. package/deps/blake3/src/portable.rs +198 -0
  107. package/deps/blake3/src/rust_avx2.rs +474 -0
  108. package/deps/blake3/src/rust_sse2.rs +775 -0
  109. package/deps/blake3/src/rust_sse41.rs +766 -0
  110. package/deps/blake3/src/test.rs +1049 -0
  111. package/deps/blake3/src/traits.rs +227 -0
  112. package/deps/blake3/src/wasm32_simd.rs +794 -0
  113. package/deps/blake3/test_vectors/Cargo.toml +19 -0
  114. package/deps/blake3/test_vectors/cross_test.sh +25 -0
  115. package/deps/blake3/test_vectors/src/bin/generate.rs +4 -0
  116. package/deps/blake3/test_vectors/src/lib.rs +350 -0
  117. package/deps/blake3/test_vectors/test_vectors.json +217 -0
  118. package/deps/blake3/tools/compiler_version/Cargo.toml +7 -0
  119. package/deps/blake3/tools/compiler_version/build.rs +6 -0
  120. package/deps/blake3/tools/compiler_version/src/main.rs +27 -0
  121. package/deps/blake3/tools/instruction_set_support/Cargo.toml +6 -0
  122. package/deps/blake3/tools/instruction_set_support/src/main.rs +10 -0
  123. package/deps/blake3/tools/release.md +16 -0
  124. package/deps/ncrypto/ncrypto.cc +4679 -0
  125. package/deps/ncrypto/ncrypto.h +1625 -0
  126. package/lib/commonjs/blake3.js +98 -0
  127. package/lib/commonjs/blake3.js.map +1 -0
  128. package/lib/commonjs/ec.js +412 -0
  129. package/lib/commonjs/ec.js.map +1 -0
  130. package/lib/commonjs/ed.js +143 -0
  131. package/lib/commonjs/ed.js.map +1 -1
  132. package/lib/commonjs/expo-plugin/withXCode.js +3 -3
  133. package/lib/commonjs/hash.js +48 -1
  134. package/lib/commonjs/hash.js.map +1 -1
  135. package/lib/commonjs/index.js +54 -4
  136. package/lib/commonjs/index.js.map +1 -1
  137. package/lib/commonjs/keys/classes.js +111 -52
  138. package/lib/commonjs/keys/classes.js.map +1 -1
  139. package/lib/commonjs/keys/generateKeyPair.js +98 -144
  140. package/lib/commonjs/keys/generateKeyPair.js.map +1 -1
  141. package/lib/commonjs/keys/index.js +27 -0
  142. package/lib/commonjs/keys/index.js.map +1 -1
  143. package/lib/commonjs/keys/utils.js +18 -13
  144. package/lib/commonjs/keys/utils.js.map +1 -1
  145. package/lib/commonjs/rsa.js +129 -0
  146. package/lib/commonjs/rsa.js.map +1 -0
  147. package/lib/commonjs/specs/blake3.nitro.js +6 -0
  148. package/lib/commonjs/specs/blake3.nitro.js.map +1 -0
  149. package/lib/commonjs/specs/ecKeyPair.nitro.js +6 -0
  150. package/lib/commonjs/specs/ecKeyPair.nitro.js.map +1 -0
  151. package/lib/commonjs/specs/rsaCipher.nitro.js +6 -0
  152. package/lib/commonjs/specs/rsaCipher.nitro.js.map +1 -0
  153. package/lib/commonjs/specs/rsaKeyPair.nitro.js +6 -0
  154. package/lib/commonjs/specs/rsaKeyPair.nitro.js.map +1 -0
  155. package/lib/commonjs/subtle.js +768 -0
  156. package/lib/commonjs/subtle.js.map +1 -0
  157. package/lib/commonjs/utils/conversion.js +26 -3
  158. package/lib/commonjs/utils/conversion.js.map +1 -1
  159. package/lib/commonjs/utils/hashnames.js +2 -1
  160. package/lib/commonjs/utils/hashnames.js.map +1 -1
  161. package/lib/commonjs/utils/index.js +11 -0
  162. package/lib/commonjs/utils/index.js.map +1 -1
  163. package/lib/commonjs/utils/noble.js +82 -0
  164. package/lib/commonjs/utils/noble.js.map +1 -0
  165. package/lib/commonjs/utils/types.js +28 -16
  166. package/lib/commonjs/utils/types.js.map +1 -1
  167. package/lib/commonjs/utils/validation.js +74 -1
  168. package/lib/commonjs/utils/validation.js.map +1 -1
  169. package/lib/module/blake3.js +90 -0
  170. package/lib/module/blake3.js.map +1 -0
  171. package/lib/module/ec.js +404 -0
  172. package/lib/module/ec.js.map +1 -0
  173. package/lib/module/ed.js +141 -0
  174. package/lib/module/ed.js.map +1 -1
  175. package/lib/module/expo-plugin/withXCode.js +3 -3
  176. package/lib/module/hash.js +47 -2
  177. package/lib/module/hash.js.map +1 -1
  178. package/lib/module/index.js +9 -1
  179. package/lib/module/index.js.map +1 -1
  180. package/lib/module/keys/classes.js +108 -49
  181. package/lib/module/keys/classes.js.map +1 -1
  182. package/lib/module/keys/generateKeyPair.js +91 -143
  183. package/lib/module/keys/generateKeyPair.js.map +1 -1
  184. package/lib/module/keys/index.js +9 -6
  185. package/lib/module/keys/index.js.map +1 -1
  186. package/lib/module/keys/utils.js +16 -12
  187. package/lib/module/keys/utils.js.map +1 -1
  188. package/lib/module/rsa.js +123 -0
  189. package/lib/module/rsa.js.map +1 -0
  190. package/lib/module/specs/blake3.nitro.js +4 -0
  191. package/lib/module/specs/blake3.nitro.js.map +1 -0
  192. package/lib/module/specs/ecKeyPair.nitro.js +4 -0
  193. package/lib/module/specs/ecKeyPair.nitro.js.map +1 -0
  194. package/lib/module/specs/rsaCipher.nitro.js +4 -0
  195. package/lib/module/specs/rsaCipher.nitro.js.map +1 -0
  196. package/lib/module/specs/rsaKeyPair.nitro.js +4 -0
  197. package/lib/module/specs/rsaKeyPair.nitro.js.map +1 -0
  198. package/lib/module/subtle.js +763 -0
  199. package/lib/module/subtle.js.map +1 -0
  200. package/lib/module/utils/conversion.js +8 -3
  201. package/lib/module/utils/conversion.js.map +1 -1
  202. package/lib/module/utils/hashnames.js +2 -1
  203. package/lib/module/utils/hashnames.js.map +1 -1
  204. package/lib/module/utils/index.js +1 -0
  205. package/lib/module/utils/index.js.map +1 -1
  206. package/lib/module/utils/noble.js +76 -0
  207. package/lib/module/utils/noble.js.map +1 -0
  208. package/lib/module/utils/types.js +26 -17
  209. package/lib/module/utils/types.js.map +1 -1
  210. package/lib/module/utils/validation.js +69 -1
  211. package/lib/module/utils/validation.js.map +1 -1
  212. package/lib/tsconfig.tsbuildinfo +1 -1
  213. package/lib/typescript/blake3.d.ts +33 -0
  214. package/lib/typescript/blake3.d.ts.map +1 -0
  215. package/lib/typescript/ec.d.ts +13 -0
  216. package/lib/typescript/ec.d.ts.map +1 -0
  217. package/lib/typescript/ed.d.ts +27 -1
  218. package/lib/typescript/ed.d.ts.map +1 -1
  219. package/lib/typescript/hash.d.ts +14 -1
  220. package/lib/typescript/hash.d.ts.map +1 -1
  221. package/lib/typescript/index.d.ts +45 -1
  222. package/lib/typescript/index.d.ts.map +1 -1
  223. package/lib/typescript/keys/classes.d.ts +49 -8
  224. package/lib/typescript/keys/classes.d.ts.map +1 -1
  225. package/lib/typescript/keys/generateKeyPair.d.ts +5 -0
  226. package/lib/typescript/keys/generateKeyPair.d.ts.map +1 -1
  227. package/lib/typescript/keys/index.d.ts +5 -2
  228. package/lib/typescript/keys/index.d.ts.map +1 -1
  229. package/lib/typescript/keys/utils.d.ts +3 -1
  230. package/lib/typescript/keys/utils.d.ts.map +1 -1
  231. package/lib/typescript/rsa.d.ts +10 -0
  232. package/lib/typescript/rsa.d.ts.map +1 -0
  233. package/lib/typescript/specs/blake3.nitro.d.ts +15 -0
  234. package/lib/typescript/specs/blake3.nitro.d.ts.map +1 -0
  235. package/lib/typescript/specs/ecKeyPair.nitro.d.ts +20 -0
  236. package/lib/typescript/specs/ecKeyPair.nitro.d.ts.map +1 -0
  237. package/lib/typescript/specs/edKeyPair.nitro.d.ts +1 -0
  238. package/lib/typescript/specs/edKeyPair.nitro.d.ts.map +1 -1
  239. package/lib/typescript/specs/hash.nitro.d.ts +1 -0
  240. package/lib/typescript/specs/hash.nitro.d.ts.map +1 -1
  241. package/lib/typescript/specs/keyObjectHandle.nitro.d.ts +1 -1
  242. package/lib/typescript/specs/keyObjectHandle.nitro.d.ts.map +1 -1
  243. package/lib/typescript/specs/rsaCipher.nitro.d.ts +26 -0
  244. package/lib/typescript/specs/rsaCipher.nitro.d.ts.map +1 -0
  245. package/lib/typescript/specs/rsaKeyPair.nitro.d.ts +20 -0
  246. package/lib/typescript/specs/rsaKeyPair.nitro.d.ts.map +1 -0
  247. package/lib/typescript/subtle.d.ts +17 -0
  248. package/lib/typescript/subtle.d.ts.map +1 -0
  249. package/lib/typescript/utils/cipher.d.ts +1 -1
  250. package/lib/typescript/utils/conversion.d.ts +1 -0
  251. package/lib/typescript/utils/conversion.d.ts.map +1 -1
  252. package/lib/typescript/utils/hashnames.d.ts +3 -1
  253. package/lib/typescript/utils/hashnames.d.ts.map +1 -1
  254. package/lib/typescript/utils/index.d.ts +1 -0
  255. package/lib/typescript/utils/index.d.ts.map +1 -1
  256. package/lib/typescript/utils/noble.d.ts +19 -0
  257. package/lib/typescript/utils/noble.d.ts.map +1 -0
  258. package/lib/typescript/utils/types.d.ts +102 -18
  259. package/lib/typescript/utils/types.d.ts.map +1 -1
  260. package/lib/typescript/utils/validation.d.ts +5 -0
  261. package/lib/typescript/utils/validation.d.ts.map +1 -1
  262. package/nitrogen/generated/.gitattributes +1 -1
  263. package/nitrogen/generated/android/QuickCrypto+autolinking.cmake +4 -0
  264. package/nitrogen/generated/android/QuickCryptoOnLoad.cpp +50 -0
  265. package/nitrogen/generated/ios/QuickCrypto-Swift-Cxx-Umbrella.hpp +2 -1
  266. package/nitrogen/generated/ios/QuickCryptoAutolinking.mm +50 -0
  267. package/nitrogen/generated/shared/c++/AsymmetricKeyType.hpp +104 -0
  268. package/nitrogen/generated/shared/c++/CipherArgs.hpp +4 -6
  269. package/nitrogen/generated/shared/c++/HybridBlake3Spec.cpp +28 -0
  270. package/nitrogen/generated/shared/c++/HybridBlake3Spec.hpp +76 -0
  271. package/nitrogen/generated/shared/c++/HybridCipherFactorySpec.hpp +1 -1
  272. package/nitrogen/generated/shared/c++/HybridCipherSpec.hpp +1 -1
  273. package/nitrogen/generated/shared/c++/HybridEcKeyPairSpec.cpp +29 -0
  274. package/nitrogen/generated/shared/c++/HybridEcKeyPairSpec.hpp +77 -0
  275. package/nitrogen/generated/shared/c++/HybridEdKeyPairSpec.cpp +1 -0
  276. package/nitrogen/generated/shared/c++/HybridEdKeyPairSpec.hpp +3 -2
  277. package/nitrogen/generated/shared/c++/HybridHashSpec.cpp +1 -0
  278. package/nitrogen/generated/shared/c++/HybridHashSpec.hpp +2 -1
  279. package/nitrogen/generated/shared/c++/HybridKeyObjectHandleSpec.hpp +6 -6
  280. package/nitrogen/generated/shared/c++/HybridPbkdf2Spec.hpp +1 -1
  281. package/nitrogen/generated/shared/c++/HybridRandomSpec.hpp +1 -1
  282. package/nitrogen/generated/shared/c++/HybridRsaCipherSpec.cpp +22 -0
  283. package/nitrogen/generated/shared/c++/HybridRsaCipherSpec.hpp +70 -0
  284. package/nitrogen/generated/shared/c++/HybridRsaKeyPairSpec.cpp +29 -0
  285. package/nitrogen/generated/shared/c++/HybridRsaKeyPairSpec.hpp +77 -0
  286. package/nitrogen/generated/shared/c++/JWK.hpp +15 -17
  287. package/nitrogen/generated/shared/c++/JWKkty.hpp +11 -13
  288. package/nitrogen/generated/shared/c++/JWKuse.hpp +7 -9
  289. package/nitrogen/generated/shared/c++/KFormatType.hpp +12 -14
  290. package/nitrogen/generated/shared/c++/KeyDetail.hpp +4 -6
  291. package/nitrogen/generated/shared/c++/KeyEncoding.hpp +13 -15
  292. package/nitrogen/generated/shared/c++/KeyObject.hpp +67 -0
  293. package/nitrogen/generated/shared/c++/KeyType.hpp +9 -11
  294. package/nitrogen/generated/shared/c++/KeyUsage.hpp +37 -23
  295. package/nitrogen/generated/shared/c++/NamedCurve.hpp +9 -11
  296. package/package.json +14 -11
  297. package/src/blake3.ts +123 -0
  298. package/src/ec.ts +534 -0
  299. package/src/ed.ts +179 -2
  300. package/src/expo-plugin/withXCode.ts +3 -3
  301. package/src/hash.ts +68 -2
  302. package/src/index.ts +8 -0
  303. package/src/keys/classes.ts +161 -55
  304. package/src/keys/generateKeyPair.ts +133 -134
  305. package/src/keys/index.ts +13 -3
  306. package/src/keys/utils.ts +24 -18
  307. package/src/rsa.ts +176 -0
  308. package/src/specs/blake3.nitro.ts +12 -0
  309. package/src/specs/ecKeyPair.nitro.ts +38 -0
  310. package/src/specs/edKeyPair.nitro.ts +2 -0
  311. package/src/specs/hash.nitro.ts +1 -0
  312. package/src/specs/keyObjectHandle.nitro.ts +1 -1
  313. package/src/specs/rsaCipher.nitro.ts +35 -0
  314. package/src/specs/rsaKeyPair.nitro.ts +33 -0
  315. package/src/subtle.ts +1119 -0
  316. package/src/utils/conversion.ts +10 -2
  317. package/src/utils/hashnames.ts +4 -2
  318. package/src/utils/index.ts +1 -0
  319. package/src/utils/noble.ts +85 -0
  320. package/src/utils/types.ts +148 -26
  321. package/src/utils/validation.ts +96 -1
  322. package/ios/libsodium-stable/.github/workflows/autocloser.yml +0 -12
  323. package/ios/libsodium-stable/.github/workflows/ci.yml +0 -180
  324. package/ios/libsodium-stable/.github/workflows/cifuzz.yml +0 -32
  325. package/ios/libsodium-stable/.github/workflows/codeql-analysis.yml +0 -48
  326. package/ios/libsodium-stable/.github/workflows/dotnet-core.yml +0 -388
  327. package/ios/libsodium-stable/AUTHORS +0 -144
  328. package/ios/libsodium-stable/CITATION.cff +0 -18
  329. package/ios/libsodium-stable/ChangeLog +0 -677
  330. package/ios/libsodium-stable/LICENSE +0 -18
  331. package/ios/libsodium-stable/Makefile.am +0 -23
  332. package/ios/libsodium-stable/README.markdown +0 -76
  333. package/ios/libsodium-stable/THANKS +0 -92
  334. package/ios/libsodium-stable/appveyor.yml +0 -24
  335. package/ios/libsodium-stable/autogen.sh +0 -117
  336. package/ios/libsodium-stable/azure-pipelines.yml +0 -122
  337. package/ios/libsodium-stable/build.zig +0 -281
  338. package/ios/libsodium-stable/builds/Makefile.am +0 -81
  339. package/ios/libsodium-stable/builds/msvc/build/buildall.bat +0 -18
  340. package/ios/libsodium-stable/builds/msvc/build/buildbase.bat +0 -132
  341. package/ios/libsodium-stable/builds/msvc/properties/ARM64.props +0 -23
  342. package/ios/libsodium-stable/builds/msvc/properties/Common.props +0 -21
  343. package/ios/libsodium-stable/builds/msvc/properties/DLL.props +0 -16
  344. package/ios/libsodium-stable/builds/msvc/properties/Debug.props +0 -29
  345. package/ios/libsodium-stable/builds/msvc/properties/DebugDEXE.props +0 -21
  346. package/ios/libsodium-stable/builds/msvc/properties/DebugDLL.props +0 -20
  347. package/ios/libsodium-stable/builds/msvc/properties/DebugLEXE.props +0 -20
  348. package/ios/libsodium-stable/builds/msvc/properties/DebugLIB.props +0 -21
  349. package/ios/libsodium-stable/builds/msvc/properties/DebugLTCG.props +0 -20
  350. package/ios/libsodium-stable/builds/msvc/properties/DebugSEXE.props +0 -21
  351. package/ios/libsodium-stable/builds/msvc/properties/EXE.props +0 -17
  352. package/ios/libsodium-stable/builds/msvc/properties/LIB.props +0 -16
  353. package/ios/libsodium-stable/builds/msvc/properties/LTCG.props +0 -13
  354. package/ios/libsodium-stable/builds/msvc/properties/Link.props +0 -21
  355. package/ios/libsodium-stable/builds/msvc/properties/Messages.props +0 -15
  356. package/ios/libsodium-stable/builds/msvc/properties/Output.props +0 -30
  357. package/ios/libsodium-stable/builds/msvc/properties/Release.props +0 -41
  358. package/ios/libsodium-stable/builds/msvc/properties/ReleaseDEXE.props +0 -20
  359. package/ios/libsodium-stable/builds/msvc/properties/ReleaseDLL.props +0 -19
  360. package/ios/libsodium-stable/builds/msvc/properties/ReleaseLEXE.props +0 -20
  361. package/ios/libsodium-stable/builds/msvc/properties/ReleaseLIB.props +0 -19
  362. package/ios/libsodium-stable/builds/msvc/properties/ReleaseLTCG.props +0 -19
  363. package/ios/libsodium-stable/builds/msvc/properties/ReleaseSEXE.props +0 -20
  364. package/ios/libsodium-stable/builds/msvc/properties/Win32.props +0 -23
  365. package/ios/libsodium-stable/builds/msvc/properties/x64.props +0 -26
  366. package/ios/libsodium-stable/builds/msvc/resource.h +0 -14
  367. package/ios/libsodium-stable/builds/msvc/resource.rc +0 -65
  368. package/ios/libsodium-stable/builds/msvc/version.h +0 -33
  369. package/ios/libsodium-stable/builds/msvc/vs2010/libsodium/libsodium.props +0 -48
  370. package/ios/libsodium-stable/builds/msvc/vs2010/libsodium/libsodium.vcxproj +0 -346
  371. package/ios/libsodium-stable/builds/msvc/vs2010/libsodium/libsodium.vcxproj.filters +0 -1088
  372. package/ios/libsodium-stable/builds/msvc/vs2010/libsodium/libsodium.xml +0 -15
  373. package/ios/libsodium-stable/builds/msvc/vs2010/libsodium.import.props +0 -52
  374. package/ios/libsodium-stable/builds/msvc/vs2010/libsodium.import.xml +0 -17
  375. package/ios/libsodium-stable/builds/msvc/vs2010/libsodium.sln +0 -50
  376. package/ios/libsodium-stable/builds/msvc/vs2012/libsodium/libsodium.props +0 -48
  377. package/ios/libsodium-stable/builds/msvc/vs2012/libsodium/libsodium.vcxproj +0 -346
  378. package/ios/libsodium-stable/builds/msvc/vs2012/libsodium/libsodium.vcxproj.filters +0 -1088
  379. package/ios/libsodium-stable/builds/msvc/vs2012/libsodium/libsodium.xml +0 -15
  380. package/ios/libsodium-stable/builds/msvc/vs2012/libsodium.import.props +0 -52
  381. package/ios/libsodium-stable/builds/msvc/vs2012/libsodium.import.xml +0 -17
  382. package/ios/libsodium-stable/builds/msvc/vs2012/libsodium.sln +0 -50
  383. package/ios/libsodium-stable/builds/msvc/vs2013/libsodium/libsodium.props +0 -48
  384. package/ios/libsodium-stable/builds/msvc/vs2013/libsodium/libsodium.vcxproj +0 -346
  385. package/ios/libsodium-stable/builds/msvc/vs2013/libsodium/libsodium.vcxproj.filters +0 -1088
  386. package/ios/libsodium-stable/builds/msvc/vs2013/libsodium/libsodium.xml +0 -15
  387. package/ios/libsodium-stable/builds/msvc/vs2013/libsodium.import.props +0 -52
  388. package/ios/libsodium-stable/builds/msvc/vs2013/libsodium.import.xml +0 -17
  389. package/ios/libsodium-stable/builds/msvc/vs2013/libsodium.sln +0 -52
  390. package/ios/libsodium-stable/builds/msvc/vs2015/libsodium/libsodium.props +0 -48
  391. package/ios/libsodium-stable/builds/msvc/vs2015/libsodium/libsodium.vcxproj +0 -346
  392. package/ios/libsodium-stable/builds/msvc/vs2015/libsodium/libsodium.vcxproj.filters +0 -1088
  393. package/ios/libsodium-stable/builds/msvc/vs2015/libsodium/libsodium.xml +0 -15
  394. package/ios/libsodium-stable/builds/msvc/vs2015/libsodium.import.props +0 -52
  395. package/ios/libsodium-stable/builds/msvc/vs2015/libsodium.import.xml +0 -17
  396. package/ios/libsodium-stable/builds/msvc/vs2015/libsodium.sln +0 -52
  397. package/ios/libsodium-stable/builds/msvc/vs2017/libsodium/libsodium.props +0 -48
  398. package/ios/libsodium-stable/builds/msvc/vs2017/libsodium/libsodium.vcxproj +0 -346
  399. package/ios/libsodium-stable/builds/msvc/vs2017/libsodium/libsodium.vcxproj.filters +0 -1088
  400. package/ios/libsodium-stable/builds/msvc/vs2017/libsodium/libsodium.xml +0 -15
  401. package/ios/libsodium-stable/builds/msvc/vs2017/libsodium.import.props +0 -52
  402. package/ios/libsodium-stable/builds/msvc/vs2017/libsodium.import.xml +0 -17
  403. package/ios/libsodium-stable/builds/msvc/vs2017/libsodium.sln +0 -52
  404. package/ios/libsodium-stable/builds/msvc/vs2019/libsodium/libsodium.props +0 -48
  405. package/ios/libsodium-stable/builds/msvc/vs2019/libsodium/libsodium.vcxproj +0 -370
  406. package/ios/libsodium-stable/builds/msvc/vs2019/libsodium/libsodium.vcxproj.filters +0 -1088
  407. package/ios/libsodium-stable/builds/msvc/vs2019/libsodium/libsodium.xml +0 -15
  408. package/ios/libsodium-stable/builds/msvc/vs2019/libsodium.import.props +0 -52
  409. package/ios/libsodium-stable/builds/msvc/vs2019/libsodium.import.xml +0 -17
  410. package/ios/libsodium-stable/builds/msvc/vs2019/libsodium.sln +0 -52
  411. package/ios/libsodium-stable/builds/msvc/vs2022/libsodium/libsodium.props +0 -48
  412. package/ios/libsodium-stable/builds/msvc/vs2022/libsodium/libsodium.vcxproj +0 -370
  413. package/ios/libsodium-stable/builds/msvc/vs2022/libsodium/libsodium.vcxproj.filters +0 -1088
  414. package/ios/libsodium-stable/builds/msvc/vs2022/libsodium/libsodium.xml +0 -15
  415. package/ios/libsodium-stable/builds/msvc/vs2022/libsodium.import.props +0 -52
  416. package/ios/libsodium-stable/builds/msvc/vs2022/libsodium.import.xml +0 -17
  417. package/ios/libsodium-stable/builds/msvc/vs2022/libsodium.sln +0 -70
  418. package/ios/libsodium-stable/ci/appveyor/libsodium.sln +0 -40
  419. package/ios/libsodium-stable/ci/appveyor/libsodium.vcxproj +0 -594
  420. package/ios/libsodium-stable/ci/appveyor/libsodium.vcxproj.filters +0 -813
  421. package/ios/libsodium-stable/ci/appveyor/msvc-scripts/process.bat +0 -5
  422. package/ios/libsodium-stable/ci/appveyor/msvc-scripts/rep.vbs +0 -12
  423. package/ios/libsodium-stable/ci/appveyor/msvc-scripts/sodium.props +0 -29
  424. package/ios/libsodium-stable/configure.ac +0 -1004
  425. package/ios/libsodium-stable/contrib/Findsodium.cmake +0 -297
  426. package/ios/libsodium-stable/contrib/Makefile.am +0 -3
  427. package/ios/libsodium-stable/dist-build/Makefile.am +0 -14
  428. package/ios/libsodium-stable/dist-build/android-aar.sh +0 -194
  429. package/ios/libsodium-stable/dist-build/android-armv7-a.sh +0 -5
  430. package/ios/libsodium-stable/dist-build/android-armv8-a.sh +0 -5
  431. package/ios/libsodium-stable/dist-build/android-build.sh +0 -95
  432. package/ios/libsodium-stable/dist-build/android-x86.sh +0 -5
  433. package/ios/libsodium-stable/dist-build/android-x86_64.sh +0 -5
  434. package/ios/libsodium-stable/dist-build/apple-xcframework.sh +0 -628
  435. package/ios/libsodium-stable/dist-build/emscripten-symbols.def +0 -651
  436. package/ios/libsodium-stable/dist-build/emscripten.sh +0 -206
  437. package/ios/libsodium-stable/dist-build/generate-emscripten-symbols.sh +0 -59
  438. package/ios/libsodium-stable/dist-build/macos.sh +0 -26
  439. package/ios/libsodium-stable/dist-build/msys2-win32.sh +0 -18
  440. package/ios/libsodium-stable/dist-build/msys2-win64.sh +0 -18
  441. package/ios/libsodium-stable/dist-build/wasm32-wasi.sh +0 -45
  442. package/ios/libsodium-stable/lgtm.yml +0 -6
  443. package/ios/libsodium-stable/libsodium-uninstalled.pc.in +0 -7
  444. package/ios/libsodium-stable/libsodium.pc.in +0 -12
  445. package/ios/libsodium-stable/logo.png +0 -0
  446. package/ios/libsodium-stable/m4/ax_add_fortify_source.m4 +0 -119
  447. package/ios/libsodium-stable/m4/ax_check_catchable_abrt.m4 +0 -57
  448. package/ios/libsodium-stable/m4/ax_check_catchable_segv.m4 +0 -47
  449. package/ios/libsodium-stable/m4/ax_check_compile_flag.m4 +0 -55
  450. package/ios/libsodium-stable/m4/ax_check_define.m4 +0 -73
  451. package/ios/libsodium-stable/m4/ax_check_gnu_make.m4 +0 -95
  452. package/ios/libsodium-stable/m4/ax_check_link_flag.m4 +0 -75
  453. package/ios/libsodium-stable/m4/ax_pthread.m4 +0 -522
  454. package/ios/libsodium-stable/m4/ax_tls.m4 +0 -71
  455. package/ios/libsodium-stable/m4/ax_valgrind_check.m4 +0 -239
  456. package/ios/libsodium-stable/m4/ld-output-def.m4 +0 -29
  457. package/ios/libsodium-stable/packaging/dotnet-core/libsodium.pkgproj +0 -49
  458. package/ios/libsodium-stable/packaging/dotnet-core/test.cs +0 -43
  459. package/ios/libsodium-stable/packaging/nuget/package.bat +0 -13
  460. package/ios/libsodium-stable/packaging/nuget/package.config +0 -4
  461. package/ios/libsodium-stable/packaging/nuget/package.gsl +0 -260
  462. package/ios/libsodium-stable/regen-msvc/libsodium.vcxproj +0 -326
  463. package/ios/libsodium-stable/regen-msvc/libsodium.vcxproj.filters +0 -23
  464. package/ios/libsodium-stable/regen-msvc/libsodium.vcxproj.filters.tpl +0 -35
  465. package/ios/libsodium-stable/regen-msvc/libsodium.vcxproj.tpl +0 -37
  466. package/ios/libsodium-stable/regen-msvc/regen-msvc.py +0 -240
  467. package/ios/libsodium-stable/regen-msvc/tl_libsodium.vcxproj.filters.tpl +0 -23
  468. package/ios/libsodium-stable/regen-msvc/tl_libsodium.vcxproj.tpl +0 -332
  469. package/ios/libsodium-stable/src/Makefile.am +0 -3
  470. package/ios/libsodium-stable/src/libsodium/Makefile.am +0 -314
  471. package/ios/libsodium-stable/src/libsodium/crypto_aead/aegis128l/aead_aegis128l.c +0 -159
  472. package/ios/libsodium-stable/src/libsodium/crypto_aead/aegis128l/aegis128l_aesni.c +0 -70
  473. package/ios/libsodium-stable/src/libsodium/crypto_aead/aegis128l/aegis128l_aesni.h +0 -8
  474. package/ios/libsodium-stable/src/libsodium/crypto_aead/aegis128l/aegis128l_armcrypto.c +0 -72
  475. package/ios/libsodium-stable/src/libsodium/crypto_aead/aegis128l/aegis128l_armcrypto.h +0 -8
  476. package/ios/libsodium-stable/src/libsodium/crypto_aead/aegis128l/aegis128l_common.h +0 -248
  477. package/ios/libsodium-stable/src/libsodium/crypto_aead/aegis128l/aegis128l_soft.c +0 -59
  478. package/ios/libsodium-stable/src/libsodium/crypto_aead/aegis128l/aegis128l_soft.h +0 -8
  479. package/ios/libsodium-stable/src/libsodium/crypto_aead/aegis128l/implementations.h +0 -17
  480. package/ios/libsodium-stable/src/libsodium/crypto_aead/aegis256/aead_aegis256.c +0 -158
  481. package/ios/libsodium-stable/src/libsodium/crypto_aead/aegis256/aegis256_aesni.c +0 -65
  482. package/ios/libsodium-stable/src/libsodium/crypto_aead/aegis256/aegis256_aesni.h +0 -8
  483. package/ios/libsodium-stable/src/libsodium/crypto_aead/aegis256/aegis256_armcrypto.c +0 -70
  484. package/ios/libsodium-stable/src/libsodium/crypto_aead/aegis256/aegis256_armcrypto.h +0 -8
  485. package/ios/libsodium-stable/src/libsodium/crypto_aead/aegis256/aegis256_common.h +0 -231
  486. package/ios/libsodium-stable/src/libsodium/crypto_aead/aegis256/aegis256_soft.c +0 -54
  487. package/ios/libsodium-stable/src/libsodium/crypto_aead/aegis256/aegis256_soft.h +0 -8
  488. package/ios/libsodium-stable/src/libsodium/crypto_aead/aegis256/implementations.h +0 -17
  489. package/ios/libsodium-stable/src/libsodium/crypto_aead/aes256gcm/aead_aes256gcm.c +0 -157
  490. package/ios/libsodium-stable/src/libsodium/crypto_aead/aes256gcm/aesni/aead_aes256gcm_aesni.c +0 -1015
  491. package/ios/libsodium-stable/src/libsodium/crypto_aead/aes256gcm/armcrypto/aead_aes256gcm_armcrypto.c +0 -1033
  492. package/ios/libsodium-stable/src/libsodium/crypto_aead/chacha20poly1305/aead_chacha20poly1305.c +0 -400
  493. package/ios/libsodium-stable/src/libsodium/crypto_aead/xchacha20poly1305/aead_xchacha20poly1305.c +0 -262
  494. package/ios/libsodium-stable/src/libsodium/crypto_auth/crypto_auth.c +0 -41
  495. package/ios/libsodium-stable/src/libsodium/crypto_auth/hmacsha256/auth_hmacsha256.c +0 -118
  496. package/ios/libsodium-stable/src/libsodium/crypto_auth/hmacsha512/auth_hmacsha512.c +0 -118
  497. package/ios/libsodium-stable/src/libsodium/crypto_auth/hmacsha512256/auth_hmacsha512256.c +0 -93
  498. package/ios/libsodium-stable/src/libsodium/crypto_box/crypto_box.c +0 -114
  499. package/ios/libsodium-stable/src/libsodium/crypto_box/crypto_box_easy.c +0 -115
  500. package/ios/libsodium-stable/src/libsodium/crypto_box/crypto_box_seal.c +0 -68
  501. package/ios/libsodium-stable/src/libsodium/crypto_box/curve25519xchacha20poly1305/box_curve25519xchacha20poly1305.c +0 -204
  502. package/ios/libsodium-stable/src/libsodium/crypto_box/curve25519xchacha20poly1305/box_seal_curve25519xchacha20poly1305.c +0 -79
  503. package/ios/libsodium-stable/src/libsodium/crypto_box/curve25519xsalsa20poly1305/box_curve25519xsalsa20poly1305.c +0 -156
  504. package/ios/libsodium-stable/src/libsodium/crypto_core/ed25519/core_ed25519.c +0 -225
  505. package/ios/libsodium-stable/src/libsodium/crypto_core/ed25519/core_ristretto255.c +0 -156
  506. package/ios/libsodium-stable/src/libsodium/crypto_core/ed25519/ref10/ed25519_ref10.c +0 -2873
  507. package/ios/libsodium-stable/src/libsodium/crypto_core/ed25519/ref10/fe_25_5/base.h +0 -1344
  508. package/ios/libsodium-stable/src/libsodium/crypto_core/ed25519/ref10/fe_25_5/base2.h +0 -40
  509. package/ios/libsodium-stable/src/libsodium/crypto_core/ed25519/ref10/fe_25_5/constants.h +0 -40
  510. package/ios/libsodium-stable/src/libsodium/crypto_core/ed25519/ref10/fe_25_5/fe.h +0 -220
  511. package/ios/libsodium-stable/src/libsodium/crypto_core/ed25519/ref10/fe_51/base.h +0 -1344
  512. package/ios/libsodium-stable/src/libsodium/crypto_core/ed25519/ref10/fe_51/base2.h +0 -40
  513. package/ios/libsodium-stable/src/libsodium/crypto_core/ed25519/ref10/fe_51/constants.h +0 -41
  514. package/ios/libsodium-stable/src/libsodium/crypto_core/ed25519/ref10/fe_51/fe.h +0 -116
  515. package/ios/libsodium-stable/src/libsodium/crypto_core/hchacha20/core_hchacha20.c +0 -93
  516. package/ios/libsodium-stable/src/libsodium/crypto_core/hsalsa20/core_hsalsa20.c +0 -21
  517. package/ios/libsodium-stable/src/libsodium/crypto_core/hsalsa20/ref2/core_hsalsa20_ref2.c +0 -95
  518. package/ios/libsodium-stable/src/libsodium/crypto_core/salsa/ref/core_salsa_ref.c +0 -195
  519. package/ios/libsodium-stable/src/libsodium/crypto_core/softaes/softaes.c +0 -340
  520. package/ios/libsodium-stable/src/libsodium/crypto_generichash/blake2b/generichash_blake2.c +0 -55
  521. package/ios/libsodium-stable/src/libsodium/crypto_generichash/blake2b/ref/blake2.h +0 -106
  522. package/ios/libsodium-stable/src/libsodium/crypto_generichash/blake2b/ref/blake2b-compress-avx2.c +0 -52
  523. package/ios/libsodium-stable/src/libsodium/crypto_generichash/blake2b/ref/blake2b-compress-avx2.h +0 -142
  524. package/ios/libsodium-stable/src/libsodium/crypto_generichash/blake2b/ref/blake2b-compress-ref.c +0 -93
  525. package/ios/libsodium-stable/src/libsodium/crypto_generichash/blake2b/ref/blake2b-compress-sse41.c +0 -91
  526. package/ios/libsodium-stable/src/libsodium/crypto_generichash/blake2b/ref/blake2b-compress-sse41.h +0 -106
  527. package/ios/libsodium-stable/src/libsodium/crypto_generichash/blake2b/ref/blake2b-compress-ssse3.c +0 -95
  528. package/ios/libsodium-stable/src/libsodium/crypto_generichash/blake2b/ref/blake2b-compress-ssse3.h +0 -106
  529. package/ios/libsodium-stable/src/libsodium/crypto_generichash/blake2b/ref/blake2b-load-avx2.h +0 -340
  530. package/ios/libsodium-stable/src/libsodium/crypto_generichash/blake2b/ref/blake2b-load-sse2.h +0 -164
  531. package/ios/libsodium-stable/src/libsodium/crypto_generichash/blake2b/ref/blake2b-load-sse41.h +0 -307
  532. package/ios/libsodium-stable/src/libsodium/crypto_generichash/blake2b/ref/blake2b-ref.c +0 -438
  533. package/ios/libsodium-stable/src/libsodium/crypto_generichash/blake2b/ref/generichash_blake2b.c +0 -116
  534. package/ios/libsodium-stable/src/libsodium/crypto_generichash/crypto_generichash.c +0 -91
  535. package/ios/libsodium-stable/src/libsodium/crypto_hash/crypto_hash.c +0 -20
  536. package/ios/libsodium-stable/src/libsodium/crypto_hash/sha256/cp/hash_sha256_cp.c +0 -256
  537. package/ios/libsodium-stable/src/libsodium/crypto_hash/sha256/hash_sha256.c +0 -13
  538. package/ios/libsodium-stable/src/libsodium/crypto_hash/sha512/cp/hash_sha512_cp.c +0 -284
  539. package/ios/libsodium-stable/src/libsodium/crypto_hash/sha512/hash_sha512.c +0 -13
  540. package/ios/libsodium-stable/src/libsodium/crypto_kdf/blake2b/kdf_blake2b.c +0 -52
  541. package/ios/libsodium-stable/src/libsodium/crypto_kdf/crypto_kdf.c +0 -49
  542. package/ios/libsodium-stable/src/libsodium/crypto_kdf/hkdf/kdf_hkdf_sha256.c +0 -123
  543. package/ios/libsodium-stable/src/libsodium/crypto_kdf/hkdf/kdf_hkdf_sha512.c +0 -123
  544. package/ios/libsodium-stable/src/libsodium/crypto_kx/crypto_kx.c +0 -143
  545. package/ios/libsodium-stable/src/libsodium/crypto_onetimeauth/crypto_onetimeauth.c +0 -71
  546. package/ios/libsodium-stable/src/libsodium/crypto_onetimeauth/poly1305/donna/poly1305_donna.c +0 -124
  547. package/ios/libsodium-stable/src/libsodium/crypto_onetimeauth/poly1305/donna/poly1305_donna.h +0 -12
  548. package/ios/libsodium-stable/src/libsodium/crypto_onetimeauth/poly1305/donna/poly1305_donna32.h +0 -235
  549. package/ios/libsodium-stable/src/libsodium/crypto_onetimeauth/poly1305/donna/poly1305_donna64.h +0 -221
  550. package/ios/libsodium-stable/src/libsodium/crypto_onetimeauth/poly1305/onetimeauth_poly1305.c +0 -90
  551. package/ios/libsodium-stable/src/libsodium/crypto_onetimeauth/poly1305/onetimeauth_poly1305.h +0 -21
  552. package/ios/libsodium-stable/src/libsodium/crypto_onetimeauth/poly1305/sse2/poly1305_sse2.c +0 -957
  553. package/ios/libsodium-stable/src/libsodium/crypto_onetimeauth/poly1305/sse2/poly1305_sse2.h +0 -12
  554. package/ios/libsodium-stable/src/libsodium/crypto_pwhash/argon2/argon2-core.c +0 -556
  555. package/ios/libsodium-stable/src/libsodium/crypto_pwhash/argon2/argon2-core.h +0 -271
  556. package/ios/libsodium-stable/src/libsodium/crypto_pwhash/argon2/argon2-encoding.c +0 -306
  557. package/ios/libsodium-stable/src/libsodium/crypto_pwhash/argon2/argon2-encoding.h +0 -34
  558. package/ios/libsodium-stable/src/libsodium/crypto_pwhash/argon2/argon2-fill-block-avx2.c +0 -243
  559. package/ios/libsodium-stable/src/libsodium/crypto_pwhash/argon2/argon2-fill-block-avx512f.c +0 -251
  560. package/ios/libsodium-stable/src/libsodium/crypto_pwhash/argon2/argon2-fill-block-ref.c +0 -234
  561. package/ios/libsodium-stable/src/libsodium/crypto_pwhash/argon2/argon2-fill-block-ssse3.c +0 -244
  562. package/ios/libsodium-stable/src/libsodium/crypto_pwhash/argon2/argon2.c +0 -283
  563. package/ios/libsodium-stable/src/libsodium/crypto_pwhash/argon2/argon2.h +0 -305
  564. package/ios/libsodium-stable/src/libsodium/crypto_pwhash/argon2/blake2b-long.c +0 -79
  565. package/ios/libsodium-stable/src/libsodium/crypto_pwhash/argon2/blake2b-long.h +0 -8
  566. package/ios/libsodium-stable/src/libsodium/crypto_pwhash/argon2/blamka-round-avx2.h +0 -150
  567. package/ios/libsodium-stable/src/libsodium/crypto_pwhash/argon2/blamka-round-avx512f.h +0 -145
  568. package/ios/libsodium-stable/src/libsodium/crypto_pwhash/argon2/blamka-round-ref.h +0 -40
  569. package/ios/libsodium-stable/src/libsodium/crypto_pwhash/argon2/blamka-round-ssse3.h +0 -124
  570. package/ios/libsodium-stable/src/libsodium/crypto_pwhash/argon2/pwhash_argon2i.c +0 -294
  571. package/ios/libsodium-stable/src/libsodium/crypto_pwhash/argon2/pwhash_argon2id.c +0 -238
  572. package/ios/libsodium-stable/src/libsodium/crypto_pwhash/crypto_pwhash.c +0 -212
  573. package/ios/libsodium-stable/src/libsodium/crypto_pwhash/scryptsalsa208sha256/crypto_scrypt-common.c +0 -268
  574. package/ios/libsodium-stable/src/libsodium/crypto_pwhash/scryptsalsa208sha256/crypto_scrypt.h +0 -92
  575. package/ios/libsodium-stable/src/libsodium/crypto_pwhash/scryptsalsa208sha256/nosse/pwhash_scryptsalsa208sha256_nosse.c +0 -318
  576. package/ios/libsodium-stable/src/libsodium/crypto_pwhash/scryptsalsa208sha256/pbkdf2-sha256.c +0 -96
  577. package/ios/libsodium-stable/src/libsodium/crypto_pwhash/scryptsalsa208sha256/pbkdf2-sha256.h +0 -45
  578. package/ios/libsodium-stable/src/libsodium/crypto_pwhash/scryptsalsa208sha256/pwhash_scryptsalsa208sha256.c +0 -301
  579. package/ios/libsodium-stable/src/libsodium/crypto_pwhash/scryptsalsa208sha256/scrypt_platform.c +0 -112
  580. package/ios/libsodium-stable/src/libsodium/crypto_pwhash/scryptsalsa208sha256/sse/pwhash_scryptsalsa208sha256_sse.c +0 -406
  581. package/ios/libsodium-stable/src/libsodium/crypto_scalarmult/crypto_scalarmult.c +0 -33
  582. package/ios/libsodium-stable/src/libsodium/crypto_scalarmult/curve25519/ref10/x25519_ref10.c +0 -182
  583. package/ios/libsodium-stable/src/libsodium/crypto_scalarmult/curve25519/ref10/x25519_ref10.h +0 -10
  584. package/ios/libsodium-stable/src/libsodium/crypto_scalarmult/curve25519/sandy2x/consts.S +0 -25
  585. package/ios/libsodium-stable/src/libsodium/crypto_scalarmult/curve25519/sandy2x/consts_namespace.h +0 -20
  586. package/ios/libsodium-stable/src/libsodium/crypto_scalarmult/curve25519/sandy2x/curve25519_sandy2x.c +0 -71
  587. package/ios/libsodium-stable/src/libsodium/crypto_scalarmult/curve25519/sandy2x/curve25519_sandy2x.h +0 -9
  588. package/ios/libsodium-stable/src/libsodium/crypto_scalarmult/curve25519/sandy2x/fe.h +0 -26
  589. package/ios/libsodium-stable/src/libsodium/crypto_scalarmult/curve25519/sandy2x/fe51.h +0 -35
  590. package/ios/libsodium-stable/src/libsodium/crypto_scalarmult/curve25519/sandy2x/fe51_invert.c +0 -58
  591. package/ios/libsodium-stable/src/libsodium/crypto_scalarmult/curve25519/sandy2x/fe51_mul.S +0 -200
  592. package/ios/libsodium-stable/src/libsodium/crypto_scalarmult/curve25519/sandy2x/fe51_namespace.h +0 -16
  593. package/ios/libsodium-stable/src/libsodium/crypto_scalarmult/curve25519/sandy2x/fe51_nsquare.S +0 -174
  594. package/ios/libsodium-stable/src/libsodium/crypto_scalarmult/curve25519/sandy2x/fe51_pack.S +0 -228
  595. package/ios/libsodium-stable/src/libsodium/crypto_scalarmult/curve25519/sandy2x/fe_frombytes_sandy2x.c +0 -78
  596. package/ios/libsodium-stable/src/libsodium/crypto_scalarmult/curve25519/sandy2x/ladder.S +0 -1442
  597. package/ios/libsodium-stable/src/libsodium/crypto_scalarmult/curve25519/sandy2x/ladder.h +0 -18
  598. package/ios/libsodium-stable/src/libsodium/crypto_scalarmult/curve25519/sandy2x/ladder_namespace.h +0 -8
  599. package/ios/libsodium-stable/src/libsodium/crypto_scalarmult/curve25519/sandy2x/sandy2x.S +0 -16
  600. package/ios/libsodium-stable/src/libsodium/crypto_scalarmult/curve25519/scalarmult_curve25519.c +0 -60
  601. package/ios/libsodium-stable/src/libsodium/crypto_scalarmult/curve25519/scalarmult_curve25519.h +0 -11
  602. package/ios/libsodium-stable/src/libsodium/crypto_scalarmult/ed25519/ref10/scalarmult_ed25519_ref10.c +0 -121
  603. package/ios/libsodium-stable/src/libsodium/crypto_scalarmult/ristretto255/ref10/scalarmult_ristretto255_ref10.c +0 -63
  604. package/ios/libsodium-stable/src/libsodium/crypto_secretbox/crypto_secretbox.c +0 -67
  605. package/ios/libsodium-stable/src/libsodium/crypto_secretbox/crypto_secretbox_easy.c +0 -145
  606. package/ios/libsodium-stable/src/libsodium/crypto_secretbox/xchacha20poly1305/secretbox_xchacha20poly1305.c +0 -177
  607. package/ios/libsodium-stable/src/libsodium/crypto_secretbox/xsalsa20poly1305/secretbox_xsalsa20poly1305.c +0 -89
  608. package/ios/libsodium-stable/src/libsodium/crypto_secretstream/xchacha20poly1305/secretstream_xchacha20poly1305.c +0 -313
  609. package/ios/libsodium-stable/src/libsodium/crypto_shorthash/crypto_shorthash.c +0 -34
  610. package/ios/libsodium-stable/src/libsodium/crypto_shorthash/siphash24/ref/shorthash_siphash24_ref.c +0 -71
  611. package/ios/libsodium-stable/src/libsodium/crypto_shorthash/siphash24/ref/shorthash_siphash_ref.h +0 -24
  612. package/ios/libsodium-stable/src/libsodium/crypto_shorthash/siphash24/ref/shorthash_siphashx24_ref.c +0 -77
  613. package/ios/libsodium-stable/src/libsodium/crypto_shorthash/siphash24/shorthash_siphash24.c +0 -11
  614. package/ios/libsodium-stable/src/libsodium/crypto_shorthash/siphash24/shorthash_siphashx24.c +0 -11
  615. package/ios/libsodium-stable/src/libsodium/crypto_sign/crypto_sign.c +0 -115
  616. package/ios/libsodium-stable/src/libsodium/crypto_sign/ed25519/ref10/keypair.c +0 -84
  617. package/ios/libsodium-stable/src/libsodium/crypto_sign/ed25519/ref10/obsolete.c +0 -118
  618. package/ios/libsodium-stable/src/libsodium/crypto_sign/ed25519/ref10/open.c +0 -98
  619. package/ios/libsodium-stable/src/libsodium/crypto_sign/ed25519/ref10/sign.c +0 -128
  620. package/ios/libsodium-stable/src/libsodium/crypto_sign/ed25519/ref10/sign_ed25519_ref10.h +0 -18
  621. package/ios/libsodium-stable/src/libsodium/crypto_sign/ed25519/sign_ed25519.c +0 -97
  622. package/ios/libsodium-stable/src/libsodium/crypto_stream/chacha20/dolbeau/chacha20_dolbeau-avx2.c +0 -180
  623. package/ios/libsodium-stable/src/libsodium/crypto_stream/chacha20/dolbeau/chacha20_dolbeau-avx2.h +0 -8
  624. package/ios/libsodium-stable/src/libsodium/crypto_stream/chacha20/dolbeau/chacha20_dolbeau-ssse3.c +0 -176
  625. package/ios/libsodium-stable/src/libsodium/crypto_stream/chacha20/dolbeau/chacha20_dolbeau-ssse3.h +0 -8
  626. package/ios/libsodium-stable/src/libsodium/crypto_stream/chacha20/dolbeau/u0.h +0 -86
  627. package/ios/libsodium-stable/src/libsodium/crypto_stream/chacha20/dolbeau/u1.h +0 -98
  628. package/ios/libsodium-stable/src/libsodium/crypto_stream/chacha20/dolbeau/u4.h +0 -177
  629. package/ios/libsodium-stable/src/libsodium/crypto_stream/chacha20/dolbeau/u8.h +0 -326
  630. package/ios/libsodium-stable/src/libsodium/crypto_stream/chacha20/ref/chacha20_ref.c +0 -312
  631. package/ios/libsodium-stable/src/libsodium/crypto_stream/chacha20/ref/chacha20_ref.h +0 -8
  632. package/ios/libsodium-stable/src/libsodium/crypto_stream/chacha20/stream_chacha20.c +0 -184
  633. package/ios/libsodium-stable/src/libsodium/crypto_stream/chacha20/stream_chacha20.h +0 -22
  634. package/ios/libsodium-stable/src/libsodium/crypto_stream/crypto_stream.c +0 -49
  635. package/ios/libsodium-stable/src/libsodium/crypto_stream/salsa20/ref/salsa20_ref.c +0 -120
  636. package/ios/libsodium-stable/src/libsodium/crypto_stream/salsa20/ref/salsa20_ref.h +0 -8
  637. package/ios/libsodium-stable/src/libsodium/crypto_stream/salsa20/stream_salsa20.c +0 -100
  638. package/ios/libsodium-stable/src/libsodium/crypto_stream/salsa20/stream_salsa20.h +0 -16
  639. package/ios/libsodium-stable/src/libsodium/crypto_stream/salsa20/xmm6/salsa20_xmm6-asm.S +0 -965
  640. package/ios/libsodium-stable/src/libsodium/crypto_stream/salsa20/xmm6/salsa20_xmm6.c +0 -31
  641. package/ios/libsodium-stable/src/libsodium/crypto_stream/salsa20/xmm6/salsa20_xmm6.h +0 -8
  642. package/ios/libsodium-stable/src/libsodium/crypto_stream/salsa20/xmm6int/salsa20_xmm6int-avx2.c +0 -134
  643. package/ios/libsodium-stable/src/libsodium/crypto_stream/salsa20/xmm6int/salsa20_xmm6int-avx2.h +0 -8
  644. package/ios/libsodium-stable/src/libsodium/crypto_stream/salsa20/xmm6int/salsa20_xmm6int-sse2.c +0 -128
  645. package/ios/libsodium-stable/src/libsodium/crypto_stream/salsa20/xmm6int/salsa20_xmm6int-sse2.h +0 -8
  646. package/ios/libsodium-stable/src/libsodium/crypto_stream/salsa20/xmm6int/u0.h +0 -195
  647. package/ios/libsodium-stable/src/libsodium/crypto_stream/salsa20/xmm6int/u1.h +0 -207
  648. package/ios/libsodium-stable/src/libsodium/crypto_stream/salsa20/xmm6int/u4.h +0 -547
  649. package/ios/libsodium-stable/src/libsodium/crypto_stream/salsa20/xmm6int/u8.h +0 -477
  650. package/ios/libsodium-stable/src/libsodium/crypto_stream/salsa2012/ref/stream_salsa2012_ref.c +0 -106
  651. package/ios/libsodium-stable/src/libsodium/crypto_stream/salsa2012/stream_salsa2012.c +0 -26
  652. package/ios/libsodium-stable/src/libsodium/crypto_stream/salsa208/ref/stream_salsa208_ref.c +0 -106
  653. package/ios/libsodium-stable/src/libsodium/crypto_stream/salsa208/stream_salsa208.c +0 -26
  654. package/ios/libsodium-stable/src/libsodium/crypto_stream/xchacha20/stream_xchacha20.c +0 -69
  655. package/ios/libsodium-stable/src/libsodium/crypto_stream/xsalsa20/stream_xsalsa20.c +0 -66
  656. package/ios/libsodium-stable/src/libsodium/crypto_verify/verify.c +0 -103
  657. package/ios/libsodium-stable/src/libsodium/include/Makefile.am +0 -76
  658. package/ios/libsodium-stable/src/libsodium/include/sodium/core.h +0 -28
  659. package/ios/libsodium-stable/src/libsodium/include/sodium/crypto_aead_aegis128l.h +0 -92
  660. package/ios/libsodium-stable/src/libsodium/include/sodium/crypto_aead_aegis256.h +0 -92
  661. package/ios/libsodium-stable/src/libsodium/include/sodium/crypto_aead_aes256gcm.h +0 -179
  662. package/ios/libsodium-stable/src/libsodium/include/sodium/crypto_aead_chacha20poly1305.h +0 -180
  663. package/ios/libsodium-stable/src/libsodium/include/sodium/crypto_aead_xchacha20poly1305.h +0 -100
  664. package/ios/libsodium-stable/src/libsodium/include/sodium/crypto_auth.h +0 -46
  665. package/ios/libsodium-stable/src/libsodium/include/sodium/crypto_auth_hmacsha256.h +0 -70
  666. package/ios/libsodium-stable/src/libsodium/include/sodium/crypto_auth_hmacsha512.h +0 -68
  667. package/ios/libsodium-stable/src/libsodium/include/sodium/crypto_auth_hmacsha512256.h +0 -65
  668. package/ios/libsodium-stable/src/libsodium/include/sodium/crypto_box.h +0 -177
  669. package/ios/libsodium-stable/src/libsodium/include/sodium/crypto_box_curve25519xchacha20poly1305.h +0 -164
  670. package/ios/libsodium-stable/src/libsodium/include/sodium/crypto_box_curve25519xsalsa20poly1305.h +0 -112
  671. package/ios/libsodium-stable/src/libsodium/include/sodium/crypto_core_ed25519.h +0 -100
  672. package/ios/libsodium-stable/src/libsodium/include/sodium/crypto_core_hchacha20.h +0 -36
  673. package/ios/libsodium-stable/src/libsodium/include/sodium/crypto_core_hsalsa20.h +0 -36
  674. package/ios/libsodium-stable/src/libsodium/include/sodium/crypto_core_ristretto255.h +0 -100
  675. package/ios/libsodium-stable/src/libsodium/include/sodium/crypto_core_salsa20.h +0 -36
  676. package/ios/libsodium-stable/src/libsodium/include/sodium/crypto_core_salsa2012.h +0 -36
  677. package/ios/libsodium-stable/src/libsodium/include/sodium/crypto_core_salsa208.h +0 -40
  678. package/ios/libsodium-stable/src/libsodium/include/sodium/crypto_generichash.h +0 -84
  679. package/ios/libsodium-stable/src/libsodium/include/sodium/crypto_generichash_blake2b.h +0 -122
  680. package/ios/libsodium-stable/src/libsodium/include/sodium/crypto_hash.h +0 -40
  681. package/ios/libsodium-stable/src/libsodium/include/sodium/crypto_hash_sha256.h +0 -60
  682. package/ios/libsodium-stable/src/libsodium/include/sodium/crypto_hash_sha512.h +0 -60
  683. package/ios/libsodium-stable/src/libsodium/include/sodium/crypto_kdf.h +0 -53
  684. package/ios/libsodium-stable/src/libsodium/include/sodium/crypto_kdf_blake2b.h +0 -44
  685. package/ios/libsodium-stable/src/libsodium/include/sodium/crypto_kdf_hkdf_sha256.h +0 -74
  686. package/ios/libsodium-stable/src/libsodium/include/sodium/crypto_kdf_hkdf_sha512.h +0 -75
  687. package/ios/libsodium-stable/src/libsodium/include/sodium/crypto_kx.h +0 -66
  688. package/ios/libsodium-stable/src/libsodium/include/sodium/crypto_onetimeauth.h +0 -65
  689. package/ios/libsodium-stable/src/libsodium/include/sodium/crypto_onetimeauth_poly1305.h +0 -72
  690. package/ios/libsodium-stable/src/libsodium/include/sodium/crypto_pwhash.h +0 -147
  691. package/ios/libsodium-stable/src/libsodium/include/sodium/crypto_pwhash_argon2i.h +0 -122
  692. package/ios/libsodium-stable/src/libsodium/include/sodium/crypto_pwhash_argon2id.h +0 -122
  693. package/ios/libsodium-stable/src/libsodium/include/sodium/crypto_pwhash_scryptsalsa208sha256.h +0 -120
  694. package/ios/libsodium-stable/src/libsodium/include/sodium/crypto_scalarmult.h +0 -46
  695. package/ios/libsodium-stable/src/libsodium/include/sodium/crypto_scalarmult_curve25519.h +0 -42
  696. package/ios/libsodium-stable/src/libsodium/include/sodium/crypto_scalarmult_ed25519.h +0 -51
  697. package/ios/libsodium-stable/src/libsodium/include/sodium/crypto_scalarmult_ristretto255.h +0 -43
  698. package/ios/libsodium-stable/src/libsodium/include/sodium/crypto_secretbox.h +0 -93
  699. package/ios/libsodium-stable/src/libsodium/include/sodium/crypto_secretbox_xchacha20poly1305.h +0 -70
  700. package/ios/libsodium-stable/src/libsodium/include/sodium/crypto_secretbox_xsalsa20poly1305.h +0 -69
  701. package/ios/libsodium-stable/src/libsodium/include/sodium/crypto_secretstream_xchacha20poly1305.h +0 -108
  702. package/ios/libsodium-stable/src/libsodium/include/sodium/crypto_shorthash.h +0 -41
  703. package/ios/libsodium-stable/src/libsodium/include/sodium/crypto_shorthash_siphash24.h +0 -50
  704. package/ios/libsodium-stable/src/libsodium/include/sodium/crypto_sign.h +0 -107
  705. package/ios/libsodium-stable/src/libsodium/include/sodium/crypto_sign_ed25519.h +0 -124
  706. package/ios/libsodium-stable/src/libsodium/include/sodium/crypto_sign_edwards25519sha512batch.h +0 -55
  707. package/ios/libsodium-stable/src/libsodium/include/sodium/crypto_stream.h +0 -59
  708. package/ios/libsodium-stable/src/libsodium/include/sodium/crypto_stream_chacha20.h +0 -106
  709. package/ios/libsodium-stable/src/libsodium/include/sodium/crypto_stream_salsa20.h +0 -61
  710. package/ios/libsodium-stable/src/libsodium/include/sodium/crypto_stream_salsa2012.h +0 -53
  711. package/ios/libsodium-stable/src/libsodium/include/sodium/crypto_stream_salsa208.h +0 -56
  712. package/ios/libsodium-stable/src/libsodium/include/sodium/crypto_stream_xchacha20.h +0 -61
  713. package/ios/libsodium-stable/src/libsodium/include/sodium/crypto_stream_xsalsa20.h +0 -61
  714. package/ios/libsodium-stable/src/libsodium/include/sodium/crypto_verify_16.h +0 -23
  715. package/ios/libsodium-stable/src/libsodium/include/sodium/crypto_verify_32.h +0 -23
  716. package/ios/libsodium-stable/src/libsodium/include/sodium/crypto_verify_64.h +0 -23
  717. package/ios/libsodium-stable/src/libsodium/include/sodium/export.h +0 -57
  718. package/ios/libsodium-stable/src/libsodium/include/sodium/private/asm_cet.h +0 -11
  719. package/ios/libsodium-stable/src/libsodium/include/sodium/private/chacha20_ietf_ext.h +0 -16
  720. package/ios/libsodium-stable/src/libsodium/include/sodium/private/common.h +0 -296
  721. package/ios/libsodium-stable/src/libsodium/include/sodium/private/ed25519_ref10.h +0 -142
  722. package/ios/libsodium-stable/src/libsodium/include/sodium/private/ed25519_ref10_fe_25_5.h +0 -1030
  723. package/ios/libsodium-stable/src/libsodium/include/sodium/private/ed25519_ref10_fe_51.h +0 -508
  724. package/ios/libsodium-stable/src/libsodium/include/sodium/private/implementations.h +0 -13
  725. package/ios/libsodium-stable/src/libsodium/include/sodium/private/mutex.h +0 -7
  726. package/ios/libsodium-stable/src/libsodium/include/sodium/private/softaes.h +0 -56
  727. package/ios/libsodium-stable/src/libsodium/include/sodium/private/sse2_64_32.h +0 -50
  728. package/ios/libsodium-stable/src/libsodium/include/sodium/randombytes.h +0 -72
  729. package/ios/libsodium-stable/src/libsodium/include/sodium/randombytes_internal_random.h +0 -22
  730. package/ios/libsodium-stable/src/libsodium/include/sodium/randombytes_sysrandom.h +0 -19
  731. package/ios/libsodium-stable/src/libsodium/include/sodium/runtime.h +0 -55
  732. package/ios/libsodium-stable/src/libsodium/include/sodium/utils.h +0 -179
  733. package/ios/libsodium-stable/src/libsodium/include/sodium/version.h.in +0 -33
  734. package/ios/libsodium-stable/src/libsodium/include/sodium.h +0 -75
  735. package/ios/libsodium-stable/src/libsodium/randombytes/internal/randombytes_internal_random.c +0 -648
  736. package/ios/libsodium-stable/src/libsodium/randombytes/randombytes.c +0 -200
  737. package/ios/libsodium-stable/src/libsodium/randombytes/sysrandom/randombytes_sysrandom.c +0 -396
  738. package/ios/libsodium-stable/src/libsodium/sodium/codecs.c +0 -335
  739. package/ios/libsodium-stable/src/libsodium/sodium/core.c +0 -216
  740. package/ios/libsodium-stable/src/libsodium/sodium/runtime.c +0 -391
  741. package/ios/libsodium-stable/src/libsodium/sodium/utils.c +0 -809
  742. package/ios/libsodium-stable/src/libsodium/sodium/version.c +0 -30
  743. package/ios/libsodium-stable/test/Makefile.am +0 -5
  744. package/ios/libsodium-stable/test/constcheck.sh +0 -22
  745. package/ios/libsodium-stable/test/default/Makefile.am +0 -525
  746. package/ios/libsodium-stable/test/default/aead_aegis128l.c +0 -642
  747. package/ios/libsodium-stable/test/default/aead_aegis128l.exp +0 -1
  748. package/ios/libsodium-stable/test/default/aead_aegis256.c +0 -723
  749. package/ios/libsodium-stable/test/default/aead_aegis256.exp +0 -1
  750. package/ios/libsodium-stable/test/default/aead_aes256gcm.c +0 -3328
  751. package/ios/libsodium-stable/test/default/aead_aes256gcm.exp +0 -1
  752. package/ios/libsodium-stable/test/default/aead_aes256gcm2.c +0 -276
  753. package/ios/libsodium-stable/test/default/aead_aes256gcm2.exp +0 -1
  754. package/ios/libsodium-stable/test/default/aead_chacha20poly1305.c +0 -372
  755. package/ios/libsodium-stable/test/default/aead_chacha20poly1305.exp +0 -63
  756. package/ios/libsodium-stable/test/default/aead_chacha20poly13052.c +0 -1046
  757. package/ios/libsodium-stable/test/default/aead_chacha20poly13052.exp +0 -1
  758. package/ios/libsodium-stable/test/default/aead_xchacha20poly1305.c +0 -203
  759. package/ios/libsodium-stable/test/default/aead_xchacha20poly1305.exp +0 -51
  760. package/ios/libsodium-stable/test/default/auth.c +0 -141
  761. package/ios/libsodium-stable/test/default/auth.exp +0 -30
  762. package/ios/libsodium-stable/test/default/auth2.c +0 -34
  763. package/ios/libsodium-stable/test/default/auth2.exp +0 -4
  764. package/ios/libsodium-stable/test/default/auth3.c +0 -36
  765. package/ios/libsodium-stable/test/default/auth3.exp +0 -1
  766. package/ios/libsodium-stable/test/default/auth5.c +0 -41
  767. package/ios/libsodium-stable/test/default/auth5.exp +0 -0
  768. package/ios/libsodium-stable/test/default/auth6.c +0 -23
  769. package/ios/libsodium-stable/test/default/auth6.exp +0 -8
  770. package/ios/libsodium-stable/test/default/auth7.c +0 -41
  771. package/ios/libsodium-stable/test/default/auth7.exp +0 -0
  772. package/ios/libsodium-stable/test/default/box.c +0 -112
  773. package/ios/libsodium-stable/test/default/box.exp +0 -38
  774. package/ios/libsodium-stable/test/default/box2.c +0 -80
  775. package/ios/libsodium-stable/test/default/box2.exp +0 -34
  776. package/ios/libsodium-stable/test/default/box7.c +0 -50
  777. package/ios/libsodium-stable/test/default/box7.exp +0 -0
  778. package/ios/libsodium-stable/test/default/box8.c +0 -58
  779. package/ios/libsodium-stable/test/default/box8.exp +0 -0
  780. package/ios/libsodium-stable/test/default/box_easy.c +0 -72
  781. package/ios/libsodium-stable/test/default/box_easy.exp +0 -3
  782. package/ios/libsodium-stable/test/default/box_easy2.c +0 -149
  783. package/ios/libsodium-stable/test/default/box_easy2.exp +0 -7
  784. package/ios/libsodium-stable/test/default/box_seal.c +0 -165
  785. package/ios/libsodium-stable/test/default/box_seal.exp +0 -8
  786. package/ios/libsodium-stable/test/default/box_seed.c +0 -30
  787. package/ios/libsodium-stable/test/default/box_seed.exp +0 -8
  788. package/ios/libsodium-stable/test/default/chacha20.c +0 -186
  789. package/ios/libsodium-stable/test/default/chacha20.exp +0 -64
  790. package/ios/libsodium-stable/test/default/cmptest.h +0 -238
  791. package/ios/libsodium-stable/test/default/codecs.c +0 -251
  792. package/ios/libsodium-stable/test/default/codecs.exp +0 -30
  793. package/ios/libsodium-stable/test/default/core1.c +0 -41
  794. package/ios/libsodium-stable/test/default/core1.exp +0 -4
  795. package/ios/libsodium-stable/test/default/core2.c +0 -38
  796. package/ios/libsodium-stable/test/default/core2.exp +0 -4
  797. package/ios/libsodium-stable/test/default/core3.c +0 -115
  798. package/ios/libsodium-stable/test/default/core3.exp +0 -3
  799. package/ios/libsodium-stable/test/default/core4.c +0 -36
  800. package/ios/libsodium-stable/test/default/core4.exp +0 -8
  801. package/ios/libsodium-stable/test/default/core5.c +0 -33
  802. package/ios/libsodium-stable/test/default/core5.exp +0 -4
  803. package/ios/libsodium-stable/test/default/core6.c +0 -52
  804. package/ios/libsodium-stable/test/default/core6.exp +0 -4
  805. package/ios/libsodium-stable/test/default/core_ed25519.c +0 -545
  806. package/ios/libsodium-stable/test/default/core_ed25519.exp +0 -55
  807. package/ios/libsodium-stable/test/default/core_ristretto255.c +0 -271
  808. package/ios/libsodium-stable/test/default/core_ristretto255.exp +0 -8
  809. package/ios/libsodium-stable/test/default/ed25519_convert.c +0 -70
  810. package/ios/libsodium-stable/test/default/ed25519_convert.exp +0 -3
  811. package/ios/libsodium-stable/test/default/generichash.c +0 -1406
  812. package/ios/libsodium-stable/test/default/generichash.exp +0 -65
  813. package/ios/libsodium-stable/test/default/generichash2.c +0 -62
  814. package/ios/libsodium-stable/test/default/generichash2.exp +0 -64
  815. package/ios/libsodium-stable/test/default/generichash3.c +0 -176
  816. package/ios/libsodium-stable/test/default/generichash3.exp +0 -75
  817. package/ios/libsodium-stable/test/default/hash.c +0 -47
  818. package/ios/libsodium-stable/test/default/hash.exp +0 -4
  819. package/ios/libsodium-stable/test/default/hash3.c +0 -20
  820. package/ios/libsodium-stable/test/default/hash3.exp +0 -1
  821. package/ios/libsodium-stable/test/default/index.html.tpl +0 -98
  822. package/ios/libsodium-stable/test/default/kdf.c +0 -71
  823. package/ios/libsodium-stable/test/default/kdf.exp +0 -77
  824. package/ios/libsodium-stable/test/default/kdf_hkdf.c +0 -102
  825. package/ios/libsodium-stable/test/default/kdf_hkdf.exp +0 -205
  826. package/ios/libsodium-stable/test/default/keygen.c +0 -67
  827. package/ios/libsodium-stable/test/default/keygen.exp +0 -1
  828. package/ios/libsodium-stable/test/default/kx.c +0 -149
  829. package/ios/libsodium-stable/test/default/kx.exp +0 -7
  830. package/ios/libsodium-stable/test/default/metamorphic.c +0 -187
  831. package/ios/libsodium-stable/test/default/metamorphic.exp +0 -1
  832. package/ios/libsodium-stable/test/default/misuse.c +0 -187
  833. package/ios/libsodium-stable/test/default/misuse.exp +0 -0
  834. package/ios/libsodium-stable/test/default/onetimeauth.c +0 -63
  835. package/ios/libsodium-stable/test/default/onetimeauth.exp +0 -4
  836. package/ios/libsodium-stable/test/default/onetimeauth2.c +0 -33
  837. package/ios/libsodium-stable/test/default/onetimeauth2.exp +0 -1
  838. package/ios/libsodium-stable/test/default/onetimeauth7.c +0 -36
  839. package/ios/libsodium-stable/test/default/onetimeauth7.exp +0 -0
  840. package/ios/libsodium-stable/test/default/pre.js.inc +0 -22
  841. package/ios/libsodium-stable/test/default/pwhash_argon2i.c +0 -467
  842. package/ios/libsodium-stable/test/default/pwhash_argon2i.exp +0 -11
  843. package/ios/libsodium-stable/test/default/pwhash_argon2id.c +0 -517
  844. package/ios/libsodium-stable/test/default/pwhash_argon2id.exp +0 -14
  845. package/ios/libsodium-stable/test/default/pwhash_scrypt.c +0 -393
  846. package/ios/libsodium-stable/test/default/pwhash_scrypt.exp +0 -37
  847. package/ios/libsodium-stable/test/default/pwhash_scrypt_ll.c +0 -59
  848. package/ios/libsodium-stable/test/default/pwhash_scrypt_ll.exp +0 -15
  849. package/ios/libsodium-stable/test/default/randombytes.c +0 -164
  850. package/ios/libsodium-stable/test/default/randombytes.exp +0 -2
  851. package/ios/libsodium-stable/test/default/run.sh +0 -9
  852. package/ios/libsodium-stable/test/default/scalarmult.c +0 -77
  853. package/ios/libsodium-stable/test/default/scalarmult.exp +0 -5
  854. package/ios/libsodium-stable/test/default/scalarmult2.c +0 -22
  855. package/ios/libsodium-stable/test/default/scalarmult2.exp +0 -1
  856. package/ios/libsodium-stable/test/default/scalarmult5.c +0 -30
  857. package/ios/libsodium-stable/test/default/scalarmult5.exp +0 -1
  858. package/ios/libsodium-stable/test/default/scalarmult6.c +0 -54
  859. package/ios/libsodium-stable/test/default/scalarmult6.exp +0 -4
  860. package/ios/libsodium-stable/test/default/scalarmult7.c +0 -34
  861. package/ios/libsodium-stable/test/default/scalarmult7.exp +0 -1
  862. package/ios/libsodium-stable/test/default/scalarmult8.c +0 -580
  863. package/ios/libsodium-stable/test/default/scalarmult8.exp +0 -65
  864. package/ios/libsodium-stable/test/default/scalarmult_ed25519.c +0 -134
  865. package/ios/libsodium-stable/test/default/scalarmult_ed25519.exp +0 -1
  866. package/ios/libsodium-stable/test/default/scalarmult_ristretto255.c +0 -51
  867. package/ios/libsodium-stable/test/default/scalarmult_ristretto255.exp +0 -18
  868. package/ios/libsodium-stable/test/default/secretbox.c +0 -84
  869. package/ios/libsodium-stable/test/default/secretbox.exp +0 -38
  870. package/ios/libsodium-stable/test/default/secretbox2.c +0 -55
  871. package/ios/libsodium-stable/test/default/secretbox2.exp +0 -17
  872. package/ios/libsodium-stable/test/default/secretbox7.c +0 -36
  873. package/ios/libsodium-stable/test/default/secretbox7.exp +0 -0
  874. package/ios/libsodium-stable/test/default/secretbox8.c +0 -41
  875. package/ios/libsodium-stable/test/default/secretbox8.exp +0 -0
  876. package/ios/libsodium-stable/test/default/secretbox_easy.c +0 -124
  877. package/ios/libsodium-stable/test/default/secretbox_easy.exp +0 -9
  878. package/ios/libsodium-stable/test/default/secretbox_easy2.c +0 -72
  879. package/ios/libsodium-stable/test/default/secretbox_easy2.exp +0 -5
  880. package/ios/libsodium-stable/test/default/secretstream_xchacha20poly1305.c +0 -329
  881. package/ios/libsodium-stable/test/default/secretstream_xchacha20poly1305.exp +0 -1
  882. package/ios/libsodium-stable/test/default/shorthash.c +0 -35
  883. package/ios/libsodium-stable/test/default/shorthash.exp +0 -64
  884. package/ios/libsodium-stable/test/default/sign.c +0 -1324
  885. package/ios/libsodium-stable/test/default/sign.exp +0 -5
  886. package/ios/libsodium-stable/test/default/siphashx24.c +0 -33
  887. package/ios/libsodium-stable/test/default/siphashx24.exp +0 -64
  888. package/ios/libsodium-stable/test/default/sodium_core.c +0 -43
  889. package/ios/libsodium-stable/test/default/sodium_core.exp +0 -1
  890. package/ios/libsodium-stable/test/default/sodium_utils.c +0 -224
  891. package/ios/libsodium-stable/test/default/sodium_utils.exp +0 -25
  892. package/ios/libsodium-stable/test/default/sodium_utils2.c +0 -120
  893. package/ios/libsodium-stable/test/default/sodium_utils2.exp +0 -3
  894. package/ios/libsodium-stable/test/default/sodium_utils3.c +0 -90
  895. package/ios/libsodium-stable/test/default/sodium_utils3.exp +0 -2
  896. package/ios/libsodium-stable/test/default/sodium_version.c +0 -18
  897. package/ios/libsodium-stable/test/default/sodium_version.exp +0 -3
  898. package/ios/libsodium-stable/test/default/stream.c +0 -84
  899. package/ios/libsodium-stable/test/default/stream.exp +0 -83
  900. package/ios/libsodium-stable/test/default/stream2.c +0 -59
  901. package/ios/libsodium-stable/test/default/stream2.exp +0 -2
  902. package/ios/libsodium-stable/test/default/stream3.c +0 -32
  903. package/ios/libsodium-stable/test/default/stream3.exp +0 -4
  904. package/ios/libsodium-stable/test/default/stream4.c +0 -51
  905. package/ios/libsodium-stable/test/default/stream4.exp +0 -17
  906. package/ios/libsodium-stable/test/default/verify1.c +0 -76
  907. package/ios/libsodium-stable/test/default/verify1.exp +0 -2
  908. package/ios/libsodium-stable/test/default/wasi-test-wrapper.sh +0 -98
  909. package/ios/libsodium-stable/test/default/wintest.bat +0 -61
  910. package/ios/libsodium-stable/test/default/xchacha20.c +0 -428
  911. package/ios/libsodium-stable/test/default/xchacha20.exp +0 -5
  912. package/ios/libsodium-stable/test/quirks/quirks.h +0 -34
  913. package/nitrogen/generated/shared/c++/CFRGKeyPairType.hpp +0 -86
@@ -0,0 +1,51 @@
1
+ #pragma once
2
+
3
+ #include <memory>
4
+ #include <optional>
5
+ #include <string>
6
+
7
+ #include "HybridKeyObjectHandleSpec.hpp"
8
+ #include "JWK.hpp"
9
+ #include "KeyDetail.hpp"
10
+ #include "KeyObjectData.hpp"
11
+ #include "KeyType.hpp"
12
+ #include "NamedCurve.hpp"
13
+
14
+ namespace margelo::nitro::crypto {
15
+
16
+ class HybridKeyObjectHandle : public HybridKeyObjectHandleSpec {
17
+ public:
18
+ HybridKeyObjectHandle() : HybridObject(TAG) {}
19
+
20
+ public:
21
+ std::shared_ptr<ArrayBuffer> exportKey(std::optional<KFormatType> format, std::optional<KeyEncoding> type,
22
+ const std::optional<std::string>& cipher,
23
+ const std::optional<std::shared_ptr<ArrayBuffer>>& passphrase) override;
24
+
25
+ JWK exportJwk(const JWK& key, bool handleRsaPss) override;
26
+
27
+ AsymmetricKeyType getAsymmetricKeyType() override;
28
+
29
+ bool init(KeyType keyType, const std::variant<std::string, std::shared_ptr<ArrayBuffer>>& key, std::optional<KFormatType> format,
30
+ std::optional<KeyEncoding> type, const std::optional<std::shared_ptr<ArrayBuffer>>& passphrase) override;
31
+
32
+ bool initECRaw(const std::string& namedCurve, const std::shared_ptr<ArrayBuffer>& keyData) override;
33
+
34
+ std::optional<KeyType> initJwk(const JWK& keyData, std::optional<NamedCurve> namedCurve) override;
35
+
36
+ KeyDetail keyDetail() override;
37
+
38
+ KeyObjectData& getKeyObjectData() {
39
+ return data_;
40
+ }
41
+ const KeyObjectData& getKeyObjectData() const {
42
+ return data_;
43
+ }
44
+
45
+ private:
46
+ KeyObjectData data_;
47
+
48
+ bool initRawKey(KeyType keyType, std::shared_ptr<ArrayBuffer> keyData);
49
+ };
50
+
51
+ } // namespace margelo::nitro::crypto
@@ -0,0 +1,226 @@
1
+ #include "KeyObjectData.hpp"
2
+ #include "Utils.hpp"
3
+ #include <optional>
4
+
5
+ namespace margelo::nitro::crypto {
6
+
7
+ ncrypto::EVPKeyPointer::PrivateKeyEncodingConfig GetPrivateKeyEncodingConfig(KFormatType format, KeyEncoding type) {
8
+ auto pk_format = static_cast<ncrypto::EVPKeyPointer::PKFormatType>(format);
9
+ auto pk_type = static_cast<ncrypto::EVPKeyPointer::PKEncodingType>(type);
10
+
11
+ auto config = ncrypto::EVPKeyPointer::PrivateKeyEncodingConfig(false, pk_format, pk_type);
12
+ return config;
13
+ }
14
+
15
+ ncrypto::EVPKeyPointer::PublicKeyEncodingConfig GetPublicKeyEncodingConfig(KFormatType format, KeyEncoding type) {
16
+ auto pk_format = static_cast<ncrypto::EVPKeyPointer::PKFormatType>(format);
17
+ auto pk_type = static_cast<ncrypto::EVPKeyPointer::PKEncodingType>(type);
18
+
19
+ auto config = ncrypto::EVPKeyPointer::PublicKeyEncodingConfig(false, pk_format, pk_type);
20
+ return config;
21
+ }
22
+
23
+ KeyObjectData TryParsePrivateKey(std::shared_ptr<ArrayBuffer> key, std::optional<KFormatType> format, std::optional<KeyEncoding> type,
24
+ const std::optional<std::shared_ptr<ArrayBuffer>>& /* passphrase */) {
25
+ auto config = GetPrivateKeyEncodingConfig(format.value(), type.value());
26
+ auto buffer = ncrypto::Buffer<const unsigned char>{key->data(), key->size()};
27
+ auto res = ncrypto::EVPKeyPointer::TryParsePrivateKey(config, buffer);
28
+ if (res) {
29
+ return KeyObjectData::CreateAsymmetric(KeyType::PRIVATE, std::move(res.value));
30
+ }
31
+
32
+ if (res.error.value() == ncrypto::EVPKeyPointer::PKParseError::NEED_PASSPHRASE) {
33
+ throw std::runtime_error("Passphrase required for encrypted key");
34
+ } else {
35
+ throw std::runtime_error("Failed to read private key");
36
+ }
37
+ }
38
+
39
+ KeyObjectData::KeyObjectData(std::nullptr_t) : key_type_(KeyType::SECRET) {}
40
+
41
+ KeyObjectData::KeyObjectData(std::shared_ptr<ArrayBuffer> symmetric_key)
42
+ : key_type_(KeyType::SECRET), data_(std::make_shared<Data>(std::move(symmetric_key))) {}
43
+
44
+ KeyObjectData::KeyObjectData(KeyType type, ncrypto::EVPKeyPointer&& pkey)
45
+ : key_type_(type), data_(std::make_shared<Data>(std::move(pkey))) {}
46
+
47
+ KeyObjectData KeyObjectData::CreateSecret(std::shared_ptr<ArrayBuffer> key) {
48
+ return KeyObjectData(std::move(key));
49
+ }
50
+
51
+ KeyObjectData KeyObjectData::CreateAsymmetric(KeyType key_type, ncrypto::EVPKeyPointer&& pkey) {
52
+ CHECK(pkey);
53
+ return KeyObjectData(key_type, std::move(pkey));
54
+ }
55
+
56
+ KeyType KeyObjectData::GetKeyType() const {
57
+ if (!data_) {
58
+ throw std::runtime_error("Invalid key object: no key data available");
59
+ }
60
+ return key_type_;
61
+ }
62
+
63
+ const ncrypto::EVPKeyPointer& KeyObjectData::GetAsymmetricKey() const {
64
+ if (key_type_ == KeyType::SECRET) {
65
+ throw std::runtime_error("Cannot get asymmetric key from secret key object");
66
+ }
67
+ if (!data_) {
68
+ throw std::runtime_error("Invalid key object: no key data available");
69
+ }
70
+ return data_->asymmetric_key;
71
+ }
72
+
73
+ std::shared_ptr<ArrayBuffer> KeyObjectData::GetSymmetricKey() const {
74
+ if (key_type_ != KeyType::SECRET) {
75
+ throw std::runtime_error("Cannot get symmetric key from asymmetric key object");
76
+ }
77
+ if (!data_) {
78
+ throw std::runtime_error("Invalid key object: no key data available");
79
+ }
80
+ return data_->symmetric_key;
81
+ }
82
+
83
+ size_t KeyObjectData::GetSymmetricKeySize() const {
84
+ if (key_type_ != KeyType::SECRET) {
85
+ throw std::runtime_error("Cannot get symmetric key size from asymmetric key object");
86
+ }
87
+ if (!data_) {
88
+ throw std::runtime_error("Invalid key object: no key data available");
89
+ }
90
+ return data_->symmetric_key->size();
91
+ }
92
+
93
+ KeyObjectData KeyObjectData::GetPublicOrPrivateKey(std::shared_ptr<ArrayBuffer> key, std::optional<KFormatType> format,
94
+ std::optional<KeyEncoding> type,
95
+ const std::optional<std::shared_ptr<ArrayBuffer>>& passphrase) {
96
+ // Check if key size fits in int32_t without using double conversion
97
+ if (key->size() > static_cast<size_t>(std::numeric_limits<int32_t>::max())) {
98
+ std::string error_msg = "key is too big (int32): size=" + std::to_string(key->size()) +
99
+ ", max_int32=" + std::to_string(std::numeric_limits<int32_t>::max());
100
+ throw std::runtime_error(error_msg);
101
+ }
102
+
103
+ // If no format is specified, assume DER format for binary data
104
+ KFormatType actualFormat = format.has_value() ? format.value() : KFormatType::DER;
105
+
106
+ if (actualFormat == KFormatType::PEM || actualFormat == KFormatType::DER) {
107
+ auto buffer = ncrypto::Buffer<const unsigned char>{key->data(), key->size()};
108
+
109
+ if (actualFormat == KFormatType::PEM) {
110
+ // For PEM, we can easily determine whether it is a public or private key
111
+ // by looking for the respective PEM tags.
112
+ auto res = ncrypto::EVPKeyPointer::TryParsePublicKeyPEM(buffer);
113
+ if (res) {
114
+ return CreateAsymmetric(KeyType::PUBLIC, std::move(res.value));
115
+ }
116
+
117
+ if (res.error.has_value() && res.error.value() == ncrypto::EVPKeyPointer::PKParseError::NOT_RECOGNIZED) {
118
+ auto config = GetPrivateKeyEncodingConfig(actualFormat, type.value());
119
+ if (passphrase.has_value()) {
120
+ auto& passphrase_ptr = passphrase.value();
121
+ config.passphrase = std::make_optional(ncrypto::DataPointer(passphrase_ptr->data(), passphrase_ptr->size()));
122
+ }
123
+
124
+ auto private_res = ncrypto::EVPKeyPointer::TryParsePrivateKey(config, buffer);
125
+ if (private_res) {
126
+ return CreateAsymmetric(KeyType::PRIVATE, std::move(private_res.value));
127
+ }
128
+ }
129
+ throw std::runtime_error("Failed to read PEM asymmetric key");
130
+ } else if (actualFormat == KFormatType::DER) {
131
+ // For DER, try parsing as public key first
132
+ if (type.has_value() && type.value() == KeyEncoding::SPKI) {
133
+ auto public_config = GetPublicKeyEncodingConfig(actualFormat, type.value());
134
+ auto res = ncrypto::EVPKeyPointer::TryParsePublicKey(public_config, buffer);
135
+ if (res) {
136
+ return CreateAsymmetric(KeyType::PUBLIC, std::move(res.value));
137
+ }
138
+ } else if (type.has_value() && type.value() == KeyEncoding::PKCS8) {
139
+ auto private_config = GetPrivateKeyEncodingConfig(actualFormat, type.value());
140
+ if (passphrase.has_value()) {
141
+ auto& passphrase_ptr = passphrase.value();
142
+ private_config.passphrase = std::make_optional(ncrypto::DataPointer(passphrase_ptr->data(), passphrase_ptr->size()));
143
+ }
144
+ auto res = ncrypto::EVPKeyPointer::TryParsePrivateKey(private_config, buffer);
145
+ if (res) {
146
+ return CreateAsymmetric(KeyType::PRIVATE, std::move(res.value));
147
+ }
148
+ } else {
149
+ // If no encoding type specified, try both SPKI and PKCS8
150
+ auto public_config = GetPublicKeyEncodingConfig(actualFormat, KeyEncoding::SPKI);
151
+ auto public_res = ncrypto::EVPKeyPointer::TryParsePublicKey(public_config, buffer);
152
+ if (public_res) {
153
+ return CreateAsymmetric(KeyType::PUBLIC, std::move(public_res.value));
154
+ }
155
+
156
+ auto private_config = GetPrivateKeyEncodingConfig(actualFormat, KeyEncoding::PKCS8);
157
+ auto private_res = ncrypto::EVPKeyPointer::TryParsePrivateKey(private_config, buffer);
158
+ if (private_res) {
159
+ return CreateAsymmetric(KeyType::PRIVATE, std::move(private_res.value));
160
+ }
161
+ }
162
+ throw std::runtime_error("Failed to read DER asymmetric key");
163
+ }
164
+ }
165
+
166
+ throw std::runtime_error("Unsupported key format for GetPublicOrPrivateKey. Only PEM and DER are supported.");
167
+ }
168
+
169
+ KeyObjectData KeyObjectData::GetPrivateKey(std::shared_ptr<ArrayBuffer> key, std::optional<KFormatType> format,
170
+ std::optional<KeyEncoding> type, const std::optional<std::shared_ptr<ArrayBuffer>>& passphrase,
171
+ bool /* isPublic */) {
172
+ // Check if key size fits in int32_t without using double conversion
173
+ if (key->size() > static_cast<size_t>(std::numeric_limits<int32_t>::max())) {
174
+ std::string error_msg = "key is too big (int32): size=" + std::to_string(key->size()) +
175
+ ", max_int32=" + std::to_string(std::numeric_limits<int32_t>::max());
176
+ throw std::runtime_error(error_msg);
177
+ }
178
+
179
+ // If no format is specified, assume DER format for binary data
180
+ KFormatType actualFormat = format.has_value() ? format.value() : KFormatType::DER;
181
+
182
+ if (actualFormat == KFormatType::PEM || actualFormat == KFormatType::DER) {
183
+ auto buffer = ncrypto::Buffer<const unsigned char>{key->data(), key->size()};
184
+
185
+ if (actualFormat == KFormatType::PEM) {
186
+ return TryParsePrivateKey(key, format, type, passphrase);
187
+ } else if (actualFormat == KFormatType::DER) {
188
+ // Try the specified encoding first, or PKCS8 as default
189
+ KeyEncoding primaryEncoding = type.value_or(KeyEncoding::PKCS8);
190
+ auto private_config = GetPrivateKeyEncodingConfig(actualFormat, primaryEncoding);
191
+ if (passphrase.has_value()) {
192
+ auto& passphrase_ptr = passphrase.value();
193
+ private_config.passphrase = std::make_optional(ncrypto::DataPointer(passphrase_ptr->data(), passphrase_ptr->size()));
194
+ }
195
+
196
+ // Clear any existing OpenSSL errors before parsing
197
+ ERR_clear_error();
198
+
199
+ auto res = ncrypto::EVPKeyPointer::TryParsePrivateKey(private_config, buffer);
200
+ if (res) {
201
+ return CreateAsymmetric(KeyType::PRIVATE, std::move(res.value));
202
+ }
203
+
204
+ // If no specific encoding was provided, try other encodings as fallback
205
+ if (!type.has_value()) {
206
+ std::vector<KeyEncoding> fallbackEncodings = {KeyEncoding::SEC1, KeyEncoding::PKCS1};
207
+ for (auto encoding : fallbackEncodings) {
208
+ auto config = GetPrivateKeyEncodingConfig(actualFormat, encoding);
209
+ if (passphrase.has_value()) {
210
+ auto& passphrase_ptr = passphrase.value();
211
+ config.passphrase = std::make_optional(ncrypto::DataPointer(passphrase_ptr->data(), passphrase_ptr->size()));
212
+ }
213
+ auto fallback_res = ncrypto::EVPKeyPointer::TryParsePrivateKey(config, buffer);
214
+ if (fallback_res) {
215
+ return CreateAsymmetric(KeyType::PRIVATE, std::move(fallback_res.value));
216
+ }
217
+ }
218
+ }
219
+ throw std::runtime_error("Failed to read DER private key");
220
+ }
221
+ }
222
+
223
+ throw std::runtime_error("Unsupported key format for GetPrivateKey. Only PEM and DER are supported.");
224
+ }
225
+
226
+ } // namespace margelo::nitro::crypto
@@ -0,0 +1,71 @@
1
+ #include <memory>
2
+
3
+ #include <NitroModules/ArrayBuffer.hpp>
4
+
5
+ #include "../../deps/ncrypto/ncrypto.h"
6
+ #include "KFormatType.hpp"
7
+ #include "KeyEncoding.hpp"
8
+ #include "KeyType.hpp"
9
+ #include "Utils.hpp"
10
+
11
+ namespace margelo::nitro::crypto {
12
+
13
+ class KeyObjectData final {
14
+ public:
15
+ static KeyObjectData CreateSecret(std::shared_ptr<ArrayBuffer> key);
16
+
17
+ static KeyObjectData CreateAsymmetric(KeyType type, ncrypto::EVPKeyPointer&& pkey);
18
+
19
+ KeyObjectData(std::nullptr_t = nullptr);
20
+
21
+ inline operator bool() const {
22
+ return data_ != nullptr;
23
+ }
24
+
25
+ KeyType GetKeyType() const;
26
+
27
+ // These functions allow unprotected access to the raw key material and should
28
+ // only be used to implement cryptographic operations requiring the key.
29
+ const ncrypto::EVPKeyPointer& GetAsymmetricKey() const;
30
+ std::shared_ptr<ArrayBuffer> GetSymmetricKey() const;
31
+ size_t GetSymmetricKeySize() const;
32
+
33
+ static KeyObjectData GetPublicOrPrivateKey(std::shared_ptr<ArrayBuffer> key, std::optional<KFormatType> format,
34
+ std::optional<KeyEncoding> type,
35
+ const std::optional<std::shared_ptr<ArrayBuffer>>& passphrase);
36
+
37
+ static KeyObjectData GetPrivateKey(std::shared_ptr<ArrayBuffer> key, std::optional<KFormatType> format, std::optional<KeyEncoding> type,
38
+ const std::optional<std::shared_ptr<ArrayBuffer>>& passphrase, bool isPublic);
39
+
40
+ inline KeyObjectData addRef() const {
41
+ return KeyObjectData(key_type_, data_);
42
+ }
43
+
44
+ inline KeyObjectData addRefWithType(KeyType type) const {
45
+ return KeyObjectData(type, data_);
46
+ }
47
+
48
+ private:
49
+ explicit KeyObjectData(std::shared_ptr<ArrayBuffer> symmetric_key);
50
+ explicit KeyObjectData(KeyType type, ncrypto::EVPKeyPointer&& pkey);
51
+
52
+ // static KeyObjectData GetParsedKey(KeyType type,
53
+ // Environment* env,
54
+ // ncrypto::EVPKeyPointer&& pkey,
55
+ // ParseKeyResult ret,
56
+ // const char* default_msg);
57
+
58
+ KeyType key_type_;
59
+
60
+ struct Data {
61
+ const std::shared_ptr<ArrayBuffer> symmetric_key;
62
+ const ncrypto::EVPKeyPointer asymmetric_key;
63
+ explicit Data(std::shared_ptr<ArrayBuffer> symmetric_key) : symmetric_key(std::move(symmetric_key)) {}
64
+ explicit Data(ncrypto::EVPKeyPointer asymmetric_key) : asymmetric_key(std::move(asymmetric_key)) {}
65
+ };
66
+ std::shared_ptr<Data> data_;
67
+
68
+ KeyObjectData(KeyType type, std::shared_ptr<Data> data) : key_type_(type), data_(data) {}
69
+ };
70
+
71
+ } // namespace margelo::nitro::crypto
@@ -0,0 +1,5 @@
1
+ #pragma once
2
+
3
+ // BINARY is a deprecated alias of LATIN1.
4
+ // BASE64URL is not currently exposed to the JavaScript side.
5
+ enum encoding { ASCII, UTF8, BASE64, UCS2, BINARY, HEX, BUFFER, BASE64URL, LATIN1 = BINARY };
@@ -0,0 +1,154 @@
1
+ #include <NitroModules/ArrayBuffer.hpp>
2
+ #include <NitroModules/Promise.hpp>
3
+ #include <memory>
4
+ #include <openssl/bio.h>
5
+ #include <openssl/buffer.h>
6
+ #include <openssl/err.h>
7
+ #include <openssl/evp.h>
8
+ #include <openssl/pem.h>
9
+ #include <openssl/rsa.h>
10
+ #include <stdexcept>
11
+ #include <string>
12
+
13
+ #include "HybridRsaKeyPair.hpp"
14
+ #include "Utils.hpp"
15
+
16
+ namespace margelo::nitro::crypto {
17
+
18
+ std::shared_ptr<Promise<void>> HybridRsaKeyPair::generateKeyPair() {
19
+ return Promise<void>::async([this]() { this->generateKeyPairSync(); });
20
+ }
21
+
22
+ void HybridRsaKeyPair::generateKeyPairSync() {
23
+ // Clean up existing key if any
24
+ if (this->pkey != nullptr) {
25
+ EVP_PKEY_free(this->pkey);
26
+ this->pkey = nullptr;
27
+ }
28
+
29
+ // Create key generation context
30
+ std::unique_ptr<EVP_PKEY_CTX, decltype(&EVP_PKEY_CTX_free)> ctx(EVP_PKEY_CTX_new_id(EVP_PKEY_RSA, nullptr), EVP_PKEY_CTX_free);
31
+
32
+ if (!ctx) {
33
+ throw std::runtime_error("Failed to create RSA key generation context");
34
+ }
35
+
36
+ if (EVP_PKEY_keygen_init(ctx.get()) <= 0) {
37
+ throw std::runtime_error("Failed to initialize RSA key generation");
38
+ }
39
+
40
+ // Set modulus length
41
+ if (EVP_PKEY_CTX_set_rsa_keygen_bits(ctx.get(), this->modulusLength) <= 0) {
42
+ throw std::runtime_error("Failed to set RSA modulus length");
43
+ }
44
+
45
+ // Set public exponent
46
+ std::unique_ptr<BIGNUM, decltype(&BN_free)> exponent(BN_new(), BN_free);
47
+ if (!exponent) {
48
+ throw std::runtime_error("Failed to create BIGNUM for public exponent");
49
+ }
50
+
51
+ // Default to 65537 (0x10001) if no public exponent is set
52
+ if (this->publicExponent.empty()) {
53
+ if (BN_set_word(exponent.get(), RSA_F4) != 1) {
54
+ throw std::runtime_error("Failed to set default public exponent");
55
+ }
56
+ } else {
57
+ if (BN_bin2bn(this->publicExponent.data(), this->publicExponent.size(), exponent.get()) == nullptr) {
58
+ throw std::runtime_error("Failed to convert public exponent to BIGNUM");
59
+ }
60
+ }
61
+
62
+ if (EVP_PKEY_CTX_set1_rsa_keygen_pubexp(ctx.get(), exponent.get()) <= 0) {
63
+ throw std::runtime_error("Failed to set RSA public exponent");
64
+ }
65
+
66
+ // Generate the key pair
67
+ EVP_PKEY* raw_pkey = nullptr;
68
+ if (EVP_PKEY_keygen(ctx.get(), &raw_pkey) <= 0) {
69
+ throw std::runtime_error("Failed to generate RSA key pair");
70
+ }
71
+
72
+ this->pkey = raw_pkey;
73
+ }
74
+
75
+ void HybridRsaKeyPair::setModulusLength(double modulusLength) {
76
+ this->modulusLength = static_cast<int>(modulusLength);
77
+ }
78
+
79
+ void HybridRsaKeyPair::setPublicExponent(const std::shared_ptr<ArrayBuffer>& publicExponent) {
80
+ if (publicExponent && publicExponent->size() > 0) {
81
+ const uint8_t* data = publicExponent->data();
82
+ this->publicExponent.assign(data, data + publicExponent->size());
83
+ }
84
+ }
85
+
86
+ void HybridRsaKeyPair::setHashAlgorithm(const std::string& hashAlgorithm) {
87
+ this->hashAlgorithm = hashAlgorithm;
88
+ }
89
+
90
+ std::shared_ptr<ArrayBuffer> HybridRsaKeyPair::getPublicKey() {
91
+ this->checkKeyPair();
92
+
93
+ // Export as DER format using direct OpenSSL calls
94
+ BIO* bio = BIO_new(BIO_s_mem());
95
+ if (!bio) {
96
+ throw std::runtime_error("Failed to create BIO for public key export");
97
+ }
98
+
99
+ if (i2d_PUBKEY_bio(bio, this->pkey) != 1) {
100
+ BIO_free(bio);
101
+ throw std::runtime_error("Failed to export public key to DER format");
102
+ }
103
+
104
+ BUF_MEM* mem;
105
+ BIO_get_mem_ptr(bio, &mem);
106
+
107
+ // Create a string from the DER data and use ToNativeArrayBuffer utility
108
+ std::string derData(mem->data, mem->length);
109
+ BIO_free(bio);
110
+
111
+ return ToNativeArrayBuffer(derData);
112
+ }
113
+
114
+ std::shared_ptr<ArrayBuffer> HybridRsaKeyPair::getPrivateKey() {
115
+ this->checkKeyPair();
116
+
117
+ // Export as DER format in PKCS8 format using direct OpenSSL calls
118
+ BIO* bio = BIO_new(BIO_s_mem());
119
+ if (!bio) {
120
+ throw std::runtime_error("Failed to create BIO for private key export");
121
+ }
122
+
123
+ if (i2d_PKCS8PrivateKey_bio(bio, this->pkey, nullptr, nullptr, 0, nullptr, nullptr) != 1) {
124
+ BIO_free(bio);
125
+ throw std::runtime_error("Failed to export private key to DER PKCS8 format");
126
+ }
127
+
128
+ BUF_MEM* mem;
129
+ BIO_get_mem_ptr(bio, &mem);
130
+
131
+ // Create a string from the DER data and use ToNativeArrayBuffer utility
132
+ std::string derData(mem->data, mem->length);
133
+ BIO_free(bio);
134
+
135
+ return ToNativeArrayBuffer(derData);
136
+ }
137
+
138
+ KeyObject HybridRsaKeyPair::importKey(const std::string& /* format */, const std::shared_ptr<ArrayBuffer>& /* keyData */,
139
+ const std::string& /* algorithm */, bool /* extractable */,
140
+ const std::vector<std::string>& /* keyUsages */) {
141
+ throw std::runtime_error("HybridRsaKeyPair::importKey() is not yet implemented");
142
+ }
143
+
144
+ std::shared_ptr<ArrayBuffer> HybridRsaKeyPair::exportKey(const KeyObject& /* key */, const std::string& /* format */) {
145
+ throw std::runtime_error("HybridRsaKeyPair::exportKey() is not yet implemented");
146
+ }
147
+
148
+ void HybridRsaKeyPair::checkKeyPair() {
149
+ if (this->pkey == nullptr) {
150
+ throw std::runtime_error("RSA KeyPair not initialized");
151
+ }
152
+ }
153
+
154
+ } // namespace margelo::nitro::crypto
@@ -0,0 +1,43 @@
1
+ #pragma once
2
+
3
+ #include "HybridRsaKeyPairSpec.hpp"
4
+ #include <NitroModules/ArrayBuffer.hpp>
5
+ #include <NitroModules/Promise.hpp>
6
+ #include <memory>
7
+ #include <openssl/evp.h>
8
+ #include <openssl/rsa.h>
9
+ #include <string>
10
+ #include <vector>
11
+
12
+ namespace margelo::nitro::crypto {
13
+
14
+ class HybridRsaKeyPair : public HybridRsaKeyPairSpec {
15
+ public:
16
+ HybridRsaKeyPair() : HybridObject(TAG), pkey(nullptr), modulusLength(2048), hashAlgorithm("SHA-256") {}
17
+ ~HybridRsaKeyPair() {
18
+ if (pkey) {
19
+ EVP_PKEY_free(pkey);
20
+ }
21
+ }
22
+
23
+ std::shared_ptr<Promise<void>> generateKeyPair() override;
24
+ void generateKeyPairSync() override;
25
+ void setModulusLength(double modulusLength) override;
26
+ void setPublicExponent(const std::shared_ptr<ArrayBuffer>& publicExponent) override;
27
+ void setHashAlgorithm(const std::string& hashAlgorithm) override;
28
+ std::shared_ptr<ArrayBuffer> getPublicKey() override;
29
+ std::shared_ptr<ArrayBuffer> getPrivateKey() override;
30
+ KeyObject importKey(const std::string& format, const std::shared_ptr<ArrayBuffer>& keyData, const std::string& algorithm,
31
+ bool extractable, const std::vector<std::string>& keyUsages) override;
32
+ std::shared_ptr<ArrayBuffer> exportKey(const KeyObject& key, const std::string& format) override;
33
+
34
+ private:
35
+ EVP_PKEY* pkey;
36
+ int modulusLength;
37
+ std::vector<unsigned char> publicExponent;
38
+ std::string hashAlgorithm;
39
+
40
+ void checkKeyPair();
41
+ };
42
+
43
+ } // namespace margelo::nitro::crypto
@@ -0,0 +1,68 @@
1
+ #include <utility>
2
+
3
+ // Windows 8+ does not like abort() in Release mode
4
+ #ifdef _WIN32
5
+ #define ABORT_NO_BACKTRACE() _exit(134)
6
+ #else
7
+ #define ABORT_NO_BACKTRACE() abort()
8
+ #endif
9
+
10
+ struct AssertionInfo {
11
+ const char* file_line; // filename:line
12
+ const char* message;
13
+ const char* function;
14
+ };
15
+
16
+ inline void Abort() {
17
+ // DumpBacktrace(stderr);
18
+ fflush(stderr);
19
+ ABORT_NO_BACKTRACE();
20
+ }
21
+
22
+ inline void Assert(const AssertionInfo& info) {
23
+ // std::string name = GetHumanReadableProcessName();
24
+
25
+ fprintf(stderr, "%s:%s%s Assertion `%s' failed.\n", info.file_line, info.function, *info.function ? ":" : "", info.message);
26
+ fflush(stderr);
27
+
28
+ Abort();
29
+ }
30
+
31
+ // Macros stolen from Node
32
+ #define ERROR_AND_ABORT(expr) \
33
+ do { \
34
+ /* Make sure that this struct does not end up in inline code, but */ \
35
+ /* rather in a read-only data section when modifying this code. */ \
36
+ static const AssertionInfo args = {__FILE__ ":" STRINGIFY(__LINE__), #expr, PRETTY_FUNCTION_NAME}; \
37
+ Assert(args); \
38
+ } while (0)
39
+
40
+ #ifdef __GNUC__
41
+ #define LIKELY(expr) __builtin_expect(!!(expr), 1)
42
+ #define UNLIKELY(expr) __builtin_expect(!!(expr), 0)
43
+ #define PRETTY_FUNCTION_NAME __PRETTY_FUNCTION__
44
+ #else
45
+ #define LIKELY(expr) expr
46
+ #define UNLIKELY(expr) expr
47
+ #define PRETTY_FUNCTION_NAME ""
48
+ #endif
49
+
50
+ #define STRINGIFY_(x) #x
51
+ #define STRINGIFY(x) STRINGIFY_(x)
52
+
53
+ #define CHECK(expr) \
54
+ do { \
55
+ if (UNLIKELY(!(expr))) { \
56
+ ERROR_AND_ABORT(expr); \
57
+ } \
58
+ } while (0)
59
+
60
+ #define CHECK_EQ(a, b) CHECK((a) == (b))
61
+ #define CHECK_GE(a, b) CHECK((a) >= (b))
62
+ #define CHECK_GT(a, b) CHECK((a) > (b))
63
+ #define CHECK_LE(a, b) CHECK((a) <= (b))
64
+ #define CHECK_LT(a, b) CHECK((a) < (b))
65
+ #define CHECK_NE(a, b) CHECK((a) != (b))
66
+ #define CHECK_NULL(val) CHECK((val) == nullptr)
67
+ #define CHECK_NOT_NULL(val) CHECK((val) != nullptr)
68
+ #define CHECK_IMPLIES(a, b) CHECK(!(a) || (b))
@@ -3,12 +3,32 @@
3
3
  #include <algorithm>
4
4
  #include <cctype>
5
5
  #include <limits>
6
+ #include <openssl/err.h>
6
7
  #include <string>
7
8
 
9
+ #include "Macros.hpp"
8
10
  #include <NitroModules/ArrayBuffer.hpp>
9
11
 
10
12
  namespace margelo::nitro::crypto {
11
13
 
14
+ // Function to get the last OpenSSL error message and clear the error stack
15
+ inline std::string getOpenSSLError() {
16
+ unsigned long errCode = ERR_get_error();
17
+ if (errCode == 0) {
18
+ return "";
19
+ }
20
+ char errStr[256];
21
+ ERR_error_string_n(errCode, errStr, sizeof(errStr));
22
+ // Clear any remaining errors from the error stack to prevent pollution
23
+ ERR_clear_error();
24
+ return std::string(errStr);
25
+ }
26
+
27
+ // Function to clear OpenSSL error stack without getting error message
28
+ inline void clearOpenSSLErrors() {
29
+ ERR_clear_error();
30
+ }
31
+
12
32
  // copy a JSArrayBuffer that we do not own into a NativeArrayBuffer that we do own
13
33
  inline std::shared_ptr<margelo::nitro::NativeArrayBuffer> ToNativeArrayBuffer(const std::shared_ptr<margelo::nitro::ArrayBuffer>& buffer) {
14
34
  size_t bufferSize = buffer.get()->size();
@@ -17,6 +37,13 @@ inline std::shared_ptr<margelo::nitro::NativeArrayBuffer> ToNativeArrayBuffer(co
17
37
  return std::make_shared<margelo::nitro::NativeArrayBuffer>(data, bufferSize, [=]() { delete[] data; });
18
38
  }
19
39
 
40
+ inline std::shared_ptr<margelo::nitro::NativeArrayBuffer> ToNativeArrayBuffer(std::string str) {
41
+ size_t size = str.size();
42
+ uint8_t* data = new uint8_t[size];
43
+ memcpy(data, str.data(), size);
44
+ return std::make_shared<margelo::nitro::NativeArrayBuffer>(data, size, [=]() { delete[] data; });
45
+ }
46
+
20
47
  inline bool CheckIsUint32(double value) {
21
48
  return (value >= std::numeric_limits<uint32_t>::lowest() && value <= std::numeric_limits<uint32_t>::max());
22
49
  }