react-native-quick-crypto 0.7.3 → 1.0.0-beta.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (309) hide show
  1. package/QuickCrypto.podspec +34 -0
  2. package/README.md +13 -46
  3. package/android/CMakeLists.txt +32 -64
  4. package/android/build.gradle +52 -125
  5. package/android/gradle.properties +4 -4
  6. package/android/src/main/cpp/cpp-adapter.cpp +9 -54
  7. package/android/src/main/java/com/margelo/nitro/quickcrypto/QuickCryptoPackage.java +38 -0
  8. package/cpp/random/HybridRandom.cpp +34 -0
  9. package/cpp/random/HybridRandom.hpp +44 -0
  10. package/cpp/utils/Utils.hpp +9 -0
  11. package/ios/QuickCryptoOnLoad.mm +19 -0
  12. package/lib/commonjs/index.js +39 -39
  13. package/lib/commonjs/index.js.map +1 -1
  14. package/lib/commonjs/random.js +26 -12
  15. package/lib/commonjs/random.js.map +1 -1
  16. package/lib/commonjs/{NativeQuickCrypto/rsa.js → specs/random.nitro.js} +1 -1
  17. package/lib/commonjs/{NativeQuickCrypto/aes.js.map → specs/random.nitro.js.map} +1 -1
  18. package/lib/commonjs/utils/conversion.js +22 -0
  19. package/lib/commonjs/utils/conversion.js.map +1 -0
  20. package/lib/commonjs/utils/index.js +12 -0
  21. package/lib/commonjs/utils/index.js.map +1 -0
  22. package/lib/commonjs/utils/types.js +2 -0
  23. package/lib/{module/NativeQuickCrypto/aes.js.map → commonjs/utils/types.js.map} +1 -1
  24. package/lib/module/index.js +38 -38
  25. package/lib/module/index.js.map +1 -1
  26. package/lib/module/random.js +26 -12
  27. package/lib/module/random.js.map +1 -1
  28. package/lib/module/specs/random.nitro.js +4 -0
  29. package/lib/module/{NativeQuickCrypto/rsa.js.map → specs/random.nitro.js.map} +1 -1
  30. package/lib/module/utils/conversion.js +16 -0
  31. package/lib/module/utils/conversion.js.map +1 -0
  32. package/lib/module/utils/index.js +8 -0
  33. package/lib/module/utils/index.js.map +1 -0
  34. package/lib/module/utils/types.js +2 -0
  35. package/lib/{commonjs/NativeQuickCrypto/rsa.js.map → module/utils/types.js.map} +1 -1
  36. package/lib/tsconfig.tsbuildinfo +1 -0
  37. package/lib/typescript/index.d.ts +10 -141
  38. package/lib/typescript/index.d.ts.map +1 -1
  39. package/lib/typescript/random.d.ts +4 -5
  40. package/lib/typescript/random.d.ts.map +1 -1
  41. package/lib/typescript/specs/random.nitro.d.ts +9 -0
  42. package/lib/typescript/specs/random.nitro.d.ts.map +1 -0
  43. package/lib/typescript/utils/conversion.d.ts +4 -0
  44. package/lib/typescript/utils/conversion.d.ts.map +1 -0
  45. package/lib/typescript/utils/index.d.ts +6 -0
  46. package/lib/typescript/utils/index.d.ts.map +1 -0
  47. package/lib/typescript/utils/types.d.ts +5 -0
  48. package/lib/typescript/utils/types.d.ts.map +1 -0
  49. package/nitrogen/generated/android/QuickCrypto+autolinking.cmake +45 -0
  50. package/nitrogen/generated/android/QuickCrypto+autolinking.gradle +26 -0
  51. package/nitrogen/generated/ios/QuickCrypto+autolinking.rb +57 -0
  52. package/nitrogen/generated/ios/QuickCrypto-Swift-Cxx-Bridge.cpp +9 -0
  53. package/nitrogen/generated/ios/QuickCrypto-Swift-Cxx-Bridge.hpp +25 -0
  54. package/nitrogen/generated/ios/QuickCrypto-Swift-Cxx-Umbrella.hpp +29 -0
  55. package/nitrogen/generated/shared/c++/HybridRandomSpec.cpp +23 -0
  56. package/nitrogen/generated/shared/c++/HybridRandomSpec.hpp +62 -0
  57. package/package.json +50 -106
  58. package/src/index.ts +38 -48
  59. package/src/random.ts +51 -48
  60. package/src/specs/random.nitro.ts +14 -0
  61. package/src/utils/conversion.ts +16 -0
  62. package/src/utils/index.ts +6 -0
  63. package/src/utils/types.ts +15 -0
  64. package/LICENSE +0 -27
  65. package/android/src/main/java/com/margelo/quickcrypto/QuickCryptoModule.java +0 -70
  66. package/android/src/main/java/com/margelo/quickcrypto/QuickCryptoPackage.java +0 -25
  67. package/cpp/Cipher/MGLCipherHostObject.cpp +0 -663
  68. package/cpp/Cipher/MGLCipherHostObject.h +0 -90
  69. package/cpp/Cipher/MGLCreateCipherInstaller.cpp +0 -75
  70. package/cpp/Cipher/MGLCreateCipherInstaller.h +0 -22
  71. package/cpp/Cipher/MGLCreateDecipherInstaller.cpp +0 -77
  72. package/cpp/Cipher/MGLCreateDecipherInstaller.h +0 -17
  73. package/cpp/Cipher/MGLGenerateKeyPairInstaller.cpp +0 -134
  74. package/cpp/Cipher/MGLGenerateKeyPairInstaller.h +0 -35
  75. package/cpp/Cipher/MGLGenerateKeyPairSyncInstaller.cpp +0 -63
  76. package/cpp/Cipher/MGLGenerateKeyPairSyncInstaller.h +0 -37
  77. package/cpp/Cipher/MGLPublicCipher.h +0 -124
  78. package/cpp/Cipher/MGLPublicCipherInstaller.h +0 -107
  79. package/cpp/Cipher/MGLRsa.cpp +0 -573
  80. package/cpp/Cipher/MGLRsa.h +0 -109
  81. package/cpp/HMAC/MGLHmacHostObject.cpp +0 -95
  82. package/cpp/HMAC/MGLHmacHostObject.h +0 -39
  83. package/cpp/HMAC/MGLHmacInstaller.cpp +0 -43
  84. package/cpp/HMAC/MGLHmacInstaller.h +0 -20
  85. package/cpp/Hash/MGLHashHostObject.cpp +0 -147
  86. package/cpp/Hash/MGLHashHostObject.h +0 -53
  87. package/cpp/Hash/MGLHashInstaller.cpp +0 -44
  88. package/cpp/Hash/MGLHashInstaller.h +0 -20
  89. package/cpp/JSIUtils/MGLJSIMacros.h +0 -110
  90. package/cpp/JSIUtils/MGLJSIUtils.h +0 -41
  91. package/cpp/JSIUtils/MGLSmartHostObject.cpp +0 -43
  92. package/cpp/JSIUtils/MGLSmartHostObject.h +0 -46
  93. package/cpp/JSIUtils/MGLThreadAwareHostObject.cpp +0 -24
  94. package/cpp/JSIUtils/MGLThreadAwareHostObject.h +0 -43
  95. package/cpp/JSIUtils/MGLTypedArray.cpp +0 -325
  96. package/cpp/JSIUtils/MGLTypedArray.h +0 -160
  97. package/cpp/MGLKeys.cpp +0 -1426
  98. package/cpp/MGLKeys.h +0 -203
  99. package/cpp/MGLQuickCryptoHostObject.cpp +0 -127
  100. package/cpp/MGLQuickCryptoHostObject.h +0 -30
  101. package/cpp/Random/MGLRandomHostObject.cpp +0 -96
  102. package/cpp/Random/MGLRandomHostObject.h +0 -27
  103. package/cpp/Sig/MGLSignHostObjects.cpp +0 -757
  104. package/cpp/Sig/MGLSignHostObjects.h +0 -128
  105. package/cpp/Sig/MGLSignInstaller.cpp +0 -24
  106. package/cpp/Sig/MGLSignInstaller.h +0 -29
  107. package/cpp/Sig/MGLVerifyInstaller.cpp +0 -24
  108. package/cpp/Sig/MGLVerifyInstaller.h +0 -22
  109. package/cpp/Utils/MGLDispatchQueue.cpp +0 -75
  110. package/cpp/Utils/MGLDispatchQueue.h +0 -55
  111. package/cpp/Utils/MGLUtils.cpp +0 -295
  112. package/cpp/Utils/MGLUtils.h +0 -358
  113. package/cpp/Utils/base64.h +0 -320
  114. package/cpp/Utils/logs.h +0 -38
  115. package/cpp/Utils/node.h +0 -13
  116. package/cpp/fastpbkdf2/MGLPbkdf2HostObject.cpp +0 -164
  117. package/cpp/fastpbkdf2/MGLPbkdf2HostObject.h +0 -29
  118. package/cpp/fastpbkdf2/fastpbkdf2.c +0 -352
  119. package/cpp/fastpbkdf2/fastpbkdf2.h +0 -68
  120. package/cpp/webcrypto/MGLWebCrypto.cpp +0 -125
  121. package/cpp/webcrypto/MGLWebCrypto.h +0 -32
  122. package/cpp/webcrypto/crypto_aes.cpp +0 -516
  123. package/cpp/webcrypto/crypto_aes.h +0 -79
  124. package/cpp/webcrypto/crypto_ec.cpp +0 -424
  125. package/cpp/webcrypto/crypto_ec.h +0 -78
  126. package/cpp/webcrypto/crypto_keygen.cpp +0 -86
  127. package/cpp/webcrypto/crypto_keygen.h +0 -38
  128. package/ios/QuickCrypto.xcodeproj/project.pbxproj +0 -274
  129. package/ios/QuickCryptoModule.h +0 -5
  130. package/ios/QuickCryptoModule.mm +0 -42
  131. package/lib/commonjs/Cipher.js +0 -502
  132. package/lib/commonjs/Cipher.js.map +0 -1
  133. package/lib/commonjs/Hash.js +0 -99
  134. package/lib/commonjs/Hash.js.map +0 -1
  135. package/lib/commonjs/Hashnames.js +0 -87
  136. package/lib/commonjs/Hashnames.js.map +0 -1
  137. package/lib/commonjs/Hmac.js +0 -79
  138. package/lib/commonjs/Hmac.js.map +0 -1
  139. package/lib/commonjs/NativeQuickCrypto/Cipher.js +0 -30
  140. package/lib/commonjs/NativeQuickCrypto/Cipher.js.map +0 -1
  141. package/lib/commonjs/NativeQuickCrypto/NativeQuickCrypto.js +0 -52
  142. package/lib/commonjs/NativeQuickCrypto/NativeQuickCrypto.js.map +0 -1
  143. package/lib/commonjs/NativeQuickCrypto/aes.js +0 -6
  144. package/lib/commonjs/NativeQuickCrypto/hash.js +0 -2
  145. package/lib/commonjs/NativeQuickCrypto/hash.js.map +0 -1
  146. package/lib/commonjs/NativeQuickCrypto/hmac.js +0 -2
  147. package/lib/commonjs/NativeQuickCrypto/hmac.js.map +0 -1
  148. package/lib/commonjs/NativeQuickCrypto/keygen.js +0 -6
  149. package/lib/commonjs/NativeQuickCrypto/keygen.js.map +0 -1
  150. package/lib/commonjs/NativeQuickCrypto/pbkdf2.js +0 -2
  151. package/lib/commonjs/NativeQuickCrypto/pbkdf2.js.map +0 -1
  152. package/lib/commonjs/NativeQuickCrypto/random.js +0 -2
  153. package/lib/commonjs/NativeQuickCrypto/random.js.map +0 -1
  154. package/lib/commonjs/NativeQuickCrypto/sig.js +0 -19
  155. package/lib/commonjs/NativeQuickCrypto/sig.js.map +0 -1
  156. package/lib/commonjs/NativeQuickCrypto/webcrypto.js +0 -6
  157. package/lib/commonjs/NativeQuickCrypto/webcrypto.js.map +0 -1
  158. package/lib/commonjs/Utils.js +0 -608
  159. package/lib/commonjs/Utils.js.map +0 -1
  160. package/lib/commonjs/aes.js +0 -281
  161. package/lib/commonjs/aes.js.map +0 -1
  162. package/lib/commonjs/constants.js +0 -85
  163. package/lib/commonjs/constants.js.map +0 -1
  164. package/lib/commonjs/ec.js +0 -276
  165. package/lib/commonjs/ec.js.map +0 -1
  166. package/lib/commonjs/keygen.js +0 -56
  167. package/lib/commonjs/keygen.js.map +0 -1
  168. package/lib/commonjs/keys.js +0 -492
  169. package/lib/commonjs/keys.js.map +0 -1
  170. package/lib/commonjs/pbkdf2.js +0 -90
  171. package/lib/commonjs/pbkdf2.js.map +0 -1
  172. package/lib/commonjs/rsa.js +0 -248
  173. package/lib/commonjs/rsa.js.map +0 -1
  174. package/lib/commonjs/sig.js +0 -129
  175. package/lib/commonjs/sig.js.map +0 -1
  176. package/lib/commonjs/subtle.js +0 -448
  177. package/lib/commonjs/subtle.js.map +0 -1
  178. package/lib/commonjs/webcrypto.js +0 -14
  179. package/lib/commonjs/webcrypto.js.map +0 -1
  180. package/lib/module/Cipher.js +0 -491
  181. package/lib/module/Cipher.js.map +0 -1
  182. package/lib/module/Hash.js +0 -93
  183. package/lib/module/Hash.js.map +0 -1
  184. package/lib/module/Hashnames.js +0 -85
  185. package/lib/module/Hashnames.js.map +0 -1
  186. package/lib/module/Hmac.js +0 -74
  187. package/lib/module/Hmac.js.map +0 -1
  188. package/lib/module/NativeQuickCrypto/Cipher.js +0 -26
  189. package/lib/module/NativeQuickCrypto/Cipher.js.map +0 -1
  190. package/lib/module/NativeQuickCrypto/NativeQuickCrypto.js +0 -49
  191. package/lib/module/NativeQuickCrypto/NativeQuickCrypto.js.map +0 -1
  192. package/lib/module/NativeQuickCrypto/aes.js +0 -4
  193. package/lib/module/NativeQuickCrypto/hash.js +0 -2
  194. package/lib/module/NativeQuickCrypto/hash.js.map +0 -1
  195. package/lib/module/NativeQuickCrypto/hmac.js +0 -2
  196. package/lib/module/NativeQuickCrypto/hmac.js.map +0 -1
  197. package/lib/module/NativeQuickCrypto/keygen.js +0 -4
  198. package/lib/module/NativeQuickCrypto/keygen.js.map +0 -1
  199. package/lib/module/NativeQuickCrypto/pbkdf2.js +0 -2
  200. package/lib/module/NativeQuickCrypto/pbkdf2.js.map +0 -1
  201. package/lib/module/NativeQuickCrypto/random.js +0 -2
  202. package/lib/module/NativeQuickCrypto/random.js.map +0 -1
  203. package/lib/module/NativeQuickCrypto/rsa.js +0 -4
  204. package/lib/module/NativeQuickCrypto/sig.js +0 -17
  205. package/lib/module/NativeQuickCrypto/sig.js.map +0 -1
  206. package/lib/module/NativeQuickCrypto/webcrypto.js +0 -4
  207. package/lib/module/NativeQuickCrypto/webcrypto.js.map +0 -1
  208. package/lib/module/Utils.js +0 -539
  209. package/lib/module/Utils.js.map +0 -1
  210. package/lib/module/aes.js +0 -274
  211. package/lib/module/aes.js.map +0 -1
  212. package/lib/module/constants.js +0 -81
  213. package/lib/module/constants.js.map +0 -1
  214. package/lib/module/ec.js +0 -267
  215. package/lib/module/ec.js.map +0 -1
  216. package/lib/module/keygen.js +0 -49
  217. package/lib/module/keygen.js.map +0 -1
  218. package/lib/module/keys.js +0 -477
  219. package/lib/module/keys.js.map +0 -1
  220. package/lib/module/pbkdf2.js +0 -84
  221. package/lib/module/pbkdf2.js.map +0 -1
  222. package/lib/module/rsa.js +0 -242
  223. package/lib/module/rsa.js.map +0 -1
  224. package/lib/module/sig.js +0 -124
  225. package/lib/module/sig.js.map +0 -1
  226. package/lib/module/subtle.js +0 -443
  227. package/lib/module/subtle.js.map +0 -1
  228. package/lib/module/webcrypto.js +0 -10
  229. package/lib/module/webcrypto.js.map +0 -1
  230. package/lib/typescript/Cipher.d.ts +0 -81
  231. package/lib/typescript/Cipher.d.ts.map +0 -1
  232. package/lib/typescript/Hash.d.ts +0 -44
  233. package/lib/typescript/Hash.d.ts.map +0 -1
  234. package/lib/typescript/Hashnames.d.ts +0 -11
  235. package/lib/typescript/Hashnames.d.ts.map +0 -1
  236. package/lib/typescript/Hmac.d.ts +0 -37
  237. package/lib/typescript/Hmac.d.ts.map +0 -1
  238. package/lib/typescript/NativeQuickCrypto/Cipher.d.ts +0 -44
  239. package/lib/typescript/NativeQuickCrypto/Cipher.d.ts.map +0 -1
  240. package/lib/typescript/NativeQuickCrypto/NativeQuickCrypto.d.ts +0 -33
  241. package/lib/typescript/NativeQuickCrypto/NativeQuickCrypto.d.ts.map +0 -1
  242. package/lib/typescript/NativeQuickCrypto/aes.d.ts +0 -5
  243. package/lib/typescript/NativeQuickCrypto/aes.d.ts.map +0 -1
  244. package/lib/typescript/NativeQuickCrypto/hash.d.ts +0 -7
  245. package/lib/typescript/NativeQuickCrypto/hash.d.ts.map +0 -1
  246. package/lib/typescript/NativeQuickCrypto/hmac.d.ts +0 -6
  247. package/lib/typescript/NativeQuickCrypto/hmac.d.ts.map +0 -1
  248. package/lib/typescript/NativeQuickCrypto/keygen.d.ts +0 -4
  249. package/lib/typescript/NativeQuickCrypto/keygen.d.ts.map +0 -1
  250. package/lib/typescript/NativeQuickCrypto/pbkdf2.d.ts +0 -5
  251. package/lib/typescript/NativeQuickCrypto/pbkdf2.d.ts.map +0 -1
  252. package/lib/typescript/NativeQuickCrypto/random.d.ts +0 -5
  253. package/lib/typescript/NativeQuickCrypto/random.d.ts.map +0 -1
  254. package/lib/typescript/NativeQuickCrypto/rsa.d.ts +0 -5
  255. package/lib/typescript/NativeQuickCrypto/rsa.d.ts.map +0 -1
  256. package/lib/typescript/NativeQuickCrypto/sig.d.ts +0 -23
  257. package/lib/typescript/NativeQuickCrypto/sig.d.ts.map +0 -1
  258. package/lib/typescript/NativeQuickCrypto/webcrypto.d.ts +0 -39
  259. package/lib/typescript/NativeQuickCrypto/webcrypto.d.ts.map +0 -1
  260. package/lib/typescript/Utils.d.ts +0 -48
  261. package/lib/typescript/Utils.d.ts.map +0 -1
  262. package/lib/typescript/aes.d.ts +0 -22
  263. package/lib/typescript/aes.d.ts.map +0 -1
  264. package/lib/typescript/constants.d.ts +0 -76
  265. package/lib/typescript/constants.d.ts.map +0 -1
  266. package/lib/typescript/ec.d.ts +0 -7
  267. package/lib/typescript/ec.d.ts.map +0 -1
  268. package/lib/typescript/keygen.d.ts +0 -6
  269. package/lib/typescript/keygen.d.ts.map +0 -1
  270. package/lib/typescript/keys.d.ts +0 -206
  271. package/lib/typescript/keys.d.ts.map +0 -1
  272. package/lib/typescript/pbkdf2.d.ts +0 -12
  273. package/lib/typescript/pbkdf2.d.ts.map +0 -1
  274. package/lib/typescript/rsa.d.ts +0 -12
  275. package/lib/typescript/rsa.d.ts.map +0 -1
  276. package/lib/typescript/sig.d.ts +0 -21
  277. package/lib/typescript/sig.d.ts.map +0 -1
  278. package/lib/typescript/subtle.d.ts +0 -15
  279. package/lib/typescript/subtle.d.ts.map +0 -1
  280. package/lib/typescript/webcrypto.d.ts +0 -9
  281. package/lib/typescript/webcrypto.d.ts.map +0 -1
  282. package/react-native-quick-crypto.podspec +0 -40
  283. package/src/Cipher.ts +0 -832
  284. package/src/Hash.ts +0 -132
  285. package/src/Hashnames.ts +0 -93
  286. package/src/Hmac.ts +0 -106
  287. package/src/NativeQuickCrypto/Cipher.ts +0 -102
  288. package/src/NativeQuickCrypto/NativeQuickCrypto.ts +0 -102
  289. package/src/NativeQuickCrypto/aes.ts +0 -14
  290. package/src/NativeQuickCrypto/hash.ts +0 -10
  291. package/src/NativeQuickCrypto/hmac.ts +0 -9
  292. package/src/NativeQuickCrypto/keygen.ts +0 -7
  293. package/src/NativeQuickCrypto/pbkdf2.ts +0 -16
  294. package/src/NativeQuickCrypto/random.ts +0 -12
  295. package/src/NativeQuickCrypto/rsa.ts +0 -12
  296. package/src/NativeQuickCrypto/sig.ts +0 -44
  297. package/src/NativeQuickCrypto/webcrypto.ts +0 -72
  298. package/src/Utils.ts +0 -777
  299. package/src/aes.ts +0 -402
  300. package/src/constants.ts +0 -79
  301. package/src/ec.ts +0 -375
  302. package/src/keygen.ts +0 -80
  303. package/src/keys.ts +0 -787
  304. package/src/pbkdf2.ts +0 -169
  305. package/src/rsa.ts +0 -370
  306. package/src/sig.ts +0 -164
  307. package/src/subtle.ts +0 -639
  308. package/src/webcrypto.ts +0 -8
  309. /package/android/src/main/{AndroidManifestNew.xml → AndroidManifest.xml} +0 -0
@@ -1,443 +0,0 @@
1
- "use strict";
2
-
3
- import { CryptoKey, KWebCryptoKeyFormat, createSecretKey, CipherOrWrapMode } from './keys';
4
- import { hasAnyNotIn, normalizeAlgorithm, lazyDOMException, normalizeHashName, HashContext, validateMaxBufferLength, bufferLikeToArrayBuffer } from './Utils';
5
- import { ecImportKey, ecExportKey, ecGenerateKey, ecdsaSignVerify } from './ec';
6
- import { pbkdf2DeriveBits } from './pbkdf2';
7
- import { asyncDigest } from './Hash';
8
- import { aesCipher, aesGenerateKey, aesImportKey, getAlgorithmName } from './aes';
9
- import { rsaCipher, rsaExportKey, rsaImportKey, rsaKeyGenerate } from './rsa';
10
- const exportKeySpki = async key => {
11
- switch (key.algorithm.name) {
12
- case 'RSASSA-PKCS1-v1_5':
13
- // Fall through
14
- case 'RSA-PSS':
15
- // Fall through
16
- case 'RSA-OAEP':
17
- if (key.type === 'public') {
18
- return rsaExportKey(key, KWebCryptoKeyFormat.kWebCryptoKeyFormatSPKI);
19
- }
20
- break;
21
- case 'ECDSA':
22
- // Fall through
23
- case 'ECDH':
24
- if (key.type === 'public') {
25
- return ecExportKey(key, KWebCryptoKeyFormat.kWebCryptoKeyFormatSPKI);
26
- }
27
- break;
28
- // case 'Ed25519':
29
- // // Fall through
30
- // case 'Ed448':
31
- // // Fall through
32
- // case 'X25519':
33
- // // Fall through
34
- // case 'X448':
35
- // if (key.type === 'public') {
36
- // return cfrgExportKey(key, KWebCryptoKeyFormat.kWebCryptoKeyFormatSPKI);
37
- // }
38
- // break;
39
- }
40
- throw new Error(`Unable to export a spki ${key.algorithm.name} ${key.type} key`);
41
- };
42
- const exportKeyPkcs8 = async key => {
43
- switch (key.algorithm.name) {
44
- case 'RSASSA-PKCS1-v1_5':
45
- // Fall through
46
- case 'RSA-PSS':
47
- // Fall through
48
- case 'RSA-OAEP':
49
- if (key.type === 'private') {
50
- return rsaExportKey(key, KWebCryptoKeyFormat.kWebCryptoKeyFormatPKCS8);
51
- }
52
- break;
53
- case 'ECDSA':
54
- // Fall through
55
- case 'ECDH':
56
- if (key.type === 'private') {
57
- return ecExportKey(key, KWebCryptoKeyFormat.kWebCryptoKeyFormatPKCS8);
58
- }
59
- break;
60
- // case 'Ed25519':
61
- // // Fall through
62
- // case 'Ed448':
63
- // // Fall through
64
- // case 'X25519':
65
- // // Fall through
66
- // case 'X448':
67
- // if (key.type === 'private') {
68
- // return cfrgExportKey(key, KWebCryptoKeyFormat.kWebCryptoKeyFormatPKCS8);
69
- // }
70
- // break;
71
- }
72
- throw new Error(`Unable to export a pkcs8 ${key.algorithm.name} ${key.type} key`);
73
- };
74
- const exportKeyRaw = key => {
75
- switch (key.algorithm.name) {
76
- case 'ECDSA':
77
- // Fall through
78
- case 'ECDH':
79
- if (key.type === 'public') {
80
- return ecExportKey(key, KWebCryptoKeyFormat.kWebCryptoKeyFormatRaw);
81
- }
82
- break;
83
- // case 'Ed25519':
84
- // // Fall through
85
- // case 'Ed448':
86
- // // Fall through
87
- // case 'X25519':
88
- // // Fall through
89
- // case 'X448':
90
- // if (key.type === 'public') {
91
- // return require('internal/crypto/cfrg')
92
- // .cfrgExportKey(key, kWebCryptoKeyFormatRaw);
93
- // }
94
- // break;
95
- case 'AES-CTR':
96
- // Fall through
97
- case 'AES-CBC':
98
- // Fall through
99
- case 'AES-GCM':
100
- // Fall through
101
- case 'AES-KW':
102
- // Fall through
103
- case 'HMAC':
104
- return key.keyObject.export();
105
- }
106
- throw lazyDOMException(`Unable to export a raw ${key.algorithm.name} ${key.type} key`, 'InvalidAccessError');
107
- };
108
- const exportKeyJWK = key => {
109
- const jwk = key.keyObject.handle.exportJwk({
110
- key_ops: key.usages,
111
- ext: key.extractable
112
- }, true);
113
- switch (key.algorithm.name) {
114
- case 'RSASSA-PKCS1-v1_5':
115
- jwk.alg = normalizeHashName(key.algorithm.hash, HashContext.JwkRsa);
116
- return jwk;
117
- case 'RSA-PSS':
118
- jwk.alg = normalizeHashName(key.algorithm.hash, HashContext.JwkRsaPss);
119
- return jwk;
120
- case 'RSA-OAEP':
121
- jwk.alg = normalizeHashName(key.algorithm.hash, HashContext.JwkRsaOaep);
122
- return jwk;
123
- case 'ECDSA':
124
- // Fall through
125
- case 'ECDH':
126
- jwk.crv ||= key.algorithm.namedCurve;
127
- return jwk;
128
- // case 'X25519':
129
- // // Fall through
130
- // case 'X448':
131
- // jwk.crv ||= key.algorithm.name;
132
- // return jwk;
133
- // case 'Ed25519':
134
- // // Fall through
135
- // case 'Ed448':
136
- // jwk.crv ||= key.algorithm.name;
137
- // return jwk;
138
- case 'AES-CTR':
139
- // Fall through
140
- case 'AES-CBC':
141
- // Fall through
142
- case 'AES-GCM':
143
- // Fall through
144
- case 'AES-KW':
145
- jwk.alg = getAlgorithmName(key.algorithm.name, key.algorithm.length);
146
- return jwk;
147
- // case 'HMAC':
148
- // jwk.alg = normalizeHashName(
149
- // key.algorithm.hash.name,
150
- // normalizeHashName.kContextJwkHmac);
151
- // return jwk;
152
- default:
153
- // Fall through
154
- }
155
- throw lazyDOMException(`JWK export not yet supported: ${key.algorithm.name}`, 'NotSupportedError');
156
- };
157
- const importGenericSecretKey = async ({
158
- name,
159
- length
160
- }, format, keyData, extractable, keyUsages) => {
161
- if (extractable) {
162
- throw new Error(`${name} keys are not extractable`);
163
- }
164
- if (hasAnyNotIn(keyUsages, ['deriveKey', 'deriveBits'])) {
165
- throw new Error(`Unsupported key usage for a ${name} key`);
166
- }
167
- switch (format) {
168
- case 'raw':
169
- {
170
- if (hasAnyNotIn(keyUsages, ['deriveKey', 'deriveBits'])) {
171
- throw new Error(`Unsupported key usage for a ${name} key`);
172
- }
173
- const checkLength = typeof keyData === 'string' ? keyData.length * 8 : keyData.byteLength * 8;
174
-
175
- // The Web Crypto spec allows for key lengths that are not multiples of
176
- // 8. We don't. Our check here is stricter than that defined by the spec
177
- // in that we require that algorithm.length match keyData.length * 8 if
178
- // algorithm.length is specified.
179
- if (length !== undefined && length !== checkLength) {
180
- throw new Error('Invalid key length');
181
- }
182
- const keyObject = createSecretKey(keyData);
183
- return new CryptoKey(keyObject, {
184
- name
185
- }, keyUsages, false);
186
- }
187
- }
188
- throw new Error(`Unable to import ${name} key with format ${format}`);
189
- };
190
-
191
- // const checkCryptoKeyUsages = (key: CryptoKey) => {
192
- // if (
193
- // (key.type === 'secret' || key.type === 'private') &&
194
- // key.usages.length === 0
195
- // ) {
196
- // throw lazyDOMException(
197
- // 'Usages cannot be empty when creating a key.',
198
- // 'SyntaxError'
199
- // );
200
- // }
201
- // };
202
-
203
- const checkCryptoKeyPairUsages = pair => {
204
- if (!(pair.privateKey instanceof Buffer) && pair.privateKey && pair.privateKey.hasOwnProperty('keyUsages')) {
205
- const priv = pair.privateKey;
206
- if (priv.usages.length > 0) {
207
- return;
208
- }
209
- }
210
- console.log(pair.privateKey);
211
- throw lazyDOMException('Usages cannot be empty when creating a key.', 'SyntaxError');
212
- };
213
- const signVerify = (algorithm, key, data, signature) => {
214
- const usage = signature === undefined ? 'sign' : 'verify';
215
- algorithm = normalizeAlgorithm(algorithm, usage);
216
- if (!key.usages.includes(usage) || algorithm.name !== key.algorithm.name) {
217
- throw lazyDOMException(`Unable to use this key to ${usage}`, 'InvalidAccessError');
218
- }
219
- switch (algorithm.name) {
220
- // case 'RSA-PSS':
221
- // // Fall through
222
- // case 'RSASSA-PKCS1-v1_5':
223
- // return require('internal/crypto/rsa').rsaSignVerify(
224
- // key,
225
- // data,
226
- // algorithm,
227
- // signature
228
- // );
229
- case 'ECDSA':
230
- return ecdsaSignVerify(key, data, algorithm, signature);
231
- // case 'Ed25519':
232
- // // Fall through
233
- // case 'Ed448':
234
- // return require('internal/crypto/cfrg').eddsaSignVerify(
235
- // key,
236
- // data,
237
- // algorithm,
238
- // signature
239
- // );
240
- // case 'HMAC':
241
- // return require('internal/crypto/mac').hmacSignVerify(
242
- // key,
243
- // data,
244
- // algorithm,
245
- // signature
246
- // );
247
- }
248
- throw lazyDOMException(`Unrecognized algorithm name '${algorithm}' for '${usage}'`, 'NotSupportedError');
249
- };
250
- const cipherOrWrap = async (mode, algorithm, key, data, op) => {
251
- // We use a Node.js style error here instead of a DOMException because
252
- // the WebCrypto spec is not specific what kind of error is to be thrown
253
- // in this case. Both Firefox and Chrome throw simple TypeErrors here.
254
- // The key algorithm and cipher algorithm must match, and the
255
- // key must have the proper usage.
256
- if (key.algorithm.name !== algorithm.name || !key.usages.includes(op)) {
257
- throw lazyDOMException('The requested operation is not valid for the provided key', 'InvalidAccessError');
258
- }
259
-
260
- // While WebCrypto allows for larger input buffer sizes, we limit
261
- // those to sizes that can fit within uint32_t because of limitations
262
- // in the OpenSSL API.
263
- validateMaxBufferLength(data, 'data');
264
- switch (algorithm.name) {
265
- case 'RSA-OAEP':
266
- return rsaCipher(mode, key, data, algorithm);
267
- case 'AES-CTR':
268
- // Fall through
269
- case 'AES-CBC':
270
- // Fall through
271
- case 'AES-GCM':
272
- return aesCipher(mode, key, data, algorithm);
273
- // case 'AES-KW':
274
- // if (op === 'wrapKey' || op === 'unwrapKey') {
275
- // return aesCipher(mode, key, data, algorithm);
276
- // }
277
- }
278
- // @ts-ignore
279
- throw lazyDOMException(`Unrecognized algorithm name '${algorithm}' for '${op}'`, 'NotSupportedError');
280
- };
281
- export class Subtle {
282
- async decrypt(algorithm, key, data) {
283
- const normalizedAlgorithm = normalizeAlgorithm(algorithm, 'decrypt');
284
- return cipherOrWrap(CipherOrWrapMode.kWebCryptoCipherDecrypt, normalizedAlgorithm, key, bufferLikeToArrayBuffer(data), 'decrypt');
285
- }
286
- async digest(algorithm, data) {
287
- const normalizedAlgorithm = normalizeAlgorithm(algorithm, 'digest');
288
- return asyncDigest(normalizedAlgorithm, data);
289
- }
290
- async deriveBits(algorithm, baseKey, length) {
291
- if (!baseKey.keyUsages.includes('deriveBits')) {
292
- throw new Error('baseKey does not have deriveBits usage');
293
- }
294
- if (baseKey.algorithm.name !== algorithm.name) throw new Error('Key algorithm mismatch');
295
- switch (algorithm.name) {
296
- // case 'X25519':
297
- // // Fall through
298
- // case 'X448':
299
- // // Fall through
300
- // case 'ECDH':
301
- // return require('internal/crypto/diffiehellman')
302
- // .ecdhDeriveBits(algorithm, baseKey, length);
303
- // case 'HKDF':
304
- // return require('internal/crypto/hkdf')
305
- // .hkdfDeriveBits(algorithm, baseKey, length);
306
- case 'PBKDF2':
307
- return pbkdf2DeriveBits(algorithm, baseKey, length);
308
- }
309
- throw new Error(`'subtle.deriveBits()' for ${algorithm.name} is not implemented.`);
310
- }
311
- async encrypt(algorithm, key, data) {
312
- const normalizedAlgorithm = normalizeAlgorithm(algorithm, 'encrypt');
313
- return cipherOrWrap(CipherOrWrapMode.kWebCryptoCipherEncrypt, normalizedAlgorithm, key, bufferLikeToArrayBuffer(data), 'encrypt');
314
- }
315
- async exportKey(format, key) {
316
- if (!key.extractable) throw new Error('key is not extractable');
317
- switch (format) {
318
- case 'spki':
319
- return await exportKeySpki(key);
320
- case 'pkcs8':
321
- return await exportKeyPkcs8(key);
322
- case 'jwk':
323
- return exportKeyJWK(key);
324
- case 'raw':
325
- return exportKeyRaw(key);
326
- }
327
- }
328
- async generateKey(algorithm, extractable, keyUsages) {
329
- algorithm = normalizeAlgorithm(algorithm, 'generateKey');
330
- let result;
331
- switch (algorithm.name) {
332
- case 'RSASSA-PKCS1-v1_5':
333
- // Fall through
334
- case 'RSA-PSS':
335
- // Fall through
336
- case 'RSA-OAEP':
337
- result = await rsaKeyGenerate(algorithm, extractable, keyUsages);
338
- break;
339
- // case 'Ed25519':
340
- // // Fall through
341
- // case 'Ed448':
342
- // // Fall through
343
- // case 'X25519':
344
- // // Fall through
345
- // case 'X448':
346
- // resultType = 'CryptoKeyPair';
347
- // result = await cfrgGenerateKey(algorithm, extractable, keyUsages);
348
- // break;
349
- case 'ECDSA':
350
- // Fall through
351
- case 'ECDH':
352
- result = await ecGenerateKey(algorithm, extractable, keyUsages);
353
- checkCryptoKeyPairUsages(result);
354
- break;
355
- // case 'HMAC':
356
- // result = await hmacGenerateKey(algorithm, extractable, keyUsages);
357
- // break;
358
- case 'AES-CTR':
359
- // Fall through
360
- case 'AES-CBC':
361
- // Fall through
362
- case 'AES-GCM':
363
- // Fall through
364
- case 'AES-KW':
365
- result = await aesGenerateKey(algorithm, extractable, keyUsages);
366
- break;
367
- default:
368
- throw new Error(`'subtle.generateKey()' is not implemented for ${algorithm.name}.
369
- Unrecognized algorithm name`);
370
- }
371
- return result;
372
- }
373
- async importKey(format, data, algorithm, extractable, keyUsages) {
374
- const normalizedAlgorithm = normalizeAlgorithm(algorithm, 'importKey');
375
- let result;
376
- switch (normalizedAlgorithm.name) {
377
- case 'RSASSA-PKCS1-v1_5':
378
- // Fall through
379
- case 'RSA-PSS':
380
- // Fall through
381
- case 'RSA-OAEP':
382
- result = rsaImportKey(format, data, normalizedAlgorithm, extractable, keyUsages);
383
- break;
384
- case 'ECDSA':
385
- // Fall through
386
- case 'ECDH':
387
- result = ecImportKey(format, data, normalizedAlgorithm, extractable, keyUsages);
388
- break;
389
- // case 'Ed25519':
390
- // // Fall through
391
- // case 'Ed448':
392
- // // Fall through
393
- // case 'X25519':
394
- // // Fall through
395
- // case 'X448':
396
- // result = await require('internal/crypto/cfrg').cfrgImportKey(
397
- // format,
398
- // keyData,
399
- // algorithm,
400
- // extractable,
401
- // keyUsages
402
- // );
403
- // break;
404
- // case 'HMAC':
405
- // result = await require('internal/crypto/mac').hmacImportKey(
406
- // format,
407
- // keyData,
408
- // algorithm,
409
- // extractable,
410
- // keyUsages
411
- // );
412
- // break;
413
- case 'AES-CTR':
414
- // Fall through
415
- case 'AES-CBC':
416
- // Fall through
417
- case 'AES-GCM':
418
- // Fall through
419
- case 'AES-KW':
420
- result = await aesImportKey(normalizedAlgorithm, format, data, extractable, keyUsages);
421
- break;
422
- // case 'HKDF':
423
- // // Fall through
424
- case 'PBKDF2':
425
- result = await importGenericSecretKey(normalizedAlgorithm, format, data, extractable, keyUsages);
426
- break;
427
- default:
428
- throw new Error(`"subtle.importKey()" is not implemented for ${normalizedAlgorithm.name}`);
429
- }
430
- if ((result.type === 'secret' || result.type === 'private') && result.usages.length === 0) {
431
- throw new Error(`Usages cannot be empty when importing a ${result.type} key.`);
432
- }
433
- return result;
434
- }
435
- async sign(algorithm, key, data) {
436
- return signVerify(algorithm, key, data);
437
- }
438
- async verify(algorithm, key, signature, data) {
439
- return signVerify(algorithm, key, data, signature);
440
- }
441
- }
442
- export const subtle = new Subtle();
443
- //# sourceMappingURL=subtle.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["CryptoKey","KWebCryptoKeyFormat","createSecretKey","CipherOrWrapMode","hasAnyNotIn","normalizeAlgorithm","lazyDOMException","normalizeHashName","HashContext","validateMaxBufferLength","bufferLikeToArrayBuffer","ecImportKey","ecExportKey","ecGenerateKey","ecdsaSignVerify","pbkdf2DeriveBits","asyncDigest","aesCipher","aesGenerateKey","aesImportKey","getAlgorithmName","rsaCipher","rsaExportKey","rsaImportKey","rsaKeyGenerate","exportKeySpki","key","algorithm","name","type","kWebCryptoKeyFormatSPKI","Error","exportKeyPkcs8","kWebCryptoKeyFormatPKCS8","exportKeyRaw","kWebCryptoKeyFormatRaw","keyObject","export","exportKeyJWK","jwk","handle","exportJwk","key_ops","usages","ext","extractable","alg","hash","JwkRsa","JwkRsaPss","JwkRsaOaep","crv","namedCurve","length","importGenericSecretKey","format","keyData","keyUsages","checkLength","byteLength","undefined","checkCryptoKeyPairUsages","pair","privateKey","Buffer","hasOwnProperty","priv","console","log","signVerify","data","signature","usage","includes","cipherOrWrap","mode","op","Subtle","decrypt","normalizedAlgorithm","kWebCryptoCipherDecrypt","digest","deriveBits","baseKey","encrypt","kWebCryptoCipherEncrypt","exportKey","generateKey","result","importKey","sign","verify","subtle"],"sourceRoot":"../../src","sources":["subtle.ts"],"mappings":"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","ignoreList":[]}
@@ -1,10 +0,0 @@
1
- "use strict";
2
-
3
- import { subtle, Subtle } from './subtle';
4
- import { CryptoKey } from './keys';
5
- export default {
6
- subtle,
7
- SubtleCrypto: Subtle,
8
- CryptoKey
9
- };
10
- //# sourceMappingURL=webcrypto.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["subtle","Subtle","CryptoKey","SubtleCrypto"],"sourceRoot":"../../src","sources":["webcrypto.ts"],"mappings":";;AAAA,SAASA,MAAM,EAAEC,MAAM,QAAQ,UAAU;AACzC,SAASC,SAAS,QAAQ,QAAQ;AAElC,eAAe;EACbF,MAAM;EACNG,YAAY,EAAEF,MAAM;EACpBC;AACF,CAAC","ignoreList":[]}
@@ -1,81 +0,0 @@
1
- import { type BinaryLike, type BinaryLikeNode } from './Utils';
2
- import type { CipherCCMOptions, CipherCCMTypes, CipherGCMTypes, CipherGCMOptions, CipherOCBOptions, CipherOCBTypes, DecipherGCM, DecipherOCB, DecipherCCM, CipherCCM, CipherOCB, CipherGCM } from 'crypto';
3
- import { Buffer } from '@craftzdog/react-native-buffer';
4
- import { CryptoKey, type CryptoKeyPair, type KeyPairType } from './keys';
5
- import type { KeyObjectHandle } from './NativeQuickCrypto/webcrypto';
6
- export declare enum ECCurve {
7
- OPENSSL_EC_EXPLICIT_CURVE = 0,
8
- OPENSSL_EC_NAMED_CURVE = 1
9
- }
10
- export declare function createDecipher(algorithm: CipherCCMTypes, password: BinaryLikeNode, options: CipherCCMOptions): DecipherCCM;
11
- export declare function createDecipher(algorithm: CipherGCMTypes, password: BinaryLikeNode, options?: CipherGCMOptions): DecipherGCM;
12
- export declare function createDecipheriv(algorithm: CipherCCMTypes, key: BinaryLikeNode, iv: BinaryLike, options: CipherCCMOptions): DecipherCCM;
13
- export declare function createDecipheriv(algorithm: CipherOCBTypes, key: BinaryLikeNode, iv: BinaryLike, options: CipherOCBOptions): DecipherOCB;
14
- export declare function createDecipheriv(algorithm: CipherGCMTypes, key: BinaryLikeNode, iv: BinaryLike, options?: CipherGCMOptions): DecipherGCM;
15
- export declare function createCipher(algorithm: CipherCCMTypes, password: BinaryLikeNode, options: CipherCCMOptions): CipherCCM;
16
- export declare function createCipher(algorithm: CipherGCMTypes, password: BinaryLikeNode, options?: CipherGCMOptions): CipherGCM;
17
- export declare function createCipheriv(algorithm: CipherCCMTypes, key: BinaryLikeNode, iv: BinaryLike, options: CipherCCMOptions): CipherCCM;
18
- export declare function createCipheriv(algorithm: CipherOCBTypes, key: BinaryLikeNode, iv: BinaryLike, options: CipherOCBOptions): CipherOCB;
19
- export declare function createCipheriv(algorithm: CipherGCMTypes, key: BinaryLikeNode, iv: BinaryLike, options?: CipherGCMOptions): CipherGCM;
20
- export declare const publicEncrypt: (options: {
21
- key: any;
22
- encoding?: string;
23
- format?: any;
24
- padding?: any;
25
- oaepHash?: any;
26
- oaepLabel?: any;
27
- passphrase?: string;
28
- }, buffer: BinaryLike) => Buffer;
29
- export declare const publicDecrypt: (options: {
30
- key: any;
31
- encoding?: string;
32
- format?: any;
33
- padding?: any;
34
- oaepHash?: any;
35
- oaepLabel?: any;
36
- passphrase?: string;
37
- }, buffer: BinaryLike) => Buffer;
38
- export declare const privateDecrypt: (options: {
39
- key: any;
40
- encoding?: string;
41
- format?: any;
42
- padding?: any;
43
- oaepHash?: any;
44
- oaepLabel?: any;
45
- passphrase?: string;
46
- }, buffer: BinaryLike) => Buffer;
47
- export type GenerateKeyPairOptions = {
48
- modulusLength?: number;
49
- publicExponent?: number;
50
- hashAlgorithm?: string;
51
- mgf1HashAlgorithm?: string;
52
- saltLength?: number;
53
- divisorLength?: number;
54
- namedCurve?: string;
55
- prime?: Buffer;
56
- primeLength?: number;
57
- generator?: number;
58
- groupName?: string;
59
- publicKeyEncoding?: any;
60
- privateKeyEncoding?: any;
61
- paramEncoding?: string;
62
- hash?: any;
63
- mgf1Hash?: any;
64
- };
65
- export type KeyPairKey = Buffer | KeyObjectHandle | CryptoKey | undefined;
66
- export type GenerateKeyPairReturn = [
67
- error?: Error,
68
- privateKey?: KeyPairKey,
69
- publicKey?: KeyPairKey
70
- ];
71
- export type GenerateKeyPairCallback = (error?: Error, publicKey?: KeyPairKey, privateKey?: KeyPairKey) => GenerateKeyPairReturn | void;
72
- export type KeyPair = {
73
- publicKey?: KeyPairKey;
74
- privateKey?: KeyPairKey;
75
- };
76
- export type GenerateKeyPairPromiseReturn = [error?: Error, keypair?: KeyPair];
77
- export declare const generateKeyPair: (type: KeyPairType, options: GenerateKeyPairOptions, callback: GenerateKeyPairCallback) => void;
78
- export declare const generateKeyPairPromise: (type: KeyPairType, options: GenerateKeyPairOptions) => Promise<GenerateKeyPairPromiseReturn>;
79
- export declare function generateKeyPairSync(type: KeyPairType): CryptoKeyPair;
80
- export declare function generateKeyPairSync(type: KeyPairType, options: GenerateKeyPairOptions): CryptoKeyPair;
81
- //# sourceMappingURL=Cipher.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Cipher.d.ts","sourceRoot":"","sources":["../../src/Cipher.ts"],"names":[],"mappings":"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"}
@@ -1,44 +0,0 @@
1
- import { type Encoding, type BufferLike } from './Utils';
2
- import Stream from 'readable-stream';
3
- import { Buffer } from '@craftzdog/react-native-buffer';
4
- import type { SubtleAlgorithm } from './keys';
5
- interface HashOptionsBase extends Stream.TransformOptions {
6
- outputLength?: number | undefined;
7
- }
8
- type HashOptions = null | undefined | HashOptionsBase;
9
- export declare function createHash(algorithm: string, options?: HashOptions): Hash;
10
- declare class Hash extends Stream.Transform {
11
- private internalHash;
12
- constructor(other: Hash, options?: HashOptions);
13
- constructor(algorithm: string, options?: HashOptions);
14
- copy(options?: HashOptionsBase): Hash;
15
- /**
16
- * Updates the hash content with the given `data`, the encoding of which
17
- * is given in `inputEncoding`.
18
- * If `encoding` is not provided, and the `data` is a string, an
19
- * encoding of `'utf8'` is enforced. If `data` is a `Buffer`, `TypedArray`, or`DataView`, then `inputEncoding` is ignored.
20
- *
21
- * This can be called many times with new data as it is streamed.
22
- * @since v0.1.92
23
- * @param inputEncoding The `encoding` of the `data` string.
24
- */
25
- update(data: string | ArrayBuffer, inputEncoding?: Encoding): Hash;
26
- _transform(chunk: string | ArrayBuffer, encoding: Encoding, callback: () => void): void;
27
- _flush(callback: () => void): void;
28
- /**
29
- * Calculates the digest of all of the data passed to be hashed (using the `hash.update()` method).
30
- * If `encoding` is provided a string will be returned; otherwise
31
- * a `Buffer` is returned.
32
- *
33
- * The `Hash` object can not be used again after `hash.digest()` method has been
34
- * called. Multiple calls will cause an error to be thrown.
35
- * @since v0.1.92
36
- * @param encoding The `encoding` of the return value.
37
- */
38
- digest(): Buffer;
39
- digest(encoding: 'buffer'): Buffer;
40
- digest(encoding: Encoding): string;
41
- }
42
- export declare const asyncDigest: (algorithm: SubtleAlgorithm, data: BufferLike) => Promise<ArrayBuffer>;
43
- export {};
44
- //# sourceMappingURL=Hash.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Hash.d.ts","sourceRoot":"","sources":["../../src/Hash.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,KAAK,QAAQ,EAIb,KAAK,UAAU,EAEhB,MAAM,SAAS,CAAC;AACjB,OAAO,MAAM,MAAM,iBAAiB,CAAC;AACrC,OAAO,EAAE,MAAM,EAAE,MAAM,gCAAgC,CAAC;AAExD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,QAAQ,CAAC;AAE9C,UAAU,eAAgB,SAAQ,MAAM,CAAC,gBAAgB;IACvD,YAAY,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CACnC;AAED,KAAK,WAAW,GAAG,IAAI,GAAG,SAAS,GAAG,eAAe,CAAC;AAMtD,wBAAgB,UAAU,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,WAAW,QAElE;AAED,cAAM,IAAK,SAAQ,MAAM,CAAC,SAAS;IACjC,OAAO,CAAC,YAAY,CAAe;gBAEvB,KAAK,EAAE,IAAI,EAAE,OAAO,CAAC,EAAE,WAAW;gBAClC,SAAS,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,WAAW;IAUpD,IAAI,CAAC,OAAO,CAAC,EAAE,eAAe,GAAG,IAAI;IAIrC;;;;;;;;;OASG;IACH,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,WAAW,EAAE,aAAa,CAAC,EAAE,QAAQ,GAAG,IAAI;IAUlE,UAAU,CACR,KAAK,EAAE,MAAM,GAAG,WAAW,EAC3B,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,MAAM,IAAI;IAMtB,MAAM,CAAC,QAAQ,EAAE,MAAM,IAAI;IAK3B;;;;;;;;;OASG;IACH,MAAM,IAAI,MAAM;IAChB,MAAM,CAAC,QAAQ,EAAE,QAAQ,GAAG,MAAM;IAClC,MAAM,CAAC,QAAQ,EAAE,QAAQ,GAAG,MAAM;CAUnC;AAID,eAAO,MAAM,WAAW,cACX,eAAe,QACpB,UAAU,KACf,OAAO,CAAC,WAAW,CAqBrB,CAAC"}
@@ -1,11 +0,0 @@
1
- import type { HashAlgorithm } from './keys';
2
- export declare enum HashContext {
3
- Node = 0,
4
- WebCrypto = 1,
5
- JwkRsa = 2,
6
- JwkRsaPss = 3,
7
- JwkRsaOaep = 4,
8
- JwkHmac = 5
9
- }
10
- export declare function normalizeHashName(algo: string | HashAlgorithm | undefined, context?: HashContext): HashAlgorithm;
11
- //# sourceMappingURL=Hashnames.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Hashnames.d.ts","sourceRoot":"","sources":["../../src/Hashnames.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAC;AAE5C,oBAAY,WAAW;IACrB,IAAI,IAAA;IACJ,SAAS,IAAA;IACT,MAAM,IAAA;IACN,SAAS,IAAA;IACT,UAAU,IAAA;IACV,OAAO,IAAA;CACR;AAuED,wBAAgB,iBAAiB,CAC/B,IAAI,EAAE,MAAM,GAAG,aAAa,GAAG,SAAS,EACxC,OAAO,GAAE,WAA8B,GACtC,aAAa,CASf"}