react-native-quick-crypto 0.7.2 → 1.0.0-beta.1

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 (304) hide show
  1. package/QuickCrypto.podspec +34 -0
  2. package/android/CMakeLists.txt +32 -64
  3. package/android/build.gradle +52 -125
  4. package/android/gradle.properties +3 -3
  5. package/android/src/main/cpp/cpp-adapter.cpp +9 -54
  6. package/android/src/main/java/com/margelo/nitro/quickcrypto/QuickCryptoPackage.java +38 -0
  7. package/ios/QuickCryptoOnLoad.mm +19 -0
  8. package/lib/commonjs/index.js +39 -39
  9. package/lib/commonjs/index.js.map +1 -1
  10. package/lib/commonjs/package.json +1 -0
  11. package/lib/commonjs/random.js +26 -12
  12. package/lib/commonjs/random.js.map +1 -1
  13. package/lib/commonjs/{NativeQuickCrypto/rsa.js → specs/random.nitro.js} +1 -1
  14. package/lib/commonjs/{NativeQuickCrypto/aes.js.map → specs/random.nitro.js.map} +1 -1
  15. package/lib/commonjs/utils/conversion.js +22 -0
  16. package/lib/commonjs/utils/conversion.js.map +1 -0
  17. package/lib/commonjs/utils/index.js +12 -0
  18. package/lib/commonjs/utils/index.js.map +1 -0
  19. package/lib/commonjs/utils/types.js +2 -0
  20. package/lib/{module/NativeQuickCrypto/aes.js.map → commonjs/utils/types.js.map} +1 -1
  21. package/lib/module/index.js +40 -38
  22. package/lib/module/index.js.map +1 -1
  23. package/lib/module/package.json +1 -0
  24. package/lib/module/random.js +28 -12
  25. package/lib/module/random.js.map +1 -1
  26. package/lib/module/specs/random.nitro.js +4 -0
  27. package/lib/module/{NativeQuickCrypto/rsa.js.map → specs/random.nitro.js.map} +1 -1
  28. package/lib/module/utils/conversion.js +16 -0
  29. package/lib/module/utils/conversion.js.map +1 -0
  30. package/lib/module/utils/index.js +8 -0
  31. package/lib/module/utils/index.js.map +1 -0
  32. package/lib/module/utils/types.js +2 -0
  33. package/lib/{commonjs/NativeQuickCrypto/rsa.js.map → module/utils/types.js.map} +1 -1
  34. package/lib/tsconfig.tsbuildinfo +1 -0
  35. package/lib/typescript/index.d.ts +10 -141
  36. package/lib/typescript/index.d.ts.map +1 -1
  37. package/lib/typescript/random.d.ts +4 -5
  38. package/lib/typescript/random.d.ts.map +1 -1
  39. package/lib/typescript/specs/random.nitro.d.ts +9 -0
  40. package/lib/typescript/specs/random.nitro.d.ts.map +1 -0
  41. package/lib/typescript/utils/conversion.d.ts +4 -0
  42. package/lib/typescript/utils/conversion.d.ts.map +1 -0
  43. package/lib/typescript/utils/index.d.ts +6 -0
  44. package/lib/typescript/utils/index.d.ts.map +1 -0
  45. package/lib/typescript/utils/types.d.ts +5 -0
  46. package/lib/typescript/utils/types.d.ts.map +1 -0
  47. package/package.json +58 -108
  48. package/src/index.ts +38 -48
  49. package/src/random.ts +51 -48
  50. package/src/specs/random.nitro.ts +14 -0
  51. package/src/utils/conversion.ts +16 -0
  52. package/src/utils/index.ts +6 -0
  53. package/src/utils/types.ts +15 -0
  54. package/LICENSE +0 -27
  55. package/README.md +0 -203
  56. package/android/src/main/java/com/margelo/quickcrypto/QuickCryptoModule.java +0 -70
  57. package/android/src/main/java/com/margelo/quickcrypto/QuickCryptoPackage.java +0 -25
  58. package/cpp/Cipher/MGLCipherHostObject.cpp +0 -663
  59. package/cpp/Cipher/MGLCipherHostObject.h +0 -90
  60. package/cpp/Cipher/MGLCreateCipherInstaller.cpp +0 -75
  61. package/cpp/Cipher/MGLCreateCipherInstaller.h +0 -22
  62. package/cpp/Cipher/MGLCreateDecipherInstaller.cpp +0 -77
  63. package/cpp/Cipher/MGLCreateDecipherInstaller.h +0 -17
  64. package/cpp/Cipher/MGLGenerateKeyPairInstaller.cpp +0 -134
  65. package/cpp/Cipher/MGLGenerateKeyPairInstaller.h +0 -35
  66. package/cpp/Cipher/MGLGenerateKeyPairSyncInstaller.cpp +0 -63
  67. package/cpp/Cipher/MGLGenerateKeyPairSyncInstaller.h +0 -37
  68. package/cpp/Cipher/MGLPublicCipher.h +0 -120
  69. package/cpp/Cipher/MGLPublicCipherInstaller.h +0 -107
  70. package/cpp/Cipher/MGLRsa.cpp +0 -573
  71. package/cpp/Cipher/MGLRsa.h +0 -109
  72. package/cpp/HMAC/MGLHmacHostObject.cpp +0 -95
  73. package/cpp/HMAC/MGLHmacHostObject.h +0 -39
  74. package/cpp/HMAC/MGLHmacInstaller.cpp +0 -43
  75. package/cpp/HMAC/MGLHmacInstaller.h +0 -20
  76. package/cpp/Hash/MGLHashHostObject.cpp +0 -147
  77. package/cpp/Hash/MGLHashHostObject.h +0 -53
  78. package/cpp/Hash/MGLHashInstaller.cpp +0 -44
  79. package/cpp/Hash/MGLHashInstaller.h +0 -20
  80. package/cpp/JSIUtils/MGLJSIMacros.h +0 -110
  81. package/cpp/JSIUtils/MGLJSIUtils.h +0 -41
  82. package/cpp/JSIUtils/MGLSmartHostObject.cpp +0 -43
  83. package/cpp/JSIUtils/MGLSmartHostObject.h +0 -46
  84. package/cpp/JSIUtils/MGLThreadAwareHostObject.cpp +0 -24
  85. package/cpp/JSIUtils/MGLThreadAwareHostObject.h +0 -43
  86. package/cpp/JSIUtils/MGLTypedArray.cpp +0 -325
  87. package/cpp/JSIUtils/MGLTypedArray.h +0 -160
  88. package/cpp/MGLKeys.cpp +0 -1426
  89. package/cpp/MGLKeys.h +0 -203
  90. package/cpp/MGLQuickCryptoHostObject.cpp +0 -124
  91. package/cpp/MGLQuickCryptoHostObject.h +0 -30
  92. package/cpp/Random/MGLRandomHostObject.cpp +0 -96
  93. package/cpp/Random/MGLRandomHostObject.h +0 -27
  94. package/cpp/Sig/MGLSignHostObjects.cpp +0 -757
  95. package/cpp/Sig/MGLSignHostObjects.h +0 -128
  96. package/cpp/Sig/MGLSignInstaller.cpp +0 -24
  97. package/cpp/Sig/MGLSignInstaller.h +0 -29
  98. package/cpp/Sig/MGLVerifyInstaller.cpp +0 -24
  99. package/cpp/Sig/MGLVerifyInstaller.h +0 -22
  100. package/cpp/Utils/MGLDispatchQueue.cpp +0 -75
  101. package/cpp/Utils/MGLDispatchQueue.h +0 -55
  102. package/cpp/Utils/MGLUtils.cpp +0 -295
  103. package/cpp/Utils/MGLUtils.h +0 -358
  104. package/cpp/Utils/base64.h +0 -320
  105. package/cpp/Utils/logs.h +0 -38
  106. package/cpp/Utils/node.h +0 -13
  107. package/cpp/fastpbkdf2/MGLPbkdf2HostObject.cpp +0 -164
  108. package/cpp/fastpbkdf2/MGLPbkdf2HostObject.h +0 -29
  109. package/cpp/fastpbkdf2/fastpbkdf2.c +0 -352
  110. package/cpp/fastpbkdf2/fastpbkdf2.h +0 -68
  111. package/cpp/webcrypto/MGLWebCrypto.cpp +0 -125
  112. package/cpp/webcrypto/MGLWebCrypto.h +0 -32
  113. package/cpp/webcrypto/crypto_aes.cpp +0 -516
  114. package/cpp/webcrypto/crypto_aes.h +0 -79
  115. package/cpp/webcrypto/crypto_ec.cpp +0 -424
  116. package/cpp/webcrypto/crypto_ec.h +0 -78
  117. package/cpp/webcrypto/crypto_keygen.cpp +0 -86
  118. package/cpp/webcrypto/crypto_keygen.h +0 -38
  119. package/ios/QuickCrypto.xcodeproj/project.pbxproj +0 -274
  120. package/ios/QuickCrypto.xcodeproj/project.xcworkspace/contents.xcworkspacedata +0 -7
  121. package/ios/QuickCrypto.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +0 -8
  122. package/ios/QuickCrypto.xcodeproj/project.xcworkspace/xcuserdata/brad.xcuserdatad/UserInterfaceState.xcuserstate +0 -0
  123. package/ios/QuickCrypto.xcodeproj/xcuserdata/brad.xcuserdatad/xcschemes/xcschememanagement.plist +0 -14
  124. package/ios/QuickCryptoModule.h +0 -5
  125. package/ios/QuickCryptoModule.mm +0 -42
  126. package/lib/commonjs/Cipher.js +0 -502
  127. package/lib/commonjs/Cipher.js.map +0 -1
  128. package/lib/commonjs/Hash.js +0 -99
  129. package/lib/commonjs/Hash.js.map +0 -1
  130. package/lib/commonjs/Hashnames.js +0 -87
  131. package/lib/commonjs/Hashnames.js.map +0 -1
  132. package/lib/commonjs/Hmac.js +0 -79
  133. package/lib/commonjs/Hmac.js.map +0 -1
  134. package/lib/commonjs/NativeQuickCrypto/Cipher.js +0 -30
  135. package/lib/commonjs/NativeQuickCrypto/Cipher.js.map +0 -1
  136. package/lib/commonjs/NativeQuickCrypto/NativeQuickCrypto.js +0 -52
  137. package/lib/commonjs/NativeQuickCrypto/NativeQuickCrypto.js.map +0 -1
  138. package/lib/commonjs/NativeQuickCrypto/aes.js +0 -6
  139. package/lib/commonjs/NativeQuickCrypto/hash.js +0 -2
  140. package/lib/commonjs/NativeQuickCrypto/hash.js.map +0 -1
  141. package/lib/commonjs/NativeQuickCrypto/hmac.js +0 -2
  142. package/lib/commonjs/NativeQuickCrypto/hmac.js.map +0 -1
  143. package/lib/commonjs/NativeQuickCrypto/keygen.js +0 -6
  144. package/lib/commonjs/NativeQuickCrypto/keygen.js.map +0 -1
  145. package/lib/commonjs/NativeQuickCrypto/pbkdf2.js +0 -2
  146. package/lib/commonjs/NativeQuickCrypto/pbkdf2.js.map +0 -1
  147. package/lib/commonjs/NativeQuickCrypto/random.js +0 -2
  148. package/lib/commonjs/NativeQuickCrypto/random.js.map +0 -1
  149. package/lib/commonjs/NativeQuickCrypto/sig.js +0 -19
  150. package/lib/commonjs/NativeQuickCrypto/sig.js.map +0 -1
  151. package/lib/commonjs/NativeQuickCrypto/webcrypto.js +0 -6
  152. package/lib/commonjs/NativeQuickCrypto/webcrypto.js.map +0 -1
  153. package/lib/commonjs/Utils.js +0 -608
  154. package/lib/commonjs/Utils.js.map +0 -1
  155. package/lib/commonjs/aes.js +0 -281
  156. package/lib/commonjs/aes.js.map +0 -1
  157. package/lib/commonjs/constants.js +0 -85
  158. package/lib/commonjs/constants.js.map +0 -1
  159. package/lib/commonjs/ec.js +0 -276
  160. package/lib/commonjs/ec.js.map +0 -1
  161. package/lib/commonjs/keygen.js +0 -56
  162. package/lib/commonjs/keygen.js.map +0 -1
  163. package/lib/commonjs/keys.js +0 -492
  164. package/lib/commonjs/keys.js.map +0 -1
  165. package/lib/commonjs/pbkdf2.js +0 -90
  166. package/lib/commonjs/pbkdf2.js.map +0 -1
  167. package/lib/commonjs/rsa.js +0 -248
  168. package/lib/commonjs/rsa.js.map +0 -1
  169. package/lib/commonjs/sig.js +0 -129
  170. package/lib/commonjs/sig.js.map +0 -1
  171. package/lib/commonjs/subtle.js +0 -448
  172. package/lib/commonjs/subtle.js.map +0 -1
  173. package/lib/commonjs/webcrypto.js +0 -14
  174. package/lib/commonjs/webcrypto.js.map +0 -1
  175. package/lib/module/Cipher.js +0 -489
  176. package/lib/module/Cipher.js.map +0 -1
  177. package/lib/module/Hash.js +0 -91
  178. package/lib/module/Hash.js.map +0 -1
  179. package/lib/module/Hashnames.js +0 -83
  180. package/lib/module/Hashnames.js.map +0 -1
  181. package/lib/module/Hmac.js +0 -72
  182. package/lib/module/Hmac.js.map +0 -1
  183. package/lib/module/NativeQuickCrypto/Cipher.js +0 -24
  184. package/lib/module/NativeQuickCrypto/Cipher.js.map +0 -1
  185. package/lib/module/NativeQuickCrypto/NativeQuickCrypto.js +0 -47
  186. package/lib/module/NativeQuickCrypto/NativeQuickCrypto.js.map +0 -1
  187. package/lib/module/NativeQuickCrypto/aes.js +0 -2
  188. package/lib/module/NativeQuickCrypto/hash.js +0 -2
  189. package/lib/module/NativeQuickCrypto/hash.js.map +0 -1
  190. package/lib/module/NativeQuickCrypto/hmac.js +0 -2
  191. package/lib/module/NativeQuickCrypto/hmac.js.map +0 -1
  192. package/lib/module/NativeQuickCrypto/keygen.js +0 -2
  193. package/lib/module/NativeQuickCrypto/keygen.js.map +0 -1
  194. package/lib/module/NativeQuickCrypto/pbkdf2.js +0 -2
  195. package/lib/module/NativeQuickCrypto/pbkdf2.js.map +0 -1
  196. package/lib/module/NativeQuickCrypto/random.js +0 -2
  197. package/lib/module/NativeQuickCrypto/random.js.map +0 -1
  198. package/lib/module/NativeQuickCrypto/rsa.js +0 -2
  199. package/lib/module/NativeQuickCrypto/sig.js +0 -15
  200. package/lib/module/NativeQuickCrypto/sig.js.map +0 -1
  201. package/lib/module/NativeQuickCrypto/webcrypto.js +0 -2
  202. package/lib/module/NativeQuickCrypto/webcrypto.js.map +0 -1
  203. package/lib/module/Utils.js +0 -537
  204. package/lib/module/Utils.js.map +0 -1
  205. package/lib/module/aes.js +0 -272
  206. package/lib/module/aes.js.map +0 -1
  207. package/lib/module/constants.js +0 -79
  208. package/lib/module/constants.js.map +0 -1
  209. package/lib/module/ec.js +0 -265
  210. package/lib/module/ec.js.map +0 -1
  211. package/lib/module/keygen.js +0 -47
  212. package/lib/module/keygen.js.map +0 -1
  213. package/lib/module/keys.js +0 -475
  214. package/lib/module/keys.js.map +0 -1
  215. package/lib/module/pbkdf2.js +0 -82
  216. package/lib/module/pbkdf2.js.map +0 -1
  217. package/lib/module/rsa.js +0 -240
  218. package/lib/module/rsa.js.map +0 -1
  219. package/lib/module/sig.js +0 -122
  220. package/lib/module/sig.js.map +0 -1
  221. package/lib/module/subtle.js +0 -441
  222. package/lib/module/subtle.js.map +0 -1
  223. package/lib/module/webcrypto.js +0 -8
  224. package/lib/module/webcrypto.js.map +0 -1
  225. package/lib/typescript/Cipher.d.ts +0 -81
  226. package/lib/typescript/Cipher.d.ts.map +0 -1
  227. package/lib/typescript/Hash.d.ts +0 -44
  228. package/lib/typescript/Hash.d.ts.map +0 -1
  229. package/lib/typescript/Hashnames.d.ts +0 -11
  230. package/lib/typescript/Hashnames.d.ts.map +0 -1
  231. package/lib/typescript/Hmac.d.ts +0 -37
  232. package/lib/typescript/Hmac.d.ts.map +0 -1
  233. package/lib/typescript/NativeQuickCrypto/Cipher.d.ts +0 -44
  234. package/lib/typescript/NativeQuickCrypto/Cipher.d.ts.map +0 -1
  235. package/lib/typescript/NativeQuickCrypto/NativeQuickCrypto.d.ts +0 -33
  236. package/lib/typescript/NativeQuickCrypto/NativeQuickCrypto.d.ts.map +0 -1
  237. package/lib/typescript/NativeQuickCrypto/aes.d.ts +0 -5
  238. package/lib/typescript/NativeQuickCrypto/aes.d.ts.map +0 -1
  239. package/lib/typescript/NativeQuickCrypto/hash.d.ts +0 -7
  240. package/lib/typescript/NativeQuickCrypto/hash.d.ts.map +0 -1
  241. package/lib/typescript/NativeQuickCrypto/hmac.d.ts +0 -6
  242. package/lib/typescript/NativeQuickCrypto/hmac.d.ts.map +0 -1
  243. package/lib/typescript/NativeQuickCrypto/keygen.d.ts +0 -4
  244. package/lib/typescript/NativeQuickCrypto/keygen.d.ts.map +0 -1
  245. package/lib/typescript/NativeQuickCrypto/pbkdf2.d.ts +0 -5
  246. package/lib/typescript/NativeQuickCrypto/pbkdf2.d.ts.map +0 -1
  247. package/lib/typescript/NativeQuickCrypto/random.d.ts +0 -5
  248. package/lib/typescript/NativeQuickCrypto/random.d.ts.map +0 -1
  249. package/lib/typescript/NativeQuickCrypto/rsa.d.ts +0 -5
  250. package/lib/typescript/NativeQuickCrypto/rsa.d.ts.map +0 -1
  251. package/lib/typescript/NativeQuickCrypto/sig.d.ts +0 -23
  252. package/lib/typescript/NativeQuickCrypto/sig.d.ts.map +0 -1
  253. package/lib/typescript/NativeQuickCrypto/webcrypto.d.ts +0 -39
  254. package/lib/typescript/NativeQuickCrypto/webcrypto.d.ts.map +0 -1
  255. package/lib/typescript/Utils.d.ts +0 -48
  256. package/lib/typescript/Utils.d.ts.map +0 -1
  257. package/lib/typescript/aes.d.ts +0 -22
  258. package/lib/typescript/aes.d.ts.map +0 -1
  259. package/lib/typescript/constants.d.ts +0 -76
  260. package/lib/typescript/constants.d.ts.map +0 -1
  261. package/lib/typescript/ec.d.ts +0 -7
  262. package/lib/typescript/ec.d.ts.map +0 -1
  263. package/lib/typescript/keygen.d.ts +0 -6
  264. package/lib/typescript/keygen.d.ts.map +0 -1
  265. package/lib/typescript/keys.d.ts +0 -206
  266. package/lib/typescript/keys.d.ts.map +0 -1
  267. package/lib/typescript/pbkdf2.d.ts +0 -12
  268. package/lib/typescript/pbkdf2.d.ts.map +0 -1
  269. package/lib/typescript/rsa.d.ts +0 -12
  270. package/lib/typescript/rsa.d.ts.map +0 -1
  271. package/lib/typescript/sig.d.ts +0 -21
  272. package/lib/typescript/sig.d.ts.map +0 -1
  273. package/lib/typescript/subtle.d.ts +0 -15
  274. package/lib/typescript/subtle.d.ts.map +0 -1
  275. package/lib/typescript/webcrypto.d.ts +0 -9
  276. package/lib/typescript/webcrypto.d.ts.map +0 -1
  277. package/react-native-quick-crypto.podspec +0 -40
  278. package/src/Cipher.ts +0 -832
  279. package/src/Hash.ts +0 -132
  280. package/src/Hashnames.ts +0 -93
  281. package/src/Hmac.ts +0 -106
  282. package/src/NativeQuickCrypto/Cipher.ts +0 -102
  283. package/src/NativeQuickCrypto/NativeQuickCrypto.ts +0 -102
  284. package/src/NativeQuickCrypto/aes.ts +0 -14
  285. package/src/NativeQuickCrypto/hash.ts +0 -10
  286. package/src/NativeQuickCrypto/hmac.ts +0 -9
  287. package/src/NativeQuickCrypto/keygen.ts +0 -7
  288. package/src/NativeQuickCrypto/pbkdf2.ts +0 -16
  289. package/src/NativeQuickCrypto/random.ts +0 -12
  290. package/src/NativeQuickCrypto/rsa.ts +0 -12
  291. package/src/NativeQuickCrypto/sig.ts +0 -44
  292. package/src/NativeQuickCrypto/webcrypto.ts +0 -72
  293. package/src/Utils.ts +0 -777
  294. package/src/aes.ts +0 -402
  295. package/src/constants.ts +0 -79
  296. package/src/ec.ts +0 -375
  297. package/src/keygen.ts +0 -80
  298. package/src/keys.ts +0 -787
  299. package/src/pbkdf2.ts +0 -169
  300. package/src/rsa.ts +0 -370
  301. package/src/sig.ts +0 -164
  302. package/src/subtle.ts +0 -639
  303. package/src/webcrypto.ts +0 -8
  304. /package/android/src/main/{AndroidManifestNew.xml → AndroidManifest.xml} +0 -0
@@ -1,441 +0,0 @@
1
- import { CryptoKey, KWebCryptoKeyFormat, createSecretKey, CipherOrWrapMode } from './keys';
2
- import { hasAnyNotIn, normalizeAlgorithm, lazyDOMException, normalizeHashName, HashContext, validateMaxBufferLength, bufferLikeToArrayBuffer } from './Utils';
3
- import { ecImportKey, ecExportKey, ecGenerateKey, ecdsaSignVerify } from './ec';
4
- import { pbkdf2DeriveBits } from './pbkdf2';
5
- import { asyncDigest } from './Hash';
6
- import { aesCipher, aesGenerateKey, aesImportKey, getAlgorithmName } from './aes';
7
- import { rsaCipher, rsaExportKey, rsaImportKey, rsaKeyGenerate } from './rsa';
8
- const exportKeySpki = async key => {
9
- switch (key.algorithm.name) {
10
- case 'RSASSA-PKCS1-v1_5':
11
- // Fall through
12
- case 'RSA-PSS':
13
- // Fall through
14
- case 'RSA-OAEP':
15
- if (key.type === 'public') {
16
- return rsaExportKey(key, KWebCryptoKeyFormat.kWebCryptoKeyFormatSPKI);
17
- }
18
- break;
19
- case 'ECDSA':
20
- // Fall through
21
- case 'ECDH':
22
- if (key.type === 'public') {
23
- return ecExportKey(key, KWebCryptoKeyFormat.kWebCryptoKeyFormatSPKI);
24
- }
25
- break;
26
- // case 'Ed25519':
27
- // // Fall through
28
- // case 'Ed448':
29
- // // Fall through
30
- // case 'X25519':
31
- // // Fall through
32
- // case 'X448':
33
- // if (key.type === 'public') {
34
- // return cfrgExportKey(key, KWebCryptoKeyFormat.kWebCryptoKeyFormatSPKI);
35
- // }
36
- // break;
37
- }
38
- throw new Error(`Unable to export a spki ${key.algorithm.name} ${key.type} key`);
39
- };
40
- const exportKeyPkcs8 = async key => {
41
- switch (key.algorithm.name) {
42
- case 'RSASSA-PKCS1-v1_5':
43
- // Fall through
44
- case 'RSA-PSS':
45
- // Fall through
46
- case 'RSA-OAEP':
47
- if (key.type === 'private') {
48
- return rsaExportKey(key, KWebCryptoKeyFormat.kWebCryptoKeyFormatPKCS8);
49
- }
50
- break;
51
- case 'ECDSA':
52
- // Fall through
53
- case 'ECDH':
54
- if (key.type === 'private') {
55
- return ecExportKey(key, KWebCryptoKeyFormat.kWebCryptoKeyFormatPKCS8);
56
- }
57
- break;
58
- // case 'Ed25519':
59
- // // Fall through
60
- // case 'Ed448':
61
- // // Fall through
62
- // case 'X25519':
63
- // // Fall through
64
- // case 'X448':
65
- // if (key.type === 'private') {
66
- // return cfrgExportKey(key, KWebCryptoKeyFormat.kWebCryptoKeyFormatPKCS8);
67
- // }
68
- // break;
69
- }
70
- throw new Error(`Unable to export a pkcs8 ${key.algorithm.name} ${key.type} key`);
71
- };
72
- const exportKeyRaw = key => {
73
- switch (key.algorithm.name) {
74
- case 'ECDSA':
75
- // Fall through
76
- case 'ECDH':
77
- if (key.type === 'public') {
78
- return ecExportKey(key, KWebCryptoKeyFormat.kWebCryptoKeyFormatRaw);
79
- }
80
- break;
81
- // case 'Ed25519':
82
- // // Fall through
83
- // case 'Ed448':
84
- // // Fall through
85
- // case 'X25519':
86
- // // Fall through
87
- // case 'X448':
88
- // if (key.type === 'public') {
89
- // return require('internal/crypto/cfrg')
90
- // .cfrgExportKey(key, kWebCryptoKeyFormatRaw);
91
- // }
92
- // break;
93
- case 'AES-CTR':
94
- // Fall through
95
- case 'AES-CBC':
96
- // Fall through
97
- case 'AES-GCM':
98
- // Fall through
99
- case 'AES-KW':
100
- // Fall through
101
- case 'HMAC':
102
- return key.keyObject.export();
103
- }
104
- throw lazyDOMException(`Unable to export a raw ${key.algorithm.name} ${key.type} key`, 'InvalidAccessError');
105
- };
106
- const exportKeyJWK = key => {
107
- const jwk = key.keyObject.handle.exportJwk({
108
- key_ops: key.usages,
109
- ext: key.extractable
110
- }, true);
111
- switch (key.algorithm.name) {
112
- case 'RSASSA-PKCS1-v1_5':
113
- jwk.alg = normalizeHashName(key.algorithm.hash, HashContext.JwkRsa);
114
- return jwk;
115
- case 'RSA-PSS':
116
- jwk.alg = normalizeHashName(key.algorithm.hash, HashContext.JwkRsaPss);
117
- return jwk;
118
- case 'RSA-OAEP':
119
- jwk.alg = normalizeHashName(key.algorithm.hash, HashContext.JwkRsaOaep);
120
- return jwk;
121
- case 'ECDSA':
122
- // Fall through
123
- case 'ECDH':
124
- jwk.crv ||= key.algorithm.namedCurve;
125
- return jwk;
126
- // case 'X25519':
127
- // // Fall through
128
- // case 'X448':
129
- // jwk.crv ||= key.algorithm.name;
130
- // return jwk;
131
- // case 'Ed25519':
132
- // // Fall through
133
- // case 'Ed448':
134
- // jwk.crv ||= key.algorithm.name;
135
- // return jwk;
136
- case 'AES-CTR':
137
- // Fall through
138
- case 'AES-CBC':
139
- // Fall through
140
- case 'AES-GCM':
141
- // Fall through
142
- case 'AES-KW':
143
- jwk.alg = getAlgorithmName(key.algorithm.name, key.algorithm.length);
144
- return jwk;
145
- // case 'HMAC':
146
- // jwk.alg = normalizeHashName(
147
- // key.algorithm.hash.name,
148
- // normalizeHashName.kContextJwkHmac);
149
- // return jwk;
150
- default:
151
- // Fall through
152
- }
153
- throw lazyDOMException(`JWK export not yet supported: ${key.algorithm.name}`, 'NotSupportedError');
154
- };
155
- const importGenericSecretKey = async ({
156
- name,
157
- length
158
- }, format, keyData, extractable, keyUsages) => {
159
- if (extractable) {
160
- throw new Error(`${name} keys are not extractable`);
161
- }
162
- if (hasAnyNotIn(keyUsages, ['deriveKey', 'deriveBits'])) {
163
- throw new Error(`Unsupported key usage for a ${name} key`);
164
- }
165
- switch (format) {
166
- case 'raw':
167
- {
168
- if (hasAnyNotIn(keyUsages, ['deriveKey', 'deriveBits'])) {
169
- throw new Error(`Unsupported key usage for a ${name} key`);
170
- }
171
- const checkLength = typeof keyData === 'string' ? keyData.length * 8 : keyData.byteLength * 8;
172
-
173
- // The Web Crypto spec allows for key lengths that are not multiples of
174
- // 8. We don't. Our check here is stricter than that defined by the spec
175
- // in that we require that algorithm.length match keyData.length * 8 if
176
- // algorithm.length is specified.
177
- if (length !== undefined && length !== checkLength) {
178
- throw new Error('Invalid key length');
179
- }
180
- const keyObject = createSecretKey(keyData);
181
- return new CryptoKey(keyObject, {
182
- name
183
- }, keyUsages, false);
184
- }
185
- }
186
- throw new Error(`Unable to import ${name} key with format ${format}`);
187
- };
188
-
189
- // const checkCryptoKeyUsages = (key: CryptoKey) => {
190
- // if (
191
- // (key.type === 'secret' || key.type === 'private') &&
192
- // key.usages.length === 0
193
- // ) {
194
- // throw lazyDOMException(
195
- // 'Usages cannot be empty when creating a key.',
196
- // 'SyntaxError'
197
- // );
198
- // }
199
- // };
200
-
201
- const checkCryptoKeyPairUsages = pair => {
202
- if (!(pair.privateKey instanceof Buffer) && pair.privateKey && pair.privateKey.hasOwnProperty('keyUsages')) {
203
- const priv = pair.privateKey;
204
- if (priv.usages.length > 0) {
205
- return;
206
- }
207
- }
208
- console.log(pair.privateKey);
209
- throw lazyDOMException('Usages cannot be empty when creating a key.', 'SyntaxError');
210
- };
211
- const signVerify = (algorithm, key, data, signature) => {
212
- const usage = signature === undefined ? 'sign' : 'verify';
213
- algorithm = normalizeAlgorithm(algorithm, usage);
214
- if (!key.usages.includes(usage) || algorithm.name !== key.algorithm.name) {
215
- throw lazyDOMException(`Unable to use this key to ${usage}`, 'InvalidAccessError');
216
- }
217
- switch (algorithm.name) {
218
- // case 'RSA-PSS':
219
- // // Fall through
220
- // case 'RSASSA-PKCS1-v1_5':
221
- // return require('internal/crypto/rsa').rsaSignVerify(
222
- // key,
223
- // data,
224
- // algorithm,
225
- // signature
226
- // );
227
- case 'ECDSA':
228
- return ecdsaSignVerify(key, data, algorithm, signature);
229
- // case 'Ed25519':
230
- // // Fall through
231
- // case 'Ed448':
232
- // return require('internal/crypto/cfrg').eddsaSignVerify(
233
- // key,
234
- // data,
235
- // algorithm,
236
- // signature
237
- // );
238
- // case 'HMAC':
239
- // return require('internal/crypto/mac').hmacSignVerify(
240
- // key,
241
- // data,
242
- // algorithm,
243
- // signature
244
- // );
245
- }
246
- throw lazyDOMException(`Unrecognized algorithm name '${algorithm}' for '${usage}'`, 'NotSupportedError');
247
- };
248
- const cipherOrWrap = async (mode, algorithm, key, data, op) => {
249
- // We use a Node.js style error here instead of a DOMException because
250
- // the WebCrypto spec is not specific what kind of error is to be thrown
251
- // in this case. Both Firefox and Chrome throw simple TypeErrors here.
252
- // The key algorithm and cipher algorithm must match, and the
253
- // key must have the proper usage.
254
- if (key.algorithm.name !== algorithm.name || !key.usages.includes(op)) {
255
- throw lazyDOMException('The requested operation is not valid for the provided key', 'InvalidAccessError');
256
- }
257
-
258
- // While WebCrypto allows for larger input buffer sizes, we limit
259
- // those to sizes that can fit within uint32_t because of limitations
260
- // in the OpenSSL API.
261
- validateMaxBufferLength(data, 'data');
262
- switch (algorithm.name) {
263
- case 'RSA-OAEP':
264
- return rsaCipher(mode, key, data, algorithm);
265
- case 'AES-CTR':
266
- // Fall through
267
- case 'AES-CBC':
268
- // Fall through
269
- case 'AES-GCM':
270
- return aesCipher(mode, key, data, algorithm);
271
- // case 'AES-KW':
272
- // if (op === 'wrapKey' || op === 'unwrapKey') {
273
- // return aesCipher(mode, key, data, algorithm);
274
- // }
275
- }
276
- // @ts-ignore
277
- throw lazyDOMException(`Unrecognized algorithm name '${algorithm}' for '${op}'`, 'NotSupportedError');
278
- };
279
- export class Subtle {
280
- async decrypt(algorithm, key, data) {
281
- const normalizedAlgorithm = normalizeAlgorithm(algorithm, 'decrypt');
282
- return cipherOrWrap(CipherOrWrapMode.kWebCryptoCipherDecrypt, normalizedAlgorithm, key, bufferLikeToArrayBuffer(data), 'decrypt');
283
- }
284
- async digest(algorithm, data) {
285
- const normalizedAlgorithm = normalizeAlgorithm(algorithm, 'digest');
286
- return asyncDigest(normalizedAlgorithm, data);
287
- }
288
- async deriveBits(algorithm, baseKey, length) {
289
- if (!baseKey.keyUsages.includes('deriveBits')) {
290
- throw new Error('baseKey does not have deriveBits usage');
291
- }
292
- if (baseKey.algorithm.name !== algorithm.name) throw new Error('Key algorithm mismatch');
293
- switch (algorithm.name) {
294
- // case 'X25519':
295
- // // Fall through
296
- // case 'X448':
297
- // // Fall through
298
- // case 'ECDH':
299
- // return require('internal/crypto/diffiehellman')
300
- // .ecdhDeriveBits(algorithm, baseKey, length);
301
- // case 'HKDF':
302
- // return require('internal/crypto/hkdf')
303
- // .hkdfDeriveBits(algorithm, baseKey, length);
304
- case 'PBKDF2':
305
- return pbkdf2DeriveBits(algorithm, baseKey, length);
306
- }
307
- throw new Error(`'subtle.deriveBits()' for ${algorithm.name} is not implemented.`);
308
- }
309
- async encrypt(algorithm, key, data) {
310
- const normalizedAlgorithm = normalizeAlgorithm(algorithm, 'encrypt');
311
- return cipherOrWrap(CipherOrWrapMode.kWebCryptoCipherEncrypt, normalizedAlgorithm, key, bufferLikeToArrayBuffer(data), 'encrypt');
312
- }
313
- async exportKey(format, key) {
314
- if (!key.extractable) throw new Error('key is not extractable');
315
- switch (format) {
316
- case 'spki':
317
- return await exportKeySpki(key);
318
- case 'pkcs8':
319
- return await exportKeyPkcs8(key);
320
- case 'jwk':
321
- return exportKeyJWK(key);
322
- case 'raw':
323
- return exportKeyRaw(key);
324
- }
325
- }
326
- async generateKey(algorithm, extractable, keyUsages) {
327
- algorithm = normalizeAlgorithm(algorithm, 'generateKey');
328
- let result;
329
- switch (algorithm.name) {
330
- case 'RSASSA-PKCS1-v1_5':
331
- // Fall through
332
- case 'RSA-PSS':
333
- // Fall through
334
- case 'RSA-OAEP':
335
- result = await rsaKeyGenerate(algorithm, extractable, keyUsages);
336
- break;
337
- // case 'Ed25519':
338
- // // Fall through
339
- // case 'Ed448':
340
- // // Fall through
341
- // case 'X25519':
342
- // // Fall through
343
- // case 'X448':
344
- // resultType = 'CryptoKeyPair';
345
- // result = await cfrgGenerateKey(algorithm, extractable, keyUsages);
346
- // break;
347
- case 'ECDSA':
348
- // Fall through
349
- case 'ECDH':
350
- result = await ecGenerateKey(algorithm, extractable, keyUsages);
351
- checkCryptoKeyPairUsages(result);
352
- break;
353
- // case 'HMAC':
354
- // result = await hmacGenerateKey(algorithm, extractable, keyUsages);
355
- // break;
356
- case 'AES-CTR':
357
- // Fall through
358
- case 'AES-CBC':
359
- // Fall through
360
- case 'AES-GCM':
361
- // Fall through
362
- case 'AES-KW':
363
- result = await aesGenerateKey(algorithm, extractable, keyUsages);
364
- break;
365
- default:
366
- throw new Error(`'subtle.generateKey()' is not implemented for ${algorithm.name}.
367
- Unrecognized algorithm name`);
368
- }
369
- return result;
370
- }
371
- async importKey(format, data, algorithm, extractable, keyUsages) {
372
- const normalizedAlgorithm = normalizeAlgorithm(algorithm, 'importKey');
373
- let result;
374
- switch (normalizedAlgorithm.name) {
375
- case 'RSASSA-PKCS1-v1_5':
376
- // Fall through
377
- case 'RSA-PSS':
378
- // Fall through
379
- case 'RSA-OAEP':
380
- result = rsaImportKey(format, data, normalizedAlgorithm, extractable, keyUsages);
381
- break;
382
- case 'ECDSA':
383
- // Fall through
384
- case 'ECDH':
385
- result = ecImportKey(format, data, normalizedAlgorithm, extractable, keyUsages);
386
- break;
387
- // case 'Ed25519':
388
- // // Fall through
389
- // case 'Ed448':
390
- // // Fall through
391
- // case 'X25519':
392
- // // Fall through
393
- // case 'X448':
394
- // result = await require('internal/crypto/cfrg').cfrgImportKey(
395
- // format,
396
- // keyData,
397
- // algorithm,
398
- // extractable,
399
- // keyUsages
400
- // );
401
- // break;
402
- // case 'HMAC':
403
- // result = await require('internal/crypto/mac').hmacImportKey(
404
- // format,
405
- // keyData,
406
- // algorithm,
407
- // extractable,
408
- // keyUsages
409
- // );
410
- // break;
411
- case 'AES-CTR':
412
- // Fall through
413
- case 'AES-CBC':
414
- // Fall through
415
- case 'AES-GCM':
416
- // Fall through
417
- case 'AES-KW':
418
- result = await aesImportKey(normalizedAlgorithm, format, data, extractable, keyUsages);
419
- break;
420
- // case 'HKDF':
421
- // // Fall through
422
- case 'PBKDF2':
423
- result = await importGenericSecretKey(normalizedAlgorithm, format, data, extractable, keyUsages);
424
- break;
425
- default:
426
- throw new Error(`"subtle.importKey()" is not implemented for ${normalizedAlgorithm.name}`);
427
- }
428
- if ((result.type === 'secret' || result.type === 'private') && result.usages.length === 0) {
429
- throw new Error(`Usages cannot be empty when importing a ${result.type} key.`);
430
- }
431
- return result;
432
- }
433
- async sign(algorithm, key, data) {
434
- return signVerify(algorithm, key, data);
435
- }
436
- async verify(algorithm, key, signature, data) {
437
- return signVerify(algorithm, key, data, signature);
438
- }
439
- }
440
- export const subtle = new Subtle();
441
- //# 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,8 +0,0 @@
1
- import { subtle, Subtle } from './subtle';
2
- import { CryptoKey } from './keys';
3
- export default {
4
- subtle,
5
- SubtleCrypto: Subtle,
6
- CryptoKey
7
- };
8
- //# 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"}