react-native-quick-crypto 0.7.11 → 1.0.0-beta.10

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 (419) hide show
  1. package/QuickCrypto.podspec +47 -0
  2. package/README.md +6 -4
  3. package/android/CMakeLists.txt +26 -55
  4. package/android/build.gradle +70 -112
  5. package/android/gradle.properties +3 -3
  6. package/android/src/main/cpp/cpp-adapter.cpp +3 -64
  7. package/android/src/main/java/com/margelo/nitro/quickcrypto/QuickCryptoPackage.java +43 -0
  8. package/cpp/ed25519/HybridEdKeyPair.cpp +268 -0
  9. package/cpp/ed25519/HybridEdKeyPair.hpp +85 -0
  10. package/cpp/pbkdf2/HybridPbkdf2.cpp +72 -0
  11. package/cpp/pbkdf2/HybridPbkdf2.hpp +35 -0
  12. package/cpp/random/HybridRandom.cpp +59 -0
  13. package/cpp/random/HybridRandom.hpp +33 -0
  14. package/cpp/utils/Utils.hpp +20 -0
  15. package/lib/commonjs/ed.js +42 -0
  16. package/lib/commonjs/ed.js.map +1 -0
  17. package/lib/commonjs/index.js +90 -39
  18. package/lib/commonjs/index.js.map +1 -1
  19. package/lib/commonjs/keys/classes.js +191 -0
  20. package/lib/commonjs/keys/classes.js.map +1 -0
  21. package/lib/commonjs/keys/generateKeyPair.js +148 -0
  22. package/lib/commonjs/keys/generateKeyPair.js.map +1 -0
  23. package/lib/commonjs/keys/index.js +62 -0
  24. package/lib/commonjs/keys/index.js.map +1 -0
  25. package/lib/commonjs/keys/signVerify.js +41 -0
  26. package/lib/commonjs/keys/signVerify.js.map +1 -0
  27. package/lib/commonjs/keys/utils.js +118 -0
  28. package/lib/commonjs/keys/utils.js.map +1 -0
  29. package/lib/commonjs/pbkdf2.js +29 -19
  30. package/lib/commonjs/pbkdf2.js.map +1 -1
  31. package/lib/commonjs/random.js +27 -11
  32. package/lib/commonjs/random.js.map +1 -1
  33. package/lib/commonjs/{NativeQuickCrypto/aes.js → specs/edKeyPair.nitro.js} +1 -1
  34. package/lib/commonjs/{NativeQuickCrypto/aes.js.map → specs/edKeyPair.nitro.js.map} +1 -1
  35. package/lib/commonjs/{NativeQuickCrypto/keygen.js → specs/keyObjectHandle.nitro.js} +1 -1
  36. package/lib/commonjs/{NativeQuickCrypto/hash.js.map → specs/keyObjectHandle.nitro.js.map} +1 -1
  37. package/lib/commonjs/{NativeQuickCrypto/rsa.js → specs/pbkdf2.nitro.js} +1 -1
  38. package/lib/{module/NativeQuickCrypto/aes.js.map → commonjs/specs/pbkdf2.nitro.js.map} +1 -1
  39. package/lib/commonjs/{NativeQuickCrypto/webcrypto.js → specs/random.nitro.js} +1 -1
  40. package/lib/{module/NativeQuickCrypto/rsa.js.map → commonjs/specs/random.nitro.js.map} +1 -1
  41. package/lib/commonjs/utils/conversion.js +117 -0
  42. package/lib/commonjs/utils/conversion.js.map +1 -0
  43. package/lib/commonjs/utils/errors.js +14 -0
  44. package/lib/commonjs/utils/errors.js.map +1 -0
  45. package/lib/commonjs/{Hashnames.js → utils/hashnames.js} +2 -5
  46. package/lib/commonjs/utils/hashnames.js.map +1 -0
  47. package/lib/commonjs/utils/index.js +61 -0
  48. package/lib/commonjs/utils/index.js.map +1 -0
  49. package/lib/commonjs/utils/types.js +40 -0
  50. package/lib/commonjs/utils/types.js.map +1 -0
  51. package/lib/commonjs/utils/validation.js +25 -0
  52. package/lib/commonjs/utils/validation.js.map +1 -0
  53. package/lib/module/ed.js +37 -0
  54. package/lib/module/ed.js.map +1 -0
  55. package/lib/module/index.js +44 -37
  56. package/lib/module/index.js.map +1 -1
  57. package/lib/module/keys/classes.js +182 -0
  58. package/lib/module/keys/classes.js.map +1 -0
  59. package/lib/module/keys/generateKeyPair.js +148 -0
  60. package/lib/module/keys/generateKeyPair.js.map +1 -0
  61. package/lib/module/keys/index.js +29 -0
  62. package/lib/module/keys/index.js.map +1 -0
  63. package/lib/module/keys/signVerify.js +41 -0
  64. package/lib/module/keys/signVerify.js.map +1 -0
  65. package/lib/module/keys/utils.js +110 -0
  66. package/lib/module/keys/utils.js.map +1 -0
  67. package/lib/module/pbkdf2.js +17 -7
  68. package/lib/module/pbkdf2.js.map +1 -1
  69. package/lib/module/random.js +26 -10
  70. package/lib/module/random.js.map +1 -1
  71. package/lib/module/specs/edKeyPair.nitro.js +4 -0
  72. package/lib/{commonjs/NativeQuickCrypto/rsa.js.map → module/specs/edKeyPair.nitro.js.map} +1 -1
  73. package/lib/module/specs/keyObjectHandle.nitro.js +4 -0
  74. package/lib/{commonjs/NativeQuickCrypto/hmac.js.map → module/specs/keyObjectHandle.nitro.js.map} +1 -1
  75. package/lib/module/specs/pbkdf2.nitro.js +4 -0
  76. package/lib/module/specs/pbkdf2.nitro.js.map +1 -0
  77. package/lib/module/specs/random.nitro.js +4 -0
  78. package/lib/module/specs/random.nitro.js.map +1 -0
  79. package/lib/module/utils/conversion.js +107 -0
  80. package/lib/module/utils/conversion.js.map +1 -0
  81. package/lib/module/utils/errors.js +10 -0
  82. package/lib/module/utils/errors.js.map +1 -0
  83. package/lib/module/{Hashnames.js → utils/hashnames.js} +2 -5
  84. package/lib/module/utils/hashnames.js.map +1 -0
  85. package/lib/module/utils/index.js +8 -0
  86. package/lib/module/utils/index.js.map +1 -0
  87. package/lib/module/utils/types.js +42 -0
  88. package/lib/module/utils/types.js.map +1 -0
  89. package/lib/module/utils/validation.js +19 -0
  90. package/lib/module/utils/validation.js.map +1 -0
  91. package/lib/tsconfig.tsbuildinfo +1 -0
  92. package/lib/typescript/ed.d.ts +17 -0
  93. package/lib/typescript/ed.d.ts.map +1 -0
  94. package/lib/typescript/index.d.ts +74 -0
  95. package/lib/typescript/index.d.ts.map +1 -0
  96. package/lib/typescript/keys/classes.d.ts +38 -0
  97. package/lib/typescript/keys/classes.d.ts.map +1 -0
  98. package/lib/typescript/keys/generateKeyPair.d.ts +1 -0
  99. package/lib/typescript/keys/generateKeyPair.d.ts.map +1 -0
  100. package/lib/typescript/keys/index.d.ts +4 -0
  101. package/lib/typescript/keys/index.d.ts.map +1 -0
  102. package/lib/typescript/keys/signVerify.d.ts +1 -0
  103. package/lib/typescript/keys/signVerify.d.ts.map +1 -0
  104. package/lib/typescript/keys/utils.d.ts +32 -0
  105. package/lib/typescript/keys/utils.d.ts.map +1 -0
  106. package/lib/typescript/{src/pbkdf2.d.ts → pbkdf2.d.ts} +4 -3
  107. package/lib/typescript/pbkdf2.d.ts.map +1 -0
  108. package/lib/typescript/{src/random.d.ts → random.d.ts} +4 -4
  109. package/lib/typescript/random.d.ts.map +1 -0
  110. package/lib/typescript/specs/edKeyPair.nitro.d.ts +16 -0
  111. package/lib/typescript/specs/edKeyPair.nitro.d.ts.map +1 -0
  112. package/lib/typescript/specs/keyObjectHandle.nitro.d.ts +15 -0
  113. package/lib/typescript/specs/keyObjectHandle.nitro.d.ts.map +1 -0
  114. package/lib/typescript/specs/pbkdf2.nitro.d.ts +9 -0
  115. package/lib/typescript/specs/pbkdf2.nitro.d.ts.map +1 -0
  116. package/lib/typescript/specs/random.nitro.d.ts +9 -0
  117. package/lib/typescript/specs/random.nitro.d.ts.map +1 -0
  118. package/lib/typescript/utils/conversion.d.ts +25 -0
  119. package/lib/typescript/utils/conversion.d.ts.map +1 -0
  120. package/lib/typescript/utils/errors.d.ts +7 -0
  121. package/lib/typescript/utils/errors.d.ts.map +1 -0
  122. package/lib/typescript/{src/Hashnames.d.ts → utils/hashnames.d.ts} +3 -3
  123. package/lib/typescript/utils/hashnames.d.ts.map +1 -0
  124. package/lib/typescript/utils/index.d.ts +6 -0
  125. package/lib/typescript/utils/index.d.ts.map +1 -0
  126. package/lib/typescript/utils/types.d.ts +162 -0
  127. package/lib/typescript/utils/types.d.ts.map +1 -0
  128. package/lib/typescript/utils/validation.d.ts +8 -0
  129. package/lib/typescript/utils/validation.d.ts.map +1 -0
  130. package/nitrogen/generated/android/QuickCrypto+autolinking.cmake +65 -0
  131. package/nitrogen/generated/android/QuickCrypto+autolinking.gradle +27 -0
  132. package/nitrogen/generated/android/QuickCryptoOnLoad.cpp +64 -0
  133. package/nitrogen/generated/android/QuickCryptoOnLoad.hpp +25 -0
  134. package/nitrogen/generated/ios/QuickCrypto+autolinking.rb +58 -0
  135. package/nitrogen/generated/ios/QuickCrypto-Swift-Cxx-Bridge.cpp +17 -0
  136. package/nitrogen/generated/ios/QuickCrypto-Swift-Cxx-Bridge.hpp +27 -0
  137. package/nitrogen/generated/ios/QuickCrypto-Swift-Cxx-Umbrella.hpp +38 -0
  138. package/nitrogen/generated/ios/QuickCryptoAutolinking.mm +55 -0
  139. package/nitrogen/generated/ios/QuickCryptoAutolinking.swift +12 -0
  140. package/nitrogen/generated/shared/c++/CFRGKeyPairType.hpp +86 -0
  141. package/nitrogen/generated/shared/c++/HybridEdKeyPairSpec.cpp +29 -0
  142. package/nitrogen/generated/shared/c++/HybridEdKeyPairSpec.hpp +74 -0
  143. package/nitrogen/generated/shared/c++/HybridKeyObjectHandleSpec.cpp +27 -0
  144. package/nitrogen/generated/shared/c++/HybridKeyObjectHandleSpec.hpp +93 -0
  145. package/nitrogen/generated/shared/c++/HybridPbkdf2Spec.cpp +22 -0
  146. package/nitrogen/generated/shared/c++/HybridPbkdf2Spec.hpp +66 -0
  147. package/nitrogen/generated/shared/c++/HybridRandomSpec.cpp +22 -0
  148. package/nitrogen/generated/shared/c++/HybridRandomSpec.hpp +65 -0
  149. package/nitrogen/generated/shared/c++/JWK.hpp +162 -0
  150. package/nitrogen/generated/shared/c++/JWKkty.hpp +86 -0
  151. package/nitrogen/generated/shared/c++/JWKuse.hpp +78 -0
  152. package/nitrogen/generated/shared/c++/KFormatType.hpp +65 -0
  153. package/nitrogen/generated/shared/c++/KeyDetail.hpp +93 -0
  154. package/nitrogen/generated/shared/c++/KeyEncoding.hpp +66 -0
  155. package/nitrogen/generated/shared/c++/KeyType.hpp +65 -0
  156. package/nitrogen/generated/shared/c++/KeyUsage.hpp +102 -0
  157. package/nitrogen/generated/shared/c++/NamedCurve.hpp +82 -0
  158. package/package.json +57 -51
  159. package/src/ed.ts +79 -0
  160. package/src/index.ts +43 -47
  161. package/src/keys/classes.ts +211 -0
  162. package/src/keys/generateKeyPair.ts +146 -0
  163. package/src/keys/index.ts +42 -0
  164. package/src/keys/signVerify.ts +39 -0
  165. package/src/keys/utils.ts +184 -0
  166. package/src/pbkdf2.ts +26 -15
  167. package/src/random.ts +33 -20
  168. package/src/specs/edKeyPair.nitro.ts +41 -0
  169. package/src/specs/keyObjectHandle.nitro.ts +32 -0
  170. package/src/{NativeQuickCrypto/pbkdf2.ts → specs/pbkdf2.nitro.ts} +8 -6
  171. package/src/specs/random.nitro.ts +14 -0
  172. package/src/utils/conversion.ts +123 -0
  173. package/src/utils/errors.ts +15 -0
  174. package/src/{Hashnames.ts → utils/hashnames.ts} +4 -7
  175. package/src/utils/index.ts +5 -0
  176. package/src/utils/types.ts +275 -0
  177. package/src/utils/validation.ts +35 -0
  178. package/android/src/main/java/com/margelo/quickcrypto/QuickCryptoModule.java +0 -70
  179. package/android/src/main/java/com/margelo/quickcrypto/QuickCryptoPackage.java +0 -25
  180. package/cpp/Cipher/MGLCipherHostObject.cpp +0 -663
  181. package/cpp/Cipher/MGLCipherHostObject.h +0 -90
  182. package/cpp/Cipher/MGLCreateCipherInstaller.cpp +0 -75
  183. package/cpp/Cipher/MGLCreateCipherInstaller.h +0 -22
  184. package/cpp/Cipher/MGLCreateDecipherInstaller.cpp +0 -77
  185. package/cpp/Cipher/MGLCreateDecipherInstaller.h +0 -17
  186. package/cpp/Cipher/MGLGenerateKeyPairInstaller.cpp +0 -134
  187. package/cpp/Cipher/MGLGenerateKeyPairInstaller.h +0 -35
  188. package/cpp/Cipher/MGLGenerateKeyPairSyncInstaller.cpp +0 -63
  189. package/cpp/Cipher/MGLGenerateKeyPairSyncInstaller.h +0 -37
  190. package/cpp/Cipher/MGLPublicCipher.h +0 -124
  191. package/cpp/Cipher/MGLPublicCipherInstaller.h +0 -107
  192. package/cpp/Cipher/MGLRsa.cpp +0 -573
  193. package/cpp/Cipher/MGLRsa.h +0 -109
  194. package/cpp/HMAC/MGLHmacHostObject.cpp +0 -95
  195. package/cpp/HMAC/MGLHmacHostObject.h +0 -39
  196. package/cpp/HMAC/MGLHmacInstaller.cpp +0 -43
  197. package/cpp/HMAC/MGLHmacInstaller.h +0 -20
  198. package/cpp/Hash/MGLHashHostObject.cpp +0 -147
  199. package/cpp/Hash/MGLHashHostObject.h +0 -53
  200. package/cpp/Hash/MGLHashInstaller.cpp +0 -44
  201. package/cpp/Hash/MGLHashInstaller.h +0 -20
  202. package/cpp/JSIUtils/MGLJSIMacros.h +0 -110
  203. package/cpp/JSIUtils/MGLJSIUtils.h +0 -41
  204. package/cpp/JSIUtils/MGLSmartHostObject.cpp +0 -43
  205. package/cpp/JSIUtils/MGLSmartHostObject.h +0 -46
  206. package/cpp/JSIUtils/MGLThreadAwareHostObject.cpp +0 -24
  207. package/cpp/JSIUtils/MGLThreadAwareHostObject.h +0 -43
  208. package/cpp/JSIUtils/MGLTypedArray.cpp +0 -352
  209. package/cpp/JSIUtils/MGLTypedArray.h +0 -179
  210. package/cpp/MGLKeys.cpp +0 -1426
  211. package/cpp/MGLKeys.h +0 -203
  212. package/cpp/MGLQuickCryptoHostObject.cpp +0 -127
  213. package/cpp/MGLQuickCryptoHostObject.h +0 -30
  214. package/cpp/Random/MGLRandomHostObject.cpp +0 -96
  215. package/cpp/Random/MGLRandomHostObject.h +0 -27
  216. package/cpp/Sig/MGLSignHostObjects.cpp +0 -757
  217. package/cpp/Sig/MGLSignHostObjects.h +0 -128
  218. package/cpp/Sig/MGLSignInstaller.cpp +0 -24
  219. package/cpp/Sig/MGLSignInstaller.h +0 -29
  220. package/cpp/Sig/MGLVerifyInstaller.cpp +0 -24
  221. package/cpp/Sig/MGLVerifyInstaller.h +0 -22
  222. package/cpp/Utils/MGLDispatchQueue.cpp +0 -75
  223. package/cpp/Utils/MGLDispatchQueue.h +0 -55
  224. package/cpp/Utils/MGLUtils.cpp +0 -295
  225. package/cpp/Utils/MGLUtils.h +0 -358
  226. package/cpp/Utils/base64.h +0 -320
  227. package/cpp/Utils/logs.h +0 -38
  228. package/cpp/Utils/node.h +0 -13
  229. package/cpp/fastpbkdf2/MGLPbkdf2HostObject.cpp +0 -164
  230. package/cpp/fastpbkdf2/MGLPbkdf2HostObject.h +0 -29
  231. package/cpp/webcrypto/MGLWebCrypto.cpp +0 -125
  232. package/cpp/webcrypto/MGLWebCrypto.h +0 -32
  233. package/cpp/webcrypto/crypto_aes.cpp +0 -516
  234. package/cpp/webcrypto/crypto_aes.h +0 -79
  235. package/cpp/webcrypto/crypto_ec.cpp +0 -424
  236. package/cpp/webcrypto/crypto_ec.h +0 -78
  237. package/cpp/webcrypto/crypto_keygen.cpp +0 -86
  238. package/cpp/webcrypto/crypto_keygen.h +0 -38
  239. package/ios/QuickCrypto.xcodeproj/project.pbxproj +0 -274
  240. package/ios/QuickCrypto.xcodeproj/project.xcworkspace/contents.xcworkspacedata +0 -7
  241. package/ios/QuickCrypto.xcodeproj/project.xcworkspace/xcuserdata/brad.xcuserdatad/UserInterfaceState.xcuserstate +0 -0
  242. package/ios/QuickCrypto.xcodeproj/xcuserdata/brad.xcuserdatad/xcschemes/xcschememanagement.plist +0 -14
  243. package/ios/QuickCryptoModule.h +0 -5
  244. package/ios/QuickCryptoModule.mm +0 -57
  245. package/lib/commonjs/Algorithms.js +0 -224
  246. package/lib/commonjs/Algorithms.js.map +0 -1
  247. package/lib/commonjs/Cipher.js +0 -504
  248. package/lib/commonjs/Cipher.js.map +0 -1
  249. package/lib/commonjs/Hash.js +0 -102
  250. package/lib/commonjs/Hash.js.map +0 -1
  251. package/lib/commonjs/Hashnames.js.map +0 -1
  252. package/lib/commonjs/Hmac.js +0 -81
  253. package/lib/commonjs/Hmac.js.map +0 -1
  254. package/lib/commonjs/NativeQuickCrypto/Cipher.js +0 -30
  255. package/lib/commonjs/NativeQuickCrypto/Cipher.js.map +0 -1
  256. package/lib/commonjs/NativeQuickCrypto/NativeQuickCrypto.js +0 -59
  257. package/lib/commonjs/NativeQuickCrypto/NativeQuickCrypto.js.map +0 -1
  258. package/lib/commonjs/NativeQuickCrypto/hash.js +0 -2
  259. package/lib/commonjs/NativeQuickCrypto/hmac.js +0 -2
  260. package/lib/commonjs/NativeQuickCrypto/keygen.js.map +0 -1
  261. package/lib/commonjs/NativeQuickCrypto/pbkdf2.js +0 -2
  262. package/lib/commonjs/NativeQuickCrypto/pbkdf2.js.map +0 -1
  263. package/lib/commonjs/NativeQuickCrypto/random.js +0 -2
  264. package/lib/commonjs/NativeQuickCrypto/random.js.map +0 -1
  265. package/lib/commonjs/NativeQuickCrypto/sig.js +0 -19
  266. package/lib/commonjs/NativeQuickCrypto/sig.js.map +0 -1
  267. package/lib/commonjs/NativeQuickCrypto/webcrypto.js.map +0 -1
  268. package/lib/commonjs/Utils.js +0 -437
  269. package/lib/commonjs/Utils.js.map +0 -1
  270. package/lib/commonjs/aes.js +0 -282
  271. package/lib/commonjs/aes.js.map +0 -1
  272. package/lib/commonjs/constants.js +0 -85
  273. package/lib/commonjs/constants.js.map +0 -1
  274. package/lib/commonjs/ec.js +0 -275
  275. package/lib/commonjs/ec.js.map +0 -1
  276. package/lib/commonjs/keygen.js +0 -58
  277. package/lib/commonjs/keygen.js.map +0 -1
  278. package/lib/commonjs/keys.js +0 -497
  279. package/lib/commonjs/keys.js.map +0 -1
  280. package/lib/commonjs/rsa.js +0 -248
  281. package/lib/commonjs/rsa.js.map +0 -1
  282. package/lib/commonjs/sig.js +0 -128
  283. package/lib/commonjs/sig.js.map +0 -1
  284. package/lib/commonjs/subtle.js +0 -450
  285. package/lib/commonjs/subtle.js.map +0 -1
  286. package/lib/commonjs/webcrypto.js +0 -14
  287. package/lib/commonjs/webcrypto.js.map +0 -1
  288. package/lib/module/Algorithms.js +0 -219
  289. package/lib/module/Algorithms.js.map +0 -1
  290. package/lib/module/Cipher.js +0 -493
  291. package/lib/module/Cipher.js.map +0 -1
  292. package/lib/module/Hash.js +0 -96
  293. package/lib/module/Hash.js.map +0 -1
  294. package/lib/module/Hashnames.js.map +0 -1
  295. package/lib/module/Hmac.js +0 -76
  296. package/lib/module/Hmac.js.map +0 -1
  297. package/lib/module/NativeQuickCrypto/Cipher.js +0 -26
  298. package/lib/module/NativeQuickCrypto/Cipher.js.map +0 -1
  299. package/lib/module/NativeQuickCrypto/NativeQuickCrypto.js +0 -56
  300. package/lib/module/NativeQuickCrypto/NativeQuickCrypto.js.map +0 -1
  301. package/lib/module/NativeQuickCrypto/aes.js +0 -4
  302. package/lib/module/NativeQuickCrypto/hash.js +0 -2
  303. package/lib/module/NativeQuickCrypto/hash.js.map +0 -1
  304. package/lib/module/NativeQuickCrypto/hmac.js +0 -2
  305. package/lib/module/NativeQuickCrypto/hmac.js.map +0 -1
  306. package/lib/module/NativeQuickCrypto/keygen.js +0 -4
  307. package/lib/module/NativeQuickCrypto/keygen.js.map +0 -1
  308. package/lib/module/NativeQuickCrypto/pbkdf2.js +0 -2
  309. package/lib/module/NativeQuickCrypto/pbkdf2.js.map +0 -1
  310. package/lib/module/NativeQuickCrypto/random.js +0 -2
  311. package/lib/module/NativeQuickCrypto/random.js.map +0 -1
  312. package/lib/module/NativeQuickCrypto/rsa.js +0 -4
  313. package/lib/module/NativeQuickCrypto/sig.js +0 -17
  314. package/lib/module/NativeQuickCrypto/sig.js.map +0 -1
  315. package/lib/module/NativeQuickCrypto/webcrypto.js +0 -4
  316. package/lib/module/NativeQuickCrypto/webcrypto.js.map +0 -1
  317. package/lib/module/Utils.js +0 -369
  318. package/lib/module/Utils.js.map +0 -1
  319. package/lib/module/aes.js +0 -275
  320. package/lib/module/aes.js.map +0 -1
  321. package/lib/module/constants.js +0 -81
  322. package/lib/module/constants.js.map +0 -1
  323. package/lib/module/ec.js +0 -266
  324. package/lib/module/ec.js.map +0 -1
  325. package/lib/module/keygen.js +0 -51
  326. package/lib/module/keygen.js.map +0 -1
  327. package/lib/module/keys.js +0 -482
  328. package/lib/module/keys.js.map +0 -1
  329. package/lib/module/rsa.js +0 -242
  330. package/lib/module/rsa.js.map +0 -1
  331. package/lib/module/sig.js +0 -123
  332. package/lib/module/sig.js.map +0 -1
  333. package/lib/module/subtle.js +0 -445
  334. package/lib/module/subtle.js.map +0 -1
  335. package/lib/module/webcrypto.js +0 -10
  336. package/lib/module/webcrypto.js.map +0 -1
  337. package/lib/typescript/src/Algorithms.d.ts +0 -4
  338. package/lib/typescript/src/Algorithms.d.ts.map +0 -1
  339. package/lib/typescript/src/Cipher.d.ts +0 -85
  340. package/lib/typescript/src/Cipher.d.ts.map +0 -1
  341. package/lib/typescript/src/Hash.d.ts +0 -44
  342. package/lib/typescript/src/Hash.d.ts.map +0 -1
  343. package/lib/typescript/src/Hashnames.d.ts.map +0 -1
  344. package/lib/typescript/src/Hmac.d.ts +0 -37
  345. package/lib/typescript/src/Hmac.d.ts.map +0 -1
  346. package/lib/typescript/src/NativeQuickCrypto/Cipher.d.ts +0 -44
  347. package/lib/typescript/src/NativeQuickCrypto/Cipher.d.ts.map +0 -1
  348. package/lib/typescript/src/NativeQuickCrypto/NativeQuickCrypto.d.ts +0 -33
  349. package/lib/typescript/src/NativeQuickCrypto/NativeQuickCrypto.d.ts.map +0 -1
  350. package/lib/typescript/src/NativeQuickCrypto/aes.d.ts +0 -5
  351. package/lib/typescript/src/NativeQuickCrypto/aes.d.ts.map +0 -1
  352. package/lib/typescript/src/NativeQuickCrypto/hash.d.ts +0 -7
  353. package/lib/typescript/src/NativeQuickCrypto/hash.d.ts.map +0 -1
  354. package/lib/typescript/src/NativeQuickCrypto/hmac.d.ts +0 -6
  355. package/lib/typescript/src/NativeQuickCrypto/hmac.d.ts.map +0 -1
  356. package/lib/typescript/src/NativeQuickCrypto/keygen.d.ts +0 -4
  357. package/lib/typescript/src/NativeQuickCrypto/keygen.d.ts.map +0 -1
  358. package/lib/typescript/src/NativeQuickCrypto/pbkdf2.d.ts +0 -5
  359. package/lib/typescript/src/NativeQuickCrypto/pbkdf2.d.ts.map +0 -1
  360. package/lib/typescript/src/NativeQuickCrypto/random.d.ts +0 -5
  361. package/lib/typescript/src/NativeQuickCrypto/random.d.ts.map +0 -1
  362. package/lib/typescript/src/NativeQuickCrypto/rsa.d.ts +0 -5
  363. package/lib/typescript/src/NativeQuickCrypto/rsa.d.ts.map +0 -1
  364. package/lib/typescript/src/NativeQuickCrypto/sig.d.ts +0 -23
  365. package/lib/typescript/src/NativeQuickCrypto/sig.d.ts.map +0 -1
  366. package/lib/typescript/src/NativeQuickCrypto/webcrypto.d.ts +0 -40
  367. package/lib/typescript/src/NativeQuickCrypto/webcrypto.d.ts.map +0 -1
  368. package/lib/typescript/src/Utils.d.ts +0 -71
  369. package/lib/typescript/src/Utils.d.ts.map +0 -1
  370. package/lib/typescript/src/aes.d.ts +0 -22
  371. package/lib/typescript/src/aes.d.ts.map +0 -1
  372. package/lib/typescript/src/constants.d.ts +0 -76
  373. package/lib/typescript/src/constants.d.ts.map +0 -1
  374. package/lib/typescript/src/ec.d.ts +0 -7
  375. package/lib/typescript/src/ec.d.ts.map +0 -1
  376. package/lib/typescript/src/index.d.ts +0 -139
  377. package/lib/typescript/src/index.d.ts.map +0 -1
  378. package/lib/typescript/src/keygen.d.ts +0 -6
  379. package/lib/typescript/src/keygen.d.ts.map +0 -1
  380. package/lib/typescript/src/keys.d.ts +0 -211
  381. package/lib/typescript/src/keys.d.ts.map +0 -1
  382. package/lib/typescript/src/pbkdf2.d.ts.map +0 -1
  383. package/lib/typescript/src/random.d.ts.map +0 -1
  384. package/lib/typescript/src/rsa.d.ts +0 -12
  385. package/lib/typescript/src/rsa.d.ts.map +0 -1
  386. package/lib/typescript/src/sig.d.ts +0 -21
  387. package/lib/typescript/src/sig.d.ts.map +0 -1
  388. package/lib/typescript/src/subtle.d.ts +0 -15
  389. package/lib/typescript/src/subtle.d.ts.map +0 -1
  390. package/lib/typescript/src/webcrypto.d.ts +0 -9
  391. package/lib/typescript/src/webcrypto.d.ts.map +0 -1
  392. package/react-native-quick-crypto.podspec +0 -40
  393. package/src/Algorithms.ts +0 -247
  394. package/src/Cipher.ts +0 -890
  395. package/src/Hash.ts +0 -139
  396. package/src/Hmac.ts +0 -107
  397. package/src/NativeQuickCrypto/Cipher.ts +0 -103
  398. package/src/NativeQuickCrypto/NativeQuickCrypto.ts +0 -106
  399. package/src/NativeQuickCrypto/aes.ts +0 -14
  400. package/src/NativeQuickCrypto/hash.ts +0 -10
  401. package/src/NativeQuickCrypto/hmac.ts +0 -9
  402. package/src/NativeQuickCrypto/keygen.ts +0 -7
  403. package/src/NativeQuickCrypto/random.ts +0 -12
  404. package/src/NativeQuickCrypto/rsa.ts +0 -12
  405. package/src/NativeQuickCrypto/sig.ts +0 -46
  406. package/src/NativeQuickCrypto/webcrypto.ts +0 -73
  407. package/src/Utils.ts +0 -628
  408. package/src/aes.ts +0 -402
  409. package/src/constants.ts +0 -79
  410. package/src/ec.ts +0 -374
  411. package/src/keygen.ts +0 -80
  412. package/src/keys.ts +0 -797
  413. package/src/rsa.ts +0 -372
  414. package/src/sig.ts +0 -163
  415. package/src/subtle.ts +0 -643
  416. package/src/webcrypto.ts +0 -8
  417. /package/android/src/main/{AndroidManifestNew.xml → AndroidManifest.xml} +0 -0
  418. /package/{cpp → deps}/fastpbkdf2/fastpbkdf2.c +0 -0
  419. /package/{cpp → deps}/fastpbkdf2/fastpbkdf2.h +0 -0
package/src/ec.ts DELETED
@@ -1,374 +0,0 @@
1
- import { generateKeyPairPromise, type GenerateKeyPairOptions } from './Cipher';
2
- import { NativeQuickCrypto } from './NativeQuickCrypto/NativeQuickCrypto';
3
- import { DSASigEnc, SignMode } from './NativeQuickCrypto/sig';
4
- import {
5
- bufferLikeToArrayBuffer,
6
- type BufferLike,
7
- type BinaryLike,
8
- binaryLikeToArrayBuffer,
9
- lazyDOMException,
10
- validateKeyOps,
11
- hasAnyNotIn,
12
- ab2str,
13
- getUsagesUnion,
14
- normalizeHashName,
15
- } from './Utils';
16
- import {
17
- type ImportFormat,
18
- type SubtleAlgorithm,
19
- type KeyUsage,
20
- kNamedCurveAliases,
21
- type NamedCurve,
22
- PublicKeyObject,
23
- KWebCryptoKeyFormat,
24
- CryptoKey,
25
- type JWK,
26
- type AnyAlgorithm,
27
- PrivateKeyObject,
28
- KeyType,
29
- type CryptoKeyPair,
30
- } from './keys';
31
- import type { KeyObjectHandle } from './NativeQuickCrypto/webcrypto';
32
-
33
- // const {
34
- // ArrayPrototypeIncludes,
35
- // ObjectKeys,
36
- // SafeSet,
37
- // } = primordials;
38
-
39
- // const {
40
- // ECKeyExportJob,
41
- // KeyObjectHandle,
42
- // SignJob,
43
- // kCryptoJobAsync,
44
- // kKeyTypePrivate,
45
- // kSignJobModeSign,
46
- // kSignJobModeVerify,
47
- // kSigEncP1363,
48
- // } = internalBinding('crypto');
49
-
50
- // const {
51
- // getUsagesUnion,
52
- // hasAnyNotIn,
53
- // jobPromise,
54
- // normalizeHashName,
55
- // validateKeyOps,
56
- // kHandle,
57
- // kKeyObject,
58
- // kNamedCurveAliases,
59
- // } = require('internal/crypto/util');
60
-
61
- // const {
62
- // lazyDOMException,
63
- // promisify,
64
- // } = require('internal/util');
65
-
66
- // const {
67
- // generateKeyPair: _generateKeyPair,
68
- // } = require('internal/crypto/keygen');
69
-
70
- // const {
71
- // InternalCryptoKey,
72
- // PrivateKeyObject,
73
- // PublicKeyObject,
74
- // createPrivateKey,
75
- // createPublicKey,
76
- // } = require('internal/crypto/keys');
77
-
78
- // const generateKeyPair = promisify(_generateKeyPair);
79
-
80
- function verifyAcceptableEcKeyUse(
81
- name: AnyAlgorithm,
82
- isPublic: boolean,
83
- usages: KeyUsage[],
84
- ): void {
85
- let checkSet;
86
- switch (name) {
87
- case 'ECDH':
88
- checkSet = isPublic ? [] : ['deriveKey', 'deriveBits'];
89
- break;
90
- case 'ECDSA':
91
- checkSet = isPublic ? ['verify'] : ['sign'];
92
- break;
93
- default:
94
- throw lazyDOMException(
95
- 'The algorithm is not supported',
96
- 'NotSupportedError',
97
- );
98
- }
99
- if (hasAnyNotIn(usages, checkSet)) {
100
- throw lazyDOMException(
101
- `Unsupported key usage for a ${name} key`,
102
- 'SyntaxError',
103
- );
104
- }
105
- }
106
-
107
- function createECPublicKeyRaw(
108
- namedCurve: NamedCurve | undefined,
109
- keyData: ArrayBuffer,
110
- ): PublicKeyObject {
111
- if (!namedCurve) {
112
- throw new Error('Invalid namedCurve');
113
- }
114
- const handle = NativeQuickCrypto.webcrypto.createKeyObjectHandle();
115
- if (!handle.initECRaw(kNamedCurveAliases[namedCurve], keyData)) {
116
- console.log('keyData', ab2str(keyData));
117
- throw new Error('Invalid keyData 1');
118
- }
119
-
120
- return new PublicKeyObject(handle);
121
- }
122
-
123
- export function ecExportKey(
124
- key: CryptoKey,
125
- format: KWebCryptoKeyFormat,
126
- ): ArrayBuffer {
127
- return NativeQuickCrypto.webcrypto.ecExportKey(format, key.keyObject.handle);
128
- }
129
-
130
- export function ecImportKey(
131
- format: ImportFormat,
132
- keyData: BufferLike | BinaryLike | JWK,
133
- algorithm: SubtleAlgorithm,
134
- extractable: boolean,
135
- keyUsages: KeyUsage[],
136
- ): CryptoKey {
137
- const { name, namedCurve } = algorithm;
138
-
139
- // if (!ArrayPrototypeIncludes(ObjectKeys(kNamedCurveAliases), namedCurve)) {
140
- // throw lazyDOMException('Unrecognized namedCurve', 'NotSupportedError');
141
- // }
142
-
143
- let keyObject;
144
- // const usagesSet = new SafeSet(keyUsages);
145
- switch (format) {
146
- // case 'spki': {
147
- // // verifyAcceptableEcKeyUse(name, true, usagesSet);
148
- // try {
149
- // keyObject = createPublicKey({
150
- // key: keyData,
151
- // format: 'der',
152
- // type: 'spki',
153
- // });
154
- // } catch (err) {
155
- // throw new Error(`Invalid keyData 2: ${err}`);
156
- // }
157
- // break;
158
- // }
159
- // case 'pkcs8': {
160
- // // verifyAcceptableEcKeyUse(name, false, usagesSet);
161
- // try {
162
- // keyObject = createPrivateKey({
163
- // key: keyData,
164
- // format: 'der',
165
- // type: 'pkcs8',
166
- // });
167
- // } catch (err) {
168
- // throw new Error(`Invalid keyData 3 ${err}`);
169
- // }
170
- // break;
171
- // }
172
- case 'jwk': {
173
- const data = keyData as JWK;
174
-
175
- if (!data.kty) throw lazyDOMException('Invalid keyData 4', 'DataError');
176
- if (data.kty !== 'EC')
177
- throw lazyDOMException('Invalid JWK "kty" Parameter', 'DataError');
178
- if (data.crv !== namedCurve)
179
- throw lazyDOMException(
180
- 'JWK "crv" does not match the requested algorithm',
181
- 'DataError',
182
- );
183
-
184
- verifyAcceptableEcKeyUse(name, data.d === undefined, keyUsages);
185
-
186
- if (keyUsages.length > 0 && data.use !== undefined) {
187
- const checkUse = name === 'ECDH' ? 'enc' : 'sig';
188
- if (data.use !== checkUse)
189
- throw lazyDOMException('Invalid JWK "use" Parameter', 'DataError');
190
- }
191
-
192
- validateKeyOps(data.key_ops, keyUsages);
193
-
194
- if (
195
- data.ext !== undefined &&
196
- data.ext === false &&
197
- extractable === true
198
- ) {
199
- throw lazyDOMException(
200
- 'JWK "ext" Parameter and extractable mismatch',
201
- 'DataError',
202
- );
203
- }
204
-
205
- if (algorithm.name === 'ECDSA' && data.alg !== undefined) {
206
- let algNamedCurve;
207
- switch (data.alg) {
208
- case 'ES256':
209
- algNamedCurve = 'P-256';
210
- break;
211
- case 'ES384':
212
- algNamedCurve = 'P-384';
213
- break;
214
- case 'ES512':
215
- algNamedCurve = 'P-521';
216
- break;
217
- }
218
- if (algNamedCurve !== namedCurve)
219
- throw lazyDOMException(
220
- 'JWK "alg" does not match the requested algorithm',
221
- 'DataError',
222
- );
223
- }
224
-
225
- const handle = NativeQuickCrypto.webcrypto.createKeyObjectHandle();
226
- const type = handle.initJwk(data, namedCurve);
227
- if (type === undefined)
228
- throw lazyDOMException('Invalid JWK', 'DataError');
229
- keyObject =
230
- type === KeyType.Private
231
- ? new PrivateKeyObject(handle)
232
- : new PublicKeyObject(handle);
233
- break;
234
- }
235
- case 'raw': {
236
- const data = keyData as BufferLike | BinaryLike;
237
- verifyAcceptableEcKeyUse(name, true, keyUsages);
238
- const buffer =
239
- typeof data === 'string'
240
- ? binaryLikeToArrayBuffer(data)
241
- : bufferLikeToArrayBuffer(data);
242
- keyObject = createECPublicKeyRaw(namedCurve, buffer);
243
- break;
244
- }
245
- default: {
246
- throw new Error(`Unknown EC import format: ${format}`);
247
- }
248
- }
249
-
250
- switch (algorithm.name) {
251
- case 'ECDSA':
252
- // Fall through
253
- case 'ECDH':
254
- if (keyObject.asymmetricKeyType !== 'ec')
255
- throw new Error('Invalid key type');
256
- break;
257
- }
258
-
259
- // if (!keyObject[kHandle].checkEcKeyData()) {
260
- // throw new Error('Invalid keyData 5');
261
- // }
262
-
263
- // const { namedCurve: checkNamedCurve } = keyObject[kHandle].keyDetail({});
264
- // if (kNamedCurveAliases[namedCurve] !== checkNamedCurve)
265
- // throw new Error('Named curve mismatch');
266
-
267
- return new CryptoKey(keyObject, { name, namedCurve }, keyUsages, extractable);
268
- }
269
-
270
- export const ecdsaSignVerify = (
271
- key: CryptoKey,
272
- data: BufferLike,
273
- { hash }: SubtleAlgorithm,
274
- signature?: BufferLike,
275
- ) => {
276
- const mode: SignMode =
277
- signature === undefined
278
- ? SignMode.kSignJobModeSign
279
- : SignMode.kSignJobModeVerify;
280
- const type = mode === SignMode.kSignJobModeSign ? 'private' : 'public';
281
-
282
- if (key.type !== type)
283
- throw lazyDOMException(`Key must be a ${type} key`, 'InvalidAccessError');
284
-
285
- const hashname = normalizeHashName(hash);
286
-
287
- return NativeQuickCrypto.webcrypto.signVerify(
288
- mode,
289
- key.keyObject.handle,
290
- // three undefined args because C++ uses `GetPublicOrPrivateKeyFromJs` & friends
291
- undefined,
292
- undefined,
293
- undefined,
294
- bufferLikeToArrayBuffer(data),
295
- hashname,
296
- undefined, // salt length, not used with ECDSA
297
- undefined, // pss padding, not used with ECDSA
298
- DSASigEnc.kSigEncP1363,
299
- bufferLikeToArrayBuffer(signature || new ArrayBuffer(0)),
300
- );
301
- };
302
-
303
- export const ecGenerateKey = async (
304
- algorithm: SubtleAlgorithm,
305
- extractable: boolean,
306
- keyUsages: KeyUsage[],
307
- ): Promise<CryptoKeyPair> => {
308
- const { name, namedCurve } = algorithm;
309
-
310
- if (!Object.keys(kNamedCurveAliases).includes(namedCurve || '')) {
311
- throw lazyDOMException(
312
- `Unrecognized namedCurve '${namedCurve}'`,
313
- 'NotSupportedError',
314
- );
315
- }
316
-
317
- // const usageSet = new SafeSet(keyUsages);
318
- switch (name) {
319
- case 'ECDSA':
320
- if (hasAnyNotIn(keyUsages, ['sign', 'verify'])) {
321
- throw lazyDOMException(
322
- 'Unsupported key usage for an ECDSA key',
323
- 'SyntaxError',
324
- );
325
- }
326
- break;
327
- case 'ECDH':
328
- if (hasAnyNotIn(keyUsages, ['deriveKey', 'deriveBits'])) {
329
- throw lazyDOMException(
330
- 'Unsupported key usage for an ECDH key',
331
- 'SyntaxError',
332
- );
333
- }
334
- // Fall through
335
- }
336
-
337
- const options: GenerateKeyPairOptions = { namedCurve };
338
- const [err, keypair] = await generateKeyPairPromise('ec', options);
339
-
340
- if (err) {
341
- throw lazyDOMException('ecGenerateKey (generateKeyPairPromise) failed', {
342
- name: 'OperationError',
343
- cause: err,
344
- });
345
- }
346
-
347
- let publicUsages: KeyUsage[] = [];
348
- let privateUsages: KeyUsage[] = [];
349
- switch (name) {
350
- case 'ECDSA':
351
- publicUsages = getUsagesUnion(keyUsages, 'verify');
352
- privateUsages = getUsagesUnion(keyUsages, 'sign');
353
- break;
354
- case 'ECDH':
355
- publicUsages = [];
356
- privateUsages = getUsagesUnion(keyUsages, 'deriveKey', 'deriveBits');
357
- break;
358
- }
359
-
360
- const keyAlgorithm = { name, namedCurve };
361
-
362
- const pub = new PublicKeyObject(keypair?.publicKey as KeyObjectHandle);
363
- const publicKey = new CryptoKey(pub, keyAlgorithm, publicUsages, true);
364
-
365
- const priv = new PrivateKeyObject(keypair?.privateKey as KeyObjectHandle);
366
- const privateKey = new CryptoKey(
367
- priv,
368
- keyAlgorithm,
369
- privateUsages,
370
- extractable,
371
- );
372
-
373
- return { publicKey, privateKey };
374
- };
package/src/keygen.ts DELETED
@@ -1,80 +0,0 @@
1
- import { NativeQuickCrypto } from './NativeQuickCrypto/NativeQuickCrypto';
2
- import { lazyDOMException, validateFunction } from './Utils';
3
- import { kAesKeyLengths } from './aes';
4
- import {
5
- SecretKeyObject,
6
- type SecretKeyType,
7
- type AesKeyGenParams,
8
- } from './keys';
9
-
10
- export type KeyGenCallback = (
11
- err: Error | undefined,
12
- key?: SecretKeyObject,
13
- ) => void;
14
-
15
- export const generateKeyPromise = (
16
- type: SecretKeyType,
17
- options: AesKeyGenParams, // | HmacKeyGenParams
18
- ): Promise<[Error | undefined, SecretKeyObject | undefined]> => {
19
- return new Promise((resolve, reject) => {
20
- generateKey(type, options, (err, key) => {
21
- if (err) {
22
- reject([err, undefined]);
23
- }
24
- resolve([undefined, key]);
25
- });
26
- });
27
- };
28
-
29
- export const generateKey = (
30
- type: SecretKeyType,
31
- options: AesKeyGenParams, // | HmacKeyGenParams,
32
- callback: KeyGenCallback,
33
- ): void => {
34
- validateLength(type, options.length);
35
- if (!validateFunction(callback)) {
36
- throw lazyDOMException('Callback is not a function', 'SyntaxError');
37
- }
38
- NativeQuickCrypto.webcrypto
39
- .generateSecretKey(options.length)
40
- .then((handle) => {
41
- callback(undefined, new SecretKeyObject(handle));
42
- })
43
- .catch((err) => {
44
- callback(err, undefined);
45
- });
46
- };
47
-
48
- export const generateKeySync = (
49
- type: SecretKeyType,
50
- options: AesKeyGenParams, // | HmacKeyGenParams,
51
- ): SecretKeyObject => {
52
- validateLength(type, options.length);
53
- const handle = NativeQuickCrypto.webcrypto.generateSecretKeySync(
54
- options.length,
55
- );
56
- return new SecretKeyObject(handle);
57
- };
58
-
59
- const validateLength = (type: SecretKeyType, length: number) => {
60
- switch (type) {
61
- case 'aes':
62
- if (!kAesKeyLengths.includes(length)) {
63
- throw lazyDOMException(
64
- 'AES key length must be 128, 192, or 256 bits',
65
- 'OperationError',
66
- );
67
- }
68
- break;
69
- case 'hmac':
70
- if (length < 8 || length > 2 ** 31 - 1) {
71
- throw lazyDOMException(
72
- 'HMAC key length must be between 8 and 2^31 - 1',
73
- 'OperationError',
74
- );
75
- }
76
- break;
77
- default:
78
- throw new Error(`Unsupported key type '${type}' for generateKey()`);
79
- }
80
- };