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