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
@@ -1,76 +0,0 @@
1
- "use strict";
2
-
3
- import { NativeQuickCrypto } from './NativeQuickCrypto/NativeQuickCrypto';
4
- import { toArrayBuffer, binaryLikeToArrayBuffer } from './Utils';
5
- import Stream from 'readable-stream';
6
- import { Buffer } from '@craftzdog/react-native-buffer';
7
- const createInternalHmac = NativeQuickCrypto.createHmac;
8
- export function createHmac(algorithm, key, options) {
9
- return new Hmac(algorithm, key, options);
10
- }
11
- class Hmac extends Stream.Transform {
12
- isFinalized = false;
13
- constructor(algorithm, key,
14
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
15
- _options) {
16
- super();
17
- const keyAsString = binaryLikeToArrayBuffer(key);
18
- if (keyAsString === undefined) {
19
- throw 'Wrong key type';
20
- }
21
- this.internalHmac = createInternalHmac(algorithm, keyAsString);
22
- }
23
-
24
- /**
25
- * Updates the `Hmac` content with the given `data`, the encoding of which
26
- * is given in `inputEncoding`.
27
- * If `encoding` is not provided, and the `data` is a string, an
28
- * encoding of `'utf8'` is enforced. If `data` is a `Buffer`, `TypedArray`, or`DataView`, then `inputEncoding` is ignored.
29
- *
30
- * This can be called many times with new data as it is streamed.
31
- * @since v0.1.94
32
- * @param inputEncoding The `encoding` of the `data` string.
33
- */
34
- update(data, inputEncoding) {
35
- if (data instanceof ArrayBuffer) {
36
- this.internalHmac.update(data);
37
- return this;
38
- }
39
- if (typeof data === 'string') {
40
- const buffer = Buffer.from(data, inputEncoding);
41
- this.internalHmac.update(toArrayBuffer(buffer));
42
- return this;
43
- }
44
- this.internalHmac.update(binaryLikeToArrayBuffer(data));
45
- return this;
46
- }
47
- _transform(chunk, encoding, callback) {
48
- this.update(chunk, encoding);
49
- callback();
50
- }
51
- _flush(callback) {
52
- this.push(this.digest());
53
- callback();
54
- }
55
-
56
- /**
57
- * Calculates the HMAC digest of all of the data passed using `hmac.update()`.
58
- * If `encoding` is
59
- * provided a string is returned; otherwise a `Buffer` is returned;
60
- *
61
- * The `Hmac` object can not be used again after `hmac.digest()` has been
62
- * called. Multiple calls to `hmac.digest()` will result in an error being thrown.
63
- * @since v0.1.94
64
- * @param encoding The `encoding` of the return value.
65
- */
66
-
67
- digest(encoding) {
68
- const result = this.isFinalized ? new ArrayBuffer(0) : this.internalHmac.digest();
69
- this.isFinalized = true;
70
- if (encoding && encoding !== 'buffer') {
71
- return Buffer.from(result).toString(encoding);
72
- }
73
- return Buffer.from(result);
74
- }
75
- }
76
- //# sourceMappingURL=Hmac.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["NativeQuickCrypto","toArrayBuffer","binaryLikeToArrayBuffer","Stream","Buffer","createInternalHmac","createHmac","algorithm","key","options","Hmac","Transform","isFinalized","constructor","_options","keyAsString","undefined","internalHmac","update","data","inputEncoding","ArrayBuffer","buffer","from","_transform","chunk","encoding","callback","_flush","push","digest","result","toString"],"sourceRoot":"../../src","sources":["Hmac.ts"],"mappings":";;AAAA,SAASA,iBAAiB,QAAQ,uCAAuC;AAEzE,SAEEC,aAAa,EAEbC,uBAAuB,QAClB,SAAS;AAChB,OAAOC,MAAM,MAAM,iBAAiB;AACpC,SAASC,MAAM,QAAQ,gCAAgC;AAEvD,MAAMC,kBAAkB,GAAGL,iBAAiB,CAACM,UAAU;AAEvD,OAAO,SAASA,UAAUA,CACxBC,SAAiB,EACjBC,GAAe,EACfC,OAAiC,EACjC;EACA,OAAO,IAAIC,IAAI,CAACH,SAAS,EAAEC,GAAG,EAAEC,OAAO,CAAC;AAC1C;AAEA,MAAMC,IAAI,SAASP,MAAM,CAACQ,SAAS,CAAC;EAE1BC,WAAW,GAAY,KAAK;EAEpCC,WAAWA,CACTN,SAAiB,EACjBC,GAAe;EACf;EACAM,QAAkC,EAClC;IACA,KAAK,CAAC,CAAC;IACP,MAAMC,WAAW,GAAGb,uBAAuB,CAACM,GAAG,CAAC;IAEhD,IAAIO,WAAW,KAAKC,SAAS,EAAE;MAC7B,MAAM,gBAAgB;IACxB;IAEA,IAAI,CAACC,YAAY,GAAGZ,kBAAkB,CACpCE,SAAS,EACTQ,WACF,CAAC;EACH;;EAEA;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EACEG,MAAMA,CAACC,IAAyB,EAAEC,aAAwB,EAAQ;IAChE,IAAID,IAAI,YAAYE,WAAW,EAAE;MAC/B,IAAI,CAACJ,YAAY,CAACC,MAAM,CAACC,IAAI,CAAC;MAC9B,OAAO,IAAI;IACb;IACA,IAAI,OAAOA,IAAI,KAAK,QAAQ,EAAE;MAC5B,MAAMG,MAAM,GAAGlB,MAAM,CAACmB,IAAI,CAACJ,IAAI,EAAEC,aAAa,CAAC;MAC/C,IAAI,CAACH,YAAY,CAACC,MAAM,CAACjB,aAAa,CAACqB,MAAM,CAAC,CAAC;MAC/C,OAAO,IAAI;IACb;IAEA,IAAI,CAACL,YAAY,CAACC,MAAM,CAAChB,uBAAuB,CAACiB,IAAI,CAAC,CAAC;IACvD,OAAO,IAAI;EACb;EAEAK,UAAUA,CACRC,KAA0B,EAC1BC,QAAkB,EAClBC,QAAoB,EACpB;IACA,IAAI,CAACT,MAAM,CAACO,KAAK,EAAEC,QAAQ,CAAC;IAC5BC,QAAQ,CAAC,CAAC;EACZ;EAEAC,MAAMA,CAACD,QAAoB,EAAE;IAC3B,IAAI,CAACE,IAAI,CAAC,IAAI,CAACC,MAAM,CAAC,CAAC,CAAC;IACxBH,QAAQ,CAAC,CAAC;EACZ;;EAEA;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;EAIEG,MAAMA,CAACJ,QAA8B,EAAmB;IACtD,MAAMK,MAAmB,GAAG,IAAI,CAACnB,WAAW,GACxC,IAAIS,WAAW,CAAC,CAAC,CAAC,GAClB,IAAI,CAACJ,YAAY,CAACa,MAAM,CAAC,CAAC;IAC9B,IAAI,CAAClB,WAAW,GAAG,IAAI;IACvB,IAAIc,QAAQ,IAAIA,QAAQ,KAAK,QAAQ,EAAE;MACrC,OAAOtB,MAAM,CAACmB,IAAI,CAACQ,MAAM,CAAC,CAACC,QAAQ,CAACN,QAAQ,CAAC;IAC/C;IACA,OAAOtB,MAAM,CAACmB,IAAI,CAACQ,MAAM,CAAC;EAC5B;AACF","ignoreList":[]}
@@ -1,26 +0,0 @@
1
- "use strict";
2
-
3
- // TODO: until shared, keep in sync with C++ side (cpp/Utils/MGLUtils.h)
4
- export let KeyVariant = /*#__PURE__*/function (KeyVariant) {
5
- KeyVariant[KeyVariant["RSA_SSA_PKCS1_v1_5"] = 0] = "RSA_SSA_PKCS1_v1_5";
6
- KeyVariant[KeyVariant["RSA_PSS"] = 1] = "RSA_PSS";
7
- KeyVariant[KeyVariant["RSA_OAEP"] = 2] = "RSA_OAEP";
8
- KeyVariant[KeyVariant["DSA"] = 3] = "DSA";
9
- KeyVariant[KeyVariant["EC"] = 4] = "EC";
10
- KeyVariant[KeyVariant["NID"] = 5] = "NID";
11
- KeyVariant[KeyVariant["DH"] = 6] = "DH";
12
- return KeyVariant;
13
- }({});
14
- export const KeyVariantLookup = {
15
- 'RSASSA-PKCS1-v1_5': KeyVariant.RSA_SSA_PKCS1_v1_5,
16
- 'RSA-PSS': KeyVariant.RSA_PSS,
17
- 'RSA-OAEP': KeyVariant.RSA_OAEP,
18
- ECDSA: KeyVariant.DSA,
19
- ECDH: KeyVariant.EC,
20
- Ed25519: KeyVariant.NID,
21
- Ed448: KeyVariant.NID,
22
- X25519: KeyVariant.NID,
23
- X448: KeyVariant.NID,
24
- DH: KeyVariant.DH
25
- };
26
- //# sourceMappingURL=Cipher.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["KeyVariant","KeyVariantLookup","RSA_SSA_PKCS1_v1_5","RSA_PSS","RSA_OAEP","ECDSA","DSA","ECDH","EC","Ed25519","NID","Ed448","X25519","X448","DH"],"sourceRoot":"../../../src","sources":["NativeQuickCrypto/Cipher.ts"],"mappings":";;AAWA;AACA,WAAYA,UAAU,0BAAVA,UAAU;EAAVA,UAAU,CAAVA,UAAU;EAAVA,UAAU,CAAVA,UAAU;EAAVA,UAAU,CAAVA,UAAU;EAAVA,UAAU,CAAVA,UAAU;EAAVA,UAAU,CAAVA,UAAU;EAAVA,UAAU,CAAVA,UAAU;EAAVA,UAAU,CAAVA,UAAU;EAAA,OAAVA,UAAU;AAAA;AAUtB,OAAO,MAAMC,gBAA4C,GAAG;EAC1D,mBAAmB,EAAED,UAAU,CAACE,kBAAkB;EAClD,SAAS,EAAEF,UAAU,CAACG,OAAO;EAC7B,UAAU,EAAEH,UAAU,CAACI,QAAQ;EAC/BC,KAAK,EAAEL,UAAU,CAACM,GAAG;EACrBC,IAAI,EAAEP,UAAU,CAACQ,EAAE;EACnBC,OAAO,EAAET,UAAU,CAACU,GAAG;EACvBC,KAAK,EAAEX,UAAU,CAACU,GAAG;EACrBE,MAAM,EAAEZ,UAAU,CAACU,GAAG;EACtBG,IAAI,EAAEb,UAAU,CAACU,GAAG;EACpBI,EAAE,EAAEd,UAAU,CAACc;AACjB,CAAC","ignoreList":[]}
@@ -1,56 +0,0 @@
1
- "use strict";
2
-
3
- import { NativeModules, Platform } from 'react-native';
4
-
5
- // global func declaration for JSI functions
6
-
7
- // Check if the constructor exists. If not, try installing the JSI bindings.
8
- // @ts-expect-error this may not exist on global object
9
- if (global.__QuickCryptoProxy == null) {
10
- // Get the native QuickCrypto ReactModule
11
- const QuickCryptoModule = NativeModules.QuickCrypto;
12
- if (QuickCryptoModule == null) {
13
- let message = 'Failed to install react-native-quick-crypto: The native `QuickCrypto` Module could not be found.';
14
- message += '\n* Make sure react-native-quick-crypto is correctly autolinked (run `npx react-native config` to verify)';
15
- if (Platform.OS === 'ios' || Platform.OS === 'macos') {
16
- message += '\n* Make sure you ran `pod install` in the ios/ directory.';
17
- }
18
- if (Platform.OS === 'android') {
19
- message += '\n* Make sure gradle is synced.';
20
- }
21
- // check if Expo
22
- const ExpoConstants = NativeModules.NativeUnimoduleProxy?.modulesConstants?.ExponentConstants;
23
- if (ExpoConstants != null) {
24
- if (ExpoConstants.appOwnership === 'expo') {
25
- // We're running Expo Go
26
- throw new Error('react-native-quick-crypto is not supported in Expo Go! Use EAS (`expo prebuild`) or eject to a bare workflow instead.');
27
- } else {
28
- // We're running Expo bare / standalone
29
- message += '\n* Make sure you ran `expo prebuild`.';
30
- }
31
- }
32
- message += '\n* Make sure you rebuilt the app.';
33
- throw new Error(message);
34
- }
35
-
36
- // see #333, commenting this may allow the library to work in new architecture
37
- // // Check if we are running on-device (JSI)
38
- // if (global.nativeCallSyncHook == null || QuickCryptoModule.install == null) {
39
- // throw new Error(
40
- // 'Failed to install react-native-quick-crypto: React Native is not running on-device. QuickCrypto can only be used when synchronous method invocations (JSI) are possible. If you are using a remote debugger (e.g. Chrome), switch to an on-device debugger (e.g. Flipper) instead.',
41
- // );
42
- // }
43
-
44
- // Call the synchronous blocking install() function
45
- const result = QuickCryptoModule.install();
46
- if (result !== true) throw new Error(`Failed to install react-native-quick-crypto: The native QuickCrypto Module could not be installed! Looks like something went wrong when installing JSI bindings: ${result}`);
47
-
48
- // Check again if the constructor now exists. If not, throw an error.
49
- // @ts-expect-error this may not exist on global object
50
- if (global.__QuickCryptoProxy == null) throw new Error('Failed to install react-native-quick-crypto, the native initializer function does not exist. Are you trying to use QuickCrypto from different JS Runtimes?');
51
- }
52
-
53
- // @ts-expect-error this may not exist on global object
54
- const proxy = global.__QuickCryptoProxy;
55
- export const NativeQuickCrypto = proxy;
56
- //# sourceMappingURL=NativeQuickCrypto.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["NativeModules","Platform","global","__QuickCryptoProxy","QuickCryptoModule","QuickCrypto","message","OS","ExpoConstants","NativeUnimoduleProxy","modulesConstants","ExponentConstants","appOwnership","Error","result","install","proxy","NativeQuickCrypto"],"sourceRoot":"../../../src","sources":["NativeQuickCrypto/NativeQuickCrypto.ts"],"mappings":";;AAAA,SAASA,aAAa,EAAEC,QAAQ,QAAQ,cAAc;;AAuCtD;;AAMA;AACA;AACA,IAAIC,MAAM,CAACC,kBAAkB,IAAI,IAAI,EAAE;EACrC;EACA,MAAMC,iBAAiB,GAAGJ,aAAa,CAACK,WAAW;EACnD,IAAID,iBAAiB,IAAI,IAAI,EAAE;IAC7B,IAAIE,OAAO,GACT,kGAAkG;IACpGA,OAAO,IACL,2GAA2G;IAC7G,IAAIL,QAAQ,CAACM,EAAE,KAAK,KAAK,IAAIN,QAAQ,CAACM,EAAE,KAAK,OAAO,EAAE;MACpDD,OAAO,IAAI,4DAA4D;IACzE;IACA,IAAIL,QAAQ,CAACM,EAAE,KAAK,SAAS,EAAE;MAC7BD,OAAO,IAAI,iCAAiC;IAC9C;IACA;IACA,MAAME,aAAa,GACjBR,aAAa,CAACS,oBAAoB,EAAEC,gBAAgB,EAAEC,iBAAiB;IACzE,IAAIH,aAAa,IAAI,IAAI,EAAE;MACzB,IAAIA,aAAa,CAACI,YAAY,KAAK,MAAM,EAAE;QACzC;QACA,MAAM,IAAIC,KAAK,CACb,uHACF,CAAC;MACH,CAAC,MAAM;QACL;QACAP,OAAO,IAAI,wCAAwC;MACrD;IACF;IAEAA,OAAO,IAAI,oCAAoC;IAC/C,MAAM,IAAIO,KAAK,CAACP,OAAO,CAAC;EAC1B;;EAEA;EACA;EACA;EACA;EACA;EACA;EACA;;EAEA;EACA,MAAMQ,MAAM,GAAGV,iBAAiB,CAACW,OAAO,CAAC,CAAC;EAC1C,IAAID,MAAM,KAAK,IAAI,EACjB,MAAM,IAAID,KAAK,CACb,oKAAoKC,MAAM,EAC5K,CAAC;;EAEH;EACA;EACA,IAAIZ,MAAM,CAACC,kBAAkB,IAAI,IAAI,EACnC,MAAM,IAAIU,KAAK,CACb,4JACF,CAAC;AACL;;AAEA;AACA,MAAMG,KAAK,GAAGd,MAAM,CAACC,kBAAkB;AACvC,OAAO,MAAMc,iBAAiB,GAAGD,KAA8B","ignoreList":[]}
@@ -1,4 +0,0 @@
1
- "use strict";
2
-
3
- export {};
4
- //# sourceMappingURL=aes.js.map
@@ -1,2 +0,0 @@
1
- "use strict";
2
- //# sourceMappingURL=hash.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":[],"sourceRoot":"../../../src","sources":["NativeQuickCrypto/hash.ts"],"mappings":"","ignoreList":[]}
@@ -1,2 +0,0 @@
1
- "use strict";
2
- //# sourceMappingURL=hmac.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":[],"sourceRoot":"../../../src","sources":["NativeQuickCrypto/hmac.ts"],"mappings":"","ignoreList":[]}
@@ -1,4 +0,0 @@
1
- "use strict";
2
-
3
- export {};
4
- //# sourceMappingURL=keygen.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":[],"sourceRoot":"../../../src","sources":["NativeQuickCrypto/keygen.ts"],"mappings":"","ignoreList":[]}
@@ -1,2 +0,0 @@
1
- "use strict";
2
- //# sourceMappingURL=pbkdf2.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":[],"sourceRoot":"../../../src","sources":["NativeQuickCrypto/pbkdf2.ts"],"mappings":"","ignoreList":[]}
@@ -1,2 +0,0 @@
1
- "use strict";
2
- //# sourceMappingURL=random.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":[],"sourceRoot":"../../../src","sources":["NativeQuickCrypto/random.ts"],"mappings":"","ignoreList":[]}
@@ -1,4 +0,0 @@
1
- "use strict";
2
-
3
- export {};
4
- //# sourceMappingURL=rsa.js.map
@@ -1,17 +0,0 @@
1
- "use strict";
2
-
3
- // TODO Add real types to sign/verify, the problem is that because of encryption schemes
4
-
5
- // they will have variable amount of parameters
6
-
7
- export let DSASigEnc = /*#__PURE__*/function (DSASigEnc) {
8
- DSASigEnc[DSASigEnc["kSigEncDER"] = 0] = "kSigEncDER";
9
- DSASigEnc[DSASigEnc["kSigEncP1363"] = 1] = "kSigEncP1363";
10
- return DSASigEnc;
11
- }({});
12
- export let SignMode = /*#__PURE__*/function (SignMode) {
13
- SignMode[SignMode["kSignJobModeSign"] = 0] = "kSignJobModeSign";
14
- SignMode[SignMode["kSignJobModeVerify"] = 1] = "kSignJobModeVerify";
15
- return SignMode;
16
- }({});
17
- //# sourceMappingURL=sig.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["DSASigEnc","SignMode"],"sourceRoot":"../../../src","sources":["NativeQuickCrypto/sig.ts"],"mappings":";;AAAA;;AAIA;;AAmBA,WAAYA,SAAS,0BAATA,SAAS;EAATA,SAAS,CAATA,SAAS;EAATA,SAAS,CAATA,SAAS;EAAA,OAATA,SAAS;AAAA;AAKrB,WAAYC,QAAQ,0BAARA,QAAQ;EAARA,QAAQ,CAARA,QAAQ;EAARA,QAAQ,CAARA,QAAQ;EAAA,OAARA,QAAQ;AAAA","ignoreList":[]}
@@ -1,4 +0,0 @@
1
- "use strict";
2
-
3
- export {};
4
- //# sourceMappingURL=webcrypto.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":[],"sourceRoot":"../../../src","sources":["NativeQuickCrypto/webcrypto.ts"],"mappings":"","ignoreList":[]}
@@ -1,369 +0,0 @@
1
- "use strict";
2
-
3
- import { Buffer as CraftzdogBuffer } from '@craftzdog/react-native-buffer';
4
- import { Buffer as SafeBuffer } from 'safe-buffer';
5
-
6
- // @types/node
7
-
8
- // TODO(osp) should buffer be part of the Encoding type?
9
-
10
- // These are for shortcomings in @types/node
11
- // Here we use "*Type" instead of "*Types" like node does.
12
-
13
- // Mimics node behavior for default global encoding
14
- let defaultEncoding = 'buffer';
15
- export function setDefaultEncoding(encoding) {
16
- defaultEncoding = encoding;
17
- }
18
- export function getDefaultEncoding() {
19
- return defaultEncoding;
20
- }
21
- export const kEmptyObject = Object.freeze(Object.create(null));
22
-
23
- // Should be used by Cipher (or any other module that requires valid encodings)
24
- // function slowCases(enc: string) {
25
- // switch (enc.length) {
26
- // case 4:
27
- // if (enc === 'UTF8') return 'utf8';
28
- // if (enc === 'ucs2' || enc === 'UCS2') return 'utf16le';
29
- // enc = `${enc}`.toLowerCase();
30
- // if (enc === 'utf8') return 'utf8';
31
- // if (enc === 'ucs2') return 'utf16le';
32
- // break;
33
- // case 3:
34
- // if (enc === 'hex' || enc === 'HEX' || `${enc}`.toLowerCase() === 'hex')
35
- // return 'hex';
36
- // break;
37
- // case 5:
38
- // if (enc === 'ascii') return 'ascii';
39
- // if (enc === 'ucs-2') return 'utf16le';
40
- // if (enc === 'UTF-8') return 'utf8';
41
- // if (enc === 'ASCII') return 'ascii';
42
- // if (enc === 'UCS-2') return 'utf16le';
43
- // enc = `${enc}`.toLowerCase();
44
- // if (enc === 'utf-8') return 'utf8';
45
- // if (enc === 'ascii') return 'ascii';
46
- // if (enc === 'ucs-2') return 'utf16le';
47
- // break;
48
- // case 6:
49
- // if (enc === 'base64') return 'base64';
50
- // if (enc === 'latin1' || enc === 'binary') return 'latin1';
51
- // if (enc === 'BASE64') return 'base64';
52
- // if (enc === 'LATIN1' || enc === 'BINARY') return 'latin1';
53
- // enc = `${enc}`.toLowerCase();
54
- // if (enc === 'base64') return 'base64';
55
- // if (enc === 'latin1' || enc === 'binary') return 'latin1';
56
- // break;
57
- // case 7:
58
- // if (
59
- // enc === 'utf16le' ||
60
- // enc === 'UTF16LE' ||
61
- // `${enc}`.toLowerCase() === 'utf16le'
62
- // )
63
- // return 'utf16le';
64
- // break;
65
- // case 8:
66
- // if (
67
- // enc === 'utf-16le' ||
68
- // enc === 'UTF-16LE' ||
69
- // `${enc}`.toLowerCase() === 'utf-16le'
70
- // )
71
- // return 'utf16le';
72
- // break;
73
- // case 9:
74
- // if (
75
- // enc === 'base64url' ||
76
- // enc === 'BASE64URL' ||
77
- // `${enc}`.toLowerCase() === 'base64url'
78
- // )
79
- // return 'base64url';
80
- // break;
81
- // default:
82
- // if (enc === '') return 'utf8';
83
- // }
84
- // }
85
-
86
- // // Return undefined if there is no match.
87
- // // Move the "slow cases" to a separate function to make sure this function gets
88
- // // inlined properly. That prioritizes the common case.
89
- // export function normalizeEncoding(enc?: string) {
90
- // if (enc == null || enc === 'utf8' || enc === 'utf-8') return 'utf8';
91
- // return slowCases(enc);
92
- // }
93
-
94
- /**
95
- * Converts supplied argument to an ArrayBuffer. Note this does not copy the
96
- * data so it is faster than toArrayBuffer. Not copying is important for
97
- * functions like randomFill which need to be able to write to the underlying
98
- * buffer.
99
- * @param buf
100
- * @returns ArrayBuffer
101
- */
102
- export function abvToArrayBuffer(buffer) {
103
- if (CraftzdogBuffer.isBuffer(buffer) || ArrayBuffer.isView(buffer)) {
104
- return buffer.buffer;
105
- }
106
- return buffer;
107
- }
108
-
109
- /**
110
- * Converts supplied argument to an ArrayBuffer. Note this copies data if the
111
- * supplied buffer has the .slice() method, so can be a bit slow.
112
- * @param buf
113
- * @returns ArrayBuffer
114
- */
115
- export function toArrayBuffer(buf) {
116
- if (CraftzdogBuffer.isBuffer(buf) || ArrayBuffer.isView(buf)) {
117
- if (buf?.buffer?.slice) {
118
- return buf.buffer.slice(buf.byteOffset, buf.byteOffset + buf.byteLength);
119
- } else {
120
- throw new Error('This implementation of buffer does not implement slice');
121
- }
122
- }
123
- const ab = new ArrayBuffer(buf.length);
124
- const view = new Uint8Array(ab);
125
- for (let i = 0; i < buf.length; ++i) {
126
- view[i] = SafeBuffer.isBuffer(buf) ? buf.readUInt8(i) : buf[i];
127
- }
128
- return ab;
129
- }
130
- export function bufferLikeToArrayBuffer(buf) {
131
- if (CraftzdogBuffer.isBuffer(buf) || SafeBuffer.isBuffer(buf)) {
132
- return toArrayBuffer(buf);
133
- }
134
- if (ArrayBuffer.isView(buf)) {
135
- return toArrayBuffer(buf);
136
- }
137
- return buf;
138
- }
139
- export function binaryLikeToArrayBuffer(input,
140
- // CipherKey adds compat with node types
141
- encoding = 'utf-8') {
142
- // string
143
- if (typeof input === 'string') {
144
- if (encoding === 'buffer') {
145
- throw new Error('Cannot create a buffer from a string with a buffer encoding');
146
- }
147
- const buffer = CraftzdogBuffer.from(input, encoding);
148
- return buffer.buffer.slice(buffer.byteOffset, buffer.byteOffset + buffer.byteLength);
149
- }
150
-
151
- // Buffer
152
- if (CraftzdogBuffer.isBuffer(input) || SafeBuffer.isBuffer(input)) {
153
- return toArrayBuffer(input);
154
- }
155
-
156
- // ArrayBufferView
157
- // TODO add further binary types to BinaryLike, UInt8Array and so for have this array as property
158
- if (ArrayBuffer.isView(input)) {
159
- return toArrayBuffer(input);
160
- }
161
-
162
- // ArrayBuffer
163
- if (input instanceof ArrayBuffer) {
164
- return input;
165
- }
166
-
167
- // if (!(input instanceof ArrayBuffer)) {
168
- // try {
169
- // // this is a strange fallback case and input is unknown at this point
170
- // const buffer = Buffer.from(input as unknown as string);
171
- // return buffer.buffer.slice(
172
- // buffer.byteOffset,
173
- // buffer.byteOffset + buffer.byteLength
174
- // );
175
- // } catch(e: unknown) {
176
- // console.log('throwing 1');
177
- // const err = e as Error;
178
- // throw new Error(err.message);
179
- // }
180
- // }
181
-
182
- // TODO: handle if input is KeyObject?
183
-
184
- throw new Error('input could not be converted to ArrayBuffer');
185
- }
186
- export function ab2str(buf, encoding = 'hex') {
187
- return CraftzdogBuffer.from(buf).toString(encoding);
188
- }
189
- export function validateString(str, name) {
190
- const isString = typeof str === 'string';
191
- if (!isString) {
192
- throw new Error(`${name} is not a string`);
193
- }
194
- return isString;
195
- }
196
- export function validateFunction(f) {
197
- return f !== null && typeof f === 'function';
198
- }
199
- export function isStringOrBuffer(val) {
200
- return typeof val === 'string' || ArrayBuffer.isView(val) || val instanceof ArrayBuffer;
201
- }
202
- export function validateObject(value, name, options) {
203
- const useDefaultOptions = options == null;
204
- const allowArray = useDefaultOptions ? false : options.allowArray;
205
- const allowFunction = useDefaultOptions ? false : options.allowFunction;
206
- const nullable = useDefaultOptions ? false : options.nullable;
207
- if (!nullable && value === null || !allowArray && Array.isArray(value) || typeof value !== 'object' && (!allowFunction || typeof value !== 'function')) {
208
- throw new Error(`${name} is not a valid object $${value}`);
209
- }
210
- return true;
211
- }
212
- export function validateInt32(
213
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
214
- value, name, min = -2147483648, max = 2147483647) {
215
- // The defaults for min and max correspond to the limits of 32-bit integers.
216
- if (typeof value !== 'number') {
217
- throw new Error(`Invalid argument - ${name} is not a number: ${value}`);
218
- }
219
- if (!Number.isInteger(value)) {
220
- throw new Error(`Argument out of range - ${name} out of integer range: ${value}`);
221
- }
222
- if (value < min || value > max) {
223
- throw new Error(`Invalid argument - ${name} out of range >= ${min} && <= ${max}: ${value}`);
224
- }
225
- }
226
- export function validateUint32(value, name, positive) {
227
- if (typeof value !== 'number') {
228
- // throw new ERR_INVALID_ARG_TYPE(name, 'number', value);
229
- throw new Error(`Invalid argument - ${name} is not a number: ${value}`);
230
- }
231
- if (!Number.isInteger(value)) {
232
- // throw new ERR_OUT_OF_RANGE(name, 'an integer', value);
233
- throw new Error(`Argument out of range - ${name} out of integer range: ${value}`);
234
- }
235
- const min = positive ? 1 : 0;
236
- // 2 ** 32 === 4294967296
237
- const max = 4294967295;
238
- if (value < min || value > max) {
239
- // throw new ERR_OUT_OF_RANGE(name, `>= ${min} && <= ${max}`, value);
240
- throw new Error(`Invalid argument - ${name} out of range >= ${min} && <= ${max}: ${value}`);
241
- }
242
- }
243
- export function hasAnyNotIn(set, checks) {
244
- for (const s of set) {
245
- if (!checks.includes(s)) {
246
- return true;
247
- }
248
- }
249
- return false;
250
- }
251
- export function lazyDOMException(message, domName) {
252
- let cause = '';
253
- if (typeof domName !== 'string') {
254
- cause = `\nCaused by: ${domName.cause}`;
255
- }
256
- return new Error(`[${domName}]: ${message}${cause}`);
257
- }
258
-
259
- // from lib/internal/crypto/util.js
260
-
261
- // The maximum buffer size that we'll support in the WebCrypto impl
262
- const kMaxBufferLength = 2 ** 31 - 1;
263
-
264
- // // The EC named curves that we currently support via the Web Crypto API.
265
- // const kNamedCurveAliases = {
266
- // 'P-256': 'prime256v1',
267
- // 'P-384': 'secp384r1',
268
- // 'P-521': 'secp521r1',
269
- // };
270
-
271
- // const kAesKeyLengths = [128, 192, 256];
272
-
273
- // // These are the only hash algorithms we currently support via
274
- // // the Web Crypto API.
275
- // const kHashTypes = ['SHA-1', 'SHA-256', 'SHA-384', 'SHA-512'];
276
-
277
- export const validateMaxBufferLength = (data, name) => {
278
- const length = typeof data === 'string' || data instanceof SafeBuffer ? data.length : data.byteLength;
279
- if (length > kMaxBufferLength) {
280
- throw lazyDOMException(`${name} must be less than ${kMaxBufferLength + 1} bits`, 'OperationError');
281
- }
282
- };
283
- export const validateBitLength = (length, name, required = false) => {
284
- if (length !== undefined || required) {
285
- // validateNumber(length, name);
286
- if (length < 0) throw new Error(`${name} > 0`);
287
- if (length % 8) {
288
- throw lazyDOMException(`${name}'s length (${length}) must be a multiple of 8`, 'InvalidArgument');
289
- }
290
- }
291
- };
292
- export const validateByteLength = (buf, name, target) => {
293
- if (SafeBuffer.isBuffer(buf) && buf.length !== target || buf.byteLength !== target) {
294
- throw lazyDOMException(`${name} must contain exactly ${target} bytes`, 'OperationError');
295
- }
296
- };
297
- export const getUsagesUnion = (usageSet, ...usages) => {
298
- const newset = [];
299
- for (let n = 0; n < usages.length; n++) {
300
- if (!usages[n] || usages[n] === undefined) continue;
301
- if (usageSet.includes(usages[n])) newset.push(usages[n]);
302
- }
303
- return newset;
304
- };
305
- const kKeyOps = {
306
- sign: 1,
307
- verify: 2,
308
- encrypt: 3,
309
- decrypt: 4,
310
- wrapKey: 5,
311
- unwrapKey: 6,
312
- deriveKey: 7,
313
- deriveBits: 8
314
- };
315
- export const validateKeyOps = (keyOps, usagesSet) => {
316
- if (keyOps === undefined) return;
317
- if (!Array.isArray(keyOps)) {
318
- throw lazyDOMException('keyData.key_ops', 'InvalidArgument');
319
- }
320
- let flags = 0;
321
- for (let n = 0; n < keyOps.length; n++) {
322
- const op = keyOps[n];
323
- const op_flag = kKeyOps[op];
324
- // Skipping unknown key ops
325
- if (op_flag === undefined) continue;
326
- // Have we seen it already? if so, error
327
- if (flags & 1 << op_flag) throw lazyDOMException('Duplicate key operation', 'DataError');
328
- flags |= 1 << op_flag;
329
-
330
- // TODO(@jasnell): RFC7517 section 4.3 strong recommends validating
331
- // key usage combinations. Specifically, it says that unrelated key
332
- // ops SHOULD NOT be used together. We're not yet validating that here.
333
- }
334
- if (usagesSet !== undefined) {
335
- for (const use of usagesSet) {
336
- if (!keyOps.includes(use)) {
337
- throw lazyDOMException('Key operations and usage mismatch', 'DataError');
338
- }
339
- }
340
- }
341
- };
342
-
343
- // In WebCrypto, the publicExponent option in RSA is represented as a
344
- // WebIDL "BigInteger"... that is, a Uint8Array that allows an arbitrary
345
- // number of leading zero bits. Our conventional APIs for reading
346
- // an unsigned int from a Buffer are not adequate. The implementation
347
- // here is adapted from the chromium implementation here:
348
- // https://github.com/chromium/chromium/blob/HEAD/third_party/blink/public/platform/web_crypto_algorithm_params.h, but ported to JavaScript
349
- // Returns undefined if the conversion was unsuccessful.
350
- export const bigIntArrayToUnsignedInt = input => {
351
- let result = 0;
352
- for (let n = 0; n < input.length; ++n) {
353
- const n_reversed = input.length - n - 1;
354
- if (n_reversed >= 4 && input[n]) return; // Too large
355
- // @ts-expect-error - input[n] is possibly undefined
356
- result |= input[n] << 8 * n_reversed;
357
- }
358
- return result;
359
- };
360
-
361
- // TODO: these used to be shipped by crypto-browserify in quickcrypto v0.6
362
- // could instead fetch from OpenSSL if needed and handle breaking changes
363
- export const getHashes = () => ['sha1', 'sha224', 'sha256', 'sha384', 'sha512', 'md5', 'rmd160', 'sha224WithRSAEncryption', 'RSA-SHA224', 'sha256WithRSAEncryption', 'RSA-SHA256', 'sha384WithRSAEncryption', 'RSA-SHA384', 'sha512WithRSAEncryption', 'RSA-SHA512', 'RSA-SHA1', 'ecdsa-with-SHA1', 'sha256', 'sha224', 'sha384', 'sha512', 'DSA-SHA', 'DSA-SHA1', 'DSA', 'DSA-WITH-SHA224', 'DSA-SHA224', 'DSA-WITH-SHA256', 'DSA-SHA256', 'DSA-WITH-SHA384', 'DSA-SHA384', 'DSA-WITH-SHA512', 'DSA-SHA512', 'DSA-RIPEMD160', 'ripemd160WithRSA', 'RSA-RIPEMD160', 'md5WithRSAEncryption', 'RSA-MD5'];
364
-
365
- // TODO: these used to be shipped by crypto-browserify in quickcrypto v0.6
366
- // could instead fetch from OpenSSL if needed and handle breaking changes
367
- export const getCiphers = () => ['des-ecb', 'des', 'des-cbc', 'des3', 'des-ede3-cbc', 'des-ede3', 'des-ede-cbc', 'des-ede', 'aes-128-ecb', 'aes-192-ecb', 'aes-256-ecb', 'aes-128-cbc', 'aes-192-cbc', 'aes-256-cbc', 'aes128', 'aes192', 'aes256', 'aes-128-cfb', 'aes-192-cfb', 'aes-256-cfb', 'aes-128-cfb8', 'aes-192-cfb8', 'aes-256-cfb8', 'aes-128-cfb1', 'aes-192-cfb1', 'aes-256-cfb1', 'aes-128-ofb', 'aes-192-ofb', 'aes-256-ofb', 'aes-128-ctr', 'aes-192-ctr', 'aes-256-ctr', 'aes-128-gcm', 'aes-192-gcm', 'aes-256-gcm'];
368
- export * from './Hashnames';
369
- //# sourceMappingURL=Utils.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["Buffer","CraftzdogBuffer","SafeBuffer","defaultEncoding","setDefaultEncoding","encoding","getDefaultEncoding","kEmptyObject","Object","freeze","create","abvToArrayBuffer","buffer","isBuffer","ArrayBuffer","isView","toArrayBuffer","buf","slice","byteOffset","byteLength","Error","ab","length","view","Uint8Array","i","readUInt8","bufferLikeToArrayBuffer","binaryLikeToArrayBuffer","input","from","ab2str","toString","validateString","str","name","isString","validateFunction","f","isStringOrBuffer","val","validateObject","value","options","useDefaultOptions","allowArray","allowFunction","nullable","Array","isArray","validateInt32","min","max","Number","isInteger","validateUint32","positive","hasAnyNotIn","set","checks","s","includes","lazyDOMException","message","domName","cause","kMaxBufferLength","validateMaxBufferLength","data","validateBitLength","required","undefined","validateByteLength","target","getUsagesUnion","usageSet","usages","newset","n","push","kKeyOps","sign","verify","encrypt","decrypt","wrapKey","unwrapKey","deriveKey","deriveBits","validateKeyOps","keyOps","usagesSet","flags","op","op_flag","use","bigIntArrayToUnsignedInt","result","n_reversed","getHashes","getCiphers"],"sourceRoot":"../../src","sources":["Utils.ts"],"mappings":";;AAAA,SAASA,MAAM,IAAIC,eAAe,QAAQ,gCAAgC;AAC1E,SAASD,MAAM,IAAIE,UAAU,QAAQ,aAAa;;AAGT;;AAwBzC;;AAGA;AACA;;AAyDA;AACA,IAAIC,eAA+B,GAAG,QAAQ;AAE9C,OAAO,SAASC,kBAAkBA,CAACC,QAAwB,EAAE;EAC3DF,eAAe,GAAGE,QAAQ;AAC5B;AAEA,OAAO,SAASC,kBAAkBA,CAAA,EAAmB;EACnD,OAAOH,eAAe;AACxB;AAEA,OAAO,MAAMI,YAAY,GAAGC,MAAM,CAACC,MAAM,CAACD,MAAM,CAACE,MAAM,CAAC,IAAI,CAAC,CAAC;;AAE9D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,gBAAgBA,CAACC,MAAW,EAAe;EACzD,IAAIX,eAAe,CAACY,QAAQ,CAACD,MAAM,CAAC,IAAIE,WAAW,CAACC,MAAM,CAACH,MAAM,CAAC,EAAE;IAClE,OAAOA,MAAM,CAACA,MAAM;EACtB;EACA,OAAOA,MAAM;AACf;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASI,aAAaA,CAC3BC,GAAmD,EACtC;EACb,IAAIhB,eAAe,CAACY,QAAQ,CAACI,GAAG,CAAC,IAAIH,WAAW,CAACC,MAAM,CAACE,GAAG,CAAC,EAAE;IAC5D,IAAIA,GAAG,EAAEL,MAAM,EAAEM,KAAK,EAAE;MACtB,OAAOD,GAAG,CAACL,MAAM,CAACM,KAAK,CACrBD,GAAG,CAACE,UAAU,EACdF,GAAG,C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","ignoreList":[]}