react-native-quick-crypto 0.7.0 → 0.7.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 (133) hide show
  1. package/README.md +11 -63
  2. package/android/CMakeLists.txt +2 -0
  3. package/cpp/Cipher/MGLRsa.cpp +179 -3
  4. package/cpp/Cipher/MGLRsa.h +40 -0
  5. package/cpp/JSIUtils/MGLJSIUtils.h +8 -0
  6. package/cpp/MGLKeys.cpp +41 -43
  7. package/cpp/MGLKeys.h +9 -2
  8. package/cpp/MGLQuickCryptoHostObject.cpp +6 -6
  9. package/cpp/Sig/MGLSignHostObjects.cpp +22 -15
  10. package/cpp/Utils/MGLUtils.cpp +71 -1
  11. package/cpp/Utils/MGLUtils.h +55 -1
  12. package/cpp/webcrypto/MGLWebCrypto.cpp +89 -37
  13. package/cpp/webcrypto/MGLWebCrypto.h +5 -7
  14. package/cpp/webcrypto/crypto_aes.cpp +516 -0
  15. package/cpp/webcrypto/crypto_aes.h +79 -0
  16. package/cpp/webcrypto/crypto_ec.cpp +4 -20
  17. package/cpp/webcrypto/crypto_ec.h +0 -5
  18. package/cpp/webcrypto/crypto_keygen.cpp +86 -0
  19. package/cpp/webcrypto/crypto_keygen.h +38 -0
  20. package/lib/commonjs/Cipher.js +3 -1
  21. package/lib/commonjs/Cipher.js.map +1 -1
  22. package/lib/commonjs/Hashnames.js +20 -8
  23. package/lib/commonjs/Hashnames.js.map +1 -1
  24. package/lib/commonjs/NativeQuickCrypto/Cipher.js +13 -1
  25. package/lib/commonjs/NativeQuickCrypto/Cipher.js.map +1 -1
  26. package/lib/commonjs/NativeQuickCrypto/NativeQuickCrypto.js.map +1 -1
  27. package/lib/commonjs/NativeQuickCrypto/aes.js +6 -0
  28. package/lib/commonjs/NativeQuickCrypto/aes.js.map +1 -0
  29. package/lib/commonjs/NativeQuickCrypto/keygen.js +6 -0
  30. package/lib/commonjs/NativeQuickCrypto/keygen.js.map +1 -0
  31. package/lib/commonjs/NativeQuickCrypto/rsa.js +6 -0
  32. package/lib/commonjs/NativeQuickCrypto/rsa.js.map +1 -0
  33. package/lib/commonjs/Utils.js +30 -6
  34. package/lib/commonjs/Utils.js.map +1 -1
  35. package/lib/commonjs/aes.js +184 -227
  36. package/lib/commonjs/aes.js.map +1 -1
  37. package/lib/commonjs/index.js +12 -2
  38. package/lib/commonjs/index.js.map +1 -1
  39. package/lib/commonjs/keygen.js +56 -0
  40. package/lib/commonjs/keygen.js.map +1 -0
  41. package/lib/commonjs/keys.js +74 -5
  42. package/lib/commonjs/keys.js.map +1 -1
  43. package/lib/commonjs/rsa.js +115 -196
  44. package/lib/commonjs/rsa.js.map +1 -1
  45. package/lib/commonjs/sig.js.map +1 -1
  46. package/lib/commonjs/subtle.js +140 -78
  47. package/lib/commonjs/subtle.js.map +1 -1
  48. package/lib/commonjs/webcrypto.js +14 -0
  49. package/lib/commonjs/webcrypto.js.map +1 -0
  50. package/lib/module/Cipher.js +3 -1
  51. package/lib/module/Cipher.js.map +1 -1
  52. package/lib/module/Hashnames.js +20 -8
  53. package/lib/module/Hashnames.js.map +1 -1
  54. package/lib/module/NativeQuickCrypto/Cipher.js +12 -0
  55. package/lib/module/NativeQuickCrypto/Cipher.js.map +1 -1
  56. package/lib/module/NativeQuickCrypto/NativeQuickCrypto.js.map +1 -1
  57. package/lib/module/NativeQuickCrypto/aes.js +2 -0
  58. package/lib/module/NativeQuickCrypto/aes.js.map +1 -0
  59. package/lib/module/NativeQuickCrypto/keygen.js +2 -0
  60. package/lib/module/NativeQuickCrypto/keygen.js.map +1 -0
  61. package/lib/module/NativeQuickCrypto/rsa.js +2 -0
  62. package/lib/module/NativeQuickCrypto/rsa.js.map +1 -0
  63. package/lib/module/Utils.js +26 -5
  64. package/lib/module/Utils.js.map +1 -1
  65. package/lib/module/aes.js +183 -228
  66. package/lib/module/aes.js.map +1 -1
  67. package/lib/module/index.js +11 -2
  68. package/lib/module/index.js.map +1 -1
  69. package/lib/module/keygen.js +47 -0
  70. package/lib/module/keygen.js.map +1 -0
  71. package/lib/module/keys.js +68 -4
  72. package/lib/module/keys.js.map +1 -1
  73. package/lib/module/rsa.js +115 -198
  74. package/lib/module/rsa.js.map +1 -1
  75. package/lib/module/sig.js.map +1 -1
  76. package/lib/module/subtle.js +143 -82
  77. package/lib/module/subtle.js.map +1 -1
  78. package/lib/module/webcrypto.js +8 -0
  79. package/lib/module/webcrypto.js.map +1 -0
  80. package/lib/typescript/Cipher.d.ts +0 -1
  81. package/lib/typescript/Cipher.d.ts.map +1 -1
  82. package/lib/typescript/Hash.d.ts.map +1 -1
  83. package/lib/typescript/Hashnames.d.ts +2 -2
  84. package/lib/typescript/Hashnames.d.ts.map +1 -1
  85. package/lib/typescript/NativeQuickCrypto/Cipher.d.ts +5 -0
  86. package/lib/typescript/NativeQuickCrypto/Cipher.d.ts.map +1 -1
  87. package/lib/typescript/NativeQuickCrypto/NativeQuickCrypto.d.ts +4 -1
  88. package/lib/typescript/NativeQuickCrypto/NativeQuickCrypto.d.ts.map +1 -1
  89. package/lib/typescript/NativeQuickCrypto/aes.d.ts +5 -0
  90. package/lib/typescript/NativeQuickCrypto/aes.d.ts.map +1 -0
  91. package/lib/typescript/NativeQuickCrypto/keygen.d.ts +4 -0
  92. package/lib/typescript/NativeQuickCrypto/keygen.d.ts.map +1 -0
  93. package/lib/typescript/NativeQuickCrypto/rsa.d.ts +5 -0
  94. package/lib/typescript/NativeQuickCrypto/rsa.d.ts.map +1 -0
  95. package/lib/typescript/NativeQuickCrypto/webcrypto.d.ts +12 -2
  96. package/lib/typescript/NativeQuickCrypto/webcrypto.d.ts.map +1 -1
  97. package/lib/typescript/Utils.d.ts +4 -4
  98. package/lib/typescript/Utils.d.ts.map +1 -1
  99. package/lib/typescript/aes.d.ts +18 -1
  100. package/lib/typescript/aes.d.ts.map +1 -1
  101. package/lib/typescript/ec.d.ts.map +1 -1
  102. package/lib/typescript/index.d.ts +27 -24
  103. package/lib/typescript/index.d.ts.map +1 -1
  104. package/lib/typescript/keygen.d.ts +6 -0
  105. package/lib/typescript/keygen.d.ts.map +1 -0
  106. package/lib/typescript/keys.d.ts +58 -17
  107. package/lib/typescript/keys.d.ts.map +1 -1
  108. package/lib/typescript/rsa.d.ts +9 -1
  109. package/lib/typescript/rsa.d.ts.map +1 -1
  110. package/lib/typescript/sig.d.ts +3 -17
  111. package/lib/typescript/sig.d.ts.map +1 -1
  112. package/lib/typescript/subtle.d.ts +6 -5
  113. package/lib/typescript/subtle.d.ts.map +1 -1
  114. package/lib/typescript/webcrypto.d.ts +9 -0
  115. package/lib/typescript/webcrypto.d.ts.map +1 -0
  116. package/package.json +12 -12
  117. package/src/Cipher.ts +1 -1
  118. package/src/Hashnames.ts +23 -21
  119. package/src/NativeQuickCrypto/Cipher.ts +32 -0
  120. package/src/NativeQuickCrypto/NativeQuickCrypto.ts +6 -0
  121. package/src/NativeQuickCrypto/aes.ts +14 -0
  122. package/src/NativeQuickCrypto/keygen.ts +7 -0
  123. package/src/NativeQuickCrypto/rsa.ts +12 -0
  124. package/src/NativeQuickCrypto/webcrypto.ts +26 -2
  125. package/src/Utils.ts +37 -8
  126. package/src/aes.ts +259 -222
  127. package/src/index.ts +10 -1
  128. package/src/keygen.ts +80 -0
  129. package/src/keys.ts +143 -30
  130. package/src/rsa.ts +161 -187
  131. package/src/sig.ts +7 -23
  132. package/src/subtle.ts +211 -93
  133. package/src/webcrypto.ts +8 -0
@@ -0,0 +1 @@
1
+ {"version":3,"names":["NativeQuickCrypto","lazyDOMException","validateFunction","kAesKeyLengths","SecretKeyObject","generateKeyPromise","type","options","Promise","resolve","reject","generateKey","err","key","undefined","callback","validateLength","length","webcrypto","generateSecretKey","then","handle","catch","generateKeySync","generateSecretKeySync","includes","Error"],"sourceRoot":"../../src","sources":["keygen.ts"],"mappings":"AAAA,SAASA,iBAAiB,QAAQ,uCAAuC;AACzE,SAASC,gBAAgB,EAAEC,gBAAgB,QAAQ,SAAS;AAC5D,SAASC,cAAc,QAAQ,OAAO;AACtC,SACEC,eAAe,QAGV,QAAQ;AAOf,OAAO,MAAMC,kBAAkB,GAAGA,CAChCC,IAAmB,EACnBC,OAAwB,KACsC;EAC9D,OAAO,IAAIC,OAAO,CAAC,CAACC,OAAO,EAAEC,MAAM,KAAK;IACtCC,WAAW,CAACL,IAAI,EAAEC,OAAO,EAAE,CAACK,GAAG,EAAEC,GAAG,KAAK;MACvC,IAAID,GAAG,EAAE;QACPF,MAAM,CAAC,CAACE,GAAG,EAAEE,SAAS,CAAC,CAAC;MAC1B;MACAL,OAAO,CAAC,CAACK,SAAS,EAAED,GAAG,CAAC,CAAC;IAC3B,CAAC,CAAC;EACJ,CAAC,CAAC;AACJ,CAAC;AAED,OAAO,MAAMF,WAAW,GAAGA,CACzBL,IAAmB,EACnBC,OAAwB,EACxBQ,QAAwB,KACf;EACTC,cAAc,CAACV,IAAI,EAAEC,OAAO,CAACU,MAAM,CAAC;EACpC,IAAI,CAACf,gBAAgB,CAACa,QAAQ,CAAC,EAAE;IAC/B,MAAMd,gBAAgB,CAAC,4BAA4B,EAAE,aAAa,CAAC;EACrE;EACAD,iBAAiB,CAACkB,SAAS,CACxBC,iBAAiB,CAACZ,OAAO,CAACU,MAAM,CAAC,CACjCG,IAAI,CAAEC,MAAM,IAAK;IAChBN,QAAQ,CAACD,SAAS,EAAE,IAAIV,eAAe,CAACiB,MAAM,CAAC,CAAC;EAClD,CAAC,CAAC,CACDC,KAAK,CAAEV,GAAG,IAAK;IACdG,QAAQ,CAACH,GAAG,EAAEE,SAAS,CAAC;EAC1B,CAAC,CAAC;AACN,CAAC;AAED,OAAO,MAAMS,eAAe,GAAGA,CAC7BjB,IAAmB,EACnBC,OAAwB,KACJ;EACpBS,cAAc,CAACV,IAAI,EAAEC,OAAO,CAACU,MAAM,CAAC;EACpC,MAAMI,MAAM,GAAGrB,iBAAiB,CAACkB,SAAS,CAACM,qBAAqB,CAC9DjB,OAAO,CAACU,MACV,CAAC;EACD,OAAO,IAAIb,eAAe,CAACiB,MAAM,CAAC;AACpC,CAAC;AAED,MAAML,cAAc,GAAGA,CAACV,IAAmB,EAAEW,MAAc,KAAK;EAC9D,QAAQX,IAAI;IACV,KAAK,KAAK;MACR,IAAI,CAACH,cAAc,CAACsB,QAAQ,CAACR,MAAM,CAAC,EAAE;QACpC,MAAMhB,gBAAgB,CACpB,8CAA8C,EAC9C,gBACF,CAAC;MACH;MACA;IACF,KAAK,MAAM;MACT,IAAIgB,MAAM,GAAG,CAAC,IAAIA,MAAM,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,EAAE;QACtC,MAAMhB,gBAAgB,CACpB,gDAAgD,EAChD,gBACF,CAAC;MACH;MACA;IACF;MACE,MAAM,IAAIyB,KAAK,CAAE,yBAAwBpB,IAAK,qBAAoB,CAAC;EACvE;AACF,CAAC","ignoreList":[]}
@@ -13,7 +13,6 @@ export let KFormatType = /*#__PURE__*/function (KFormatType) {
13
13
  KFormatType[KFormatType["kKeyFormatJWK"] = 2] = "kKeyFormatJWK";
14
14
  return KFormatType;
15
15
  }({});
16
-
17
16
  // Same as KFormatType, this enum needs to be defined on the native side
18
17
  export let KeyType = /*#__PURE__*/function (KeyType) {
19
18
  KeyType[KeyType["Secret"] = 0] = "Secret";
@@ -21,7 +20,6 @@ export let KeyType = /*#__PURE__*/function (KeyType) {
21
20
  KeyType[KeyType["Private"] = 2] = "Private";
22
21
  return KeyType;
23
22
  }({});
24
-
25
23
  // Same as KFormatType, this enum needs to be defined on the native side
26
24
  export let KWebCryptoKeyFormat = /*#__PURE__*/function (KWebCryptoKeyFormat) {
27
25
  KWebCryptoKeyFormat[KWebCryptoKeyFormat["kWebCryptoKeyFormatRaw"] = 0] = "kWebCryptoKeyFormatRaw";
@@ -56,6 +54,12 @@ const encodingNames = {
56
54
  [KeyEncoding.kKeyEncodingSPKI]: 'spki',
57
55
  [KeyEncoding.kKeyEncodingSEC1]: 'sec1'
58
56
  };
57
+ export let CipherOrWrapMode = /*#__PURE__*/function (CipherOrWrapMode) {
58
+ CipherOrWrapMode[CipherOrWrapMode["kWebCryptoCipherEncrypt"] = 0] = "kWebCryptoCipherEncrypt";
59
+ CipherOrWrapMode[CipherOrWrapMode["kWebCryptoCipherDecrypt"] = 1] = "kWebCryptoCipherDecrypt";
60
+ return CipherOrWrapMode;
61
+ }({}); // kWebCryptoWrapKey,
62
+ // kWebCryptoUnwrapKey,
59
63
  function option(name, objName) {
60
64
  return objName === undefined ? `options.${name}` : `options.${objName}.${name}`;
61
65
  }
@@ -154,11 +158,12 @@ function prepareAsymmetricKey(key, ctx) {
154
158
  const {
155
159
  key: data,
156
160
  encoding
157
- // format
158
161
  } = key;
159
162
  // // The 'key' property can be a KeyObject as well to allow specifying
160
163
  // // additional options such as padding along with the key.
161
- // if (isKeyObject(data)) return { data: getKeyObjectHandle(data, ctx) };
164
+ // if (isKeyObject(data)) {
165
+ // return { data: getKeyObjectHandle(data, ctx) };
166
+ // }
162
167
  // else if (isCryptoKey(data))
163
168
  // return { data: getKeyObjectHandle(data[kKeyObject], ctx) };
164
169
  // else if (isJwk(data) && format === 'jwk')
@@ -199,6 +204,30 @@ export function parsePublicKeyEncoding(enc, keyType, objName) {
199
204
  export function parsePrivateKeyEncoding(enc, keyType, objName) {
200
205
  return parseKeyEncoding(enc, keyType, false, objName);
201
206
  }
207
+
208
+ // function getKeyObjectHandle(key: any, ctx: KeyInputContext) {
209
+ // if (ctx === KeyInputContext.kConsumePublic) {
210
+ // throw new Error(
211
+ // 'Invalid argument type for "key". Need ArrayBuffer, TypeArray, KeyObject, CryptoKey, string'
212
+ // );
213
+ // }
214
+
215
+ // if (key.type !== 'private') {
216
+ // if (
217
+ // ctx === KeyInputContext.kConsumePrivate ||
218
+ // ctx === KeyInputContext.kCreatePublic
219
+ // )
220
+ // throw new Error(`Invalid KeyObject type: ${key.type}, expected 'public'`);
221
+ // if (key.type !== 'public') {
222
+ // throw new Error(
223
+ // `Invalid KeyObject type: ${key.type}, expected 'private' or 'public'`
224
+ // );
225
+ // }
226
+ // }
227
+
228
+ // return key.handle;
229
+ // }
230
+
202
231
  function prepareSecretKey(key, encoding, bufferOnly = false) {
203
232
  try {
204
233
  if (!bufferOnly) {
@@ -229,6 +258,41 @@ export function createSecretKey(key, encoding) {
229
258
  handle.init(KeyType.Secret, k);
230
259
  return new SecretKeyObject(handle);
231
260
  }
261
+ export function createPublicKey(key) {
262
+ const {
263
+ format,
264
+ type,
265
+ data,
266
+ passphrase
267
+ } = prepareAsymmetricKey(key, KeyInputContext.kCreatePublic);
268
+ const handle = NativeQuickCrypto.webcrypto.createKeyObjectHandle();
269
+ if (format === KFormatType.kKeyFormatJWK) {
270
+ handle.init(KeyType.Public, data);
271
+ } else {
272
+ handle.init(KeyType.Public, data, format, type, passphrase);
273
+ }
274
+ return new PublicKeyObject(handle);
275
+ }
276
+ export const createPrivateKey = key => {
277
+ const {
278
+ format,
279
+ type,
280
+ data,
281
+ passphrase
282
+ } = prepareAsymmetricKey(key, KeyInputContext.kCreatePrivate);
283
+ const handle = NativeQuickCrypto.webcrypto.createKeyObjectHandle();
284
+ if (format === KFormatType.kKeyFormatJWK) {
285
+ handle.init(KeyType.Private, data);
286
+ } else {
287
+ handle.init(KeyType.Private, data, format, type, passphrase);
288
+ }
289
+ return new PrivateKeyObject(handle);
290
+ };
291
+
292
+ // const isKeyObject = (obj: any): obj is KeyObject => {
293
+ // return obj != null && obj.keyType !== undefined;
294
+ // };
295
+
232
296
  export class CryptoKey {
233
297
  constructor(keyObject, keyAlgorithm, keyUsages, keyExtractable) {
234
298
  this.keyObject = keyObject;
@@ -1 +1 @@
1
- {"version":3,"names":["binaryLikeToArrayBuffer","isStringOrBuffer","NativeQuickCrypto","kNamedCurveAliases","KFormatType","KeyType","KWebCryptoKeyFormat","WebCryptoKeyExportStatus","KeyInputContext","KeyEncoding","encodingNames","kKeyEncodingPKCS1","kKeyEncodingPKCS8","kKeyEncodingSPKI","kKeyEncodingSEC1","option","name","objName","undefined","parseKeyFormat","formatStr","defaultFormat","optionName","kKeyFormatPEM","kKeyFormatDER","kKeyFormatJWK","Error","parseKeyType","typeStr","required","keyType","isPublic","parseKeyFormatAndType","enc","format","type","isInput","isRequired","parseKeyEncoding","cipher","passphrase","encoding","prepareAsymmetricKey","key","ctx","data","kConsumePrivate","kCreatePrivate","preparePrivateKey","preparePublicOrPrivateKey","kConsumePublic","parsePublicKeyEncoding","parsePrivateKeyEncoding","prepareSecretKey","bufferOnly","KeyObject","handle","CryptoKey","keyObject","ArrayBuffer","error","cause","createSecretKey","k","webcrypto","createKeyObjectHandle","init","Secret","SecretKeyObject","constructor","keyAlgorithm","keyUsages","keyExtractable","inspect","_depth","_options","extractable","algorithm","usages","export","options","AsymmetricKeyObject","asymmetricKeyType","_asymmetricKeyType","getAsymmetricKeyType","PublicKeyObject","PrivateKeyObject","isCryptoKey","obj"],"sourceRoot":"../../src","sources":["keys.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["binaryLikeToArrayBuffer","isStringOrBuffer","NativeQuickCrypto","kNamedCurveAliases","KFormatType","KeyType","KWebCryptoKeyFormat","WebCryptoKeyExportStatus","KeyInputContext","KeyEncoding","encodingNames","kKeyEncodingPKCS1","kKeyEncodingPKCS8","kKeyEncodingSPKI","kKeyEncodingSEC1","CipherOrWrapMode","option","name","objName","undefined","parseKeyFormat","formatStr","defaultFormat","optionName","kKeyFormatPEM","kKeyFormatDER","kKeyFormatJWK","Error","parseKeyType","typeStr","required","keyType","isPublic","parseKeyFormatAndType","enc","format","type","isInput","isRequired","parseKeyEncoding","cipher","passphrase","encoding","prepareAsymmetricKey","key","ctx","data","kConsumePrivate","kCreatePrivate","preparePrivateKey","preparePublicOrPrivateKey","kConsumePublic","parsePublicKeyEncoding","parsePrivateKeyEncoding","prepareSecretKey","bufferOnly","KeyObject","handle","CryptoKey","keyObject","ArrayBuffer","error","cause","createSecretKey","k","webcrypto","createKeyObjectHandle","init","Secret","SecretKeyObject","createPublicKey","kCreatePublic","Public","PublicKeyObject","createPrivateKey","Private","PrivateKeyObject","constructor","keyAlgorithm","keyUsages","keyExtractable","inspect","_depth","_options","extractable","algorithm","usages","export","options","AsymmetricKeyObject","asymmetricKeyType","_asymmetricKeyType","getAsymmetricKeyType","isCryptoKey","obj"],"sourceRoot":"../../src","sources":["keys.ts"],"mappings":"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","ignoreList":[]}
package/lib/module/rsa.js CHANGED
@@ -1,70 +1,16 @@
1
- // 'use strict';
2
-
1
+ import { KeyVariantLookup } from './NativeQuickCrypto/Cipher';
2
+ import { generateKeyPairPromise } from './Cipher';
3
3
  import { NativeQuickCrypto } from './NativeQuickCrypto/NativeQuickCrypto';
4
- import { lazyDOMException, validateKeyOps, normalizeHashName, HashContext, hasAnyNotIn } from './Utils';
5
- import { CryptoKey, PrivateKeyObject, PublicKeyObject, KeyType } from './keys';
6
-
7
- // const {
8
- // SafeSet,
9
- // Uint8Array,
10
- // } = primordials;
11
-
12
- // const {
13
- // KeyObjectHandle,
14
- // RSACipherJob,
15
- // RSAKeyExportJob,
16
- // SignJob,
17
- // kCryptoJobAsync,
18
- // kSignJobModeSign,
19
- // kSignJobModeVerify,
20
- // kKeyVariantRSA_SSA_PKCS1_v1_5,
21
- // kKeyVariantRSA_PSS,
22
- // kKeyVariantRSA_OAEP,
23
- // kKeyTypePrivate,
24
- // kWebCryptoCipherEncrypt,
25
- // RSA_PKCS1_PSS_PADDING,
26
- // } = internalBinding('crypto');
27
-
28
- // const {
29
- // validateInt32,
30
- // } = require('internal/validators');
31
-
32
- // const {
33
- // bigIntArrayToUnsignedInt,
34
- // getUsagesUnion,
35
- // hasAnyNotIn,
36
- // jobPromise,
37
- // normalizeHashName,
38
- // validateKeyOps,
39
- // validateMaxBufferLength,
40
- // kHandle,
41
- // kKeyObject,
42
- // } = require('internal/crypto/util');
43
-
44
- // const {
45
- // lazyDOMException,
46
- // promisify,
47
- // } = require('internal/util');
48
-
49
- // const {
50
- // InternalCryptoKey,
51
- // PrivateKeyObject,
52
- // PublicKeyObject,
53
- // createPublicKey,
54
- // createPrivateKey,
55
- // } = require('internal/crypto/keys');
56
-
57
- // const {
58
- // generateKeyPair: _generateKeyPair,
59
- // } = require('internal/crypto/keygen');
60
-
61
- // const kRsaVariants = {
62
- // 'RSASSA-PKCS1-v1_5': kKeyVariantRSA_SSA_PKCS1_v1_5,
63
- // 'RSA-PSS': kKeyVariantRSA_PSS,
64
- // 'RSA-OAEP': kKeyVariantRSA_OAEP,
65
- // };
66
- // const generateKeyPair = promisify(_generateKeyPair);
67
-
4
+ import { lazyDOMException, validateKeyOps, normalizeHashName, HashContext, hasAnyNotIn, getUsagesUnion, bigIntArrayToUnsignedInt, validateMaxBufferLength, bufferLikeToArrayBuffer } from './Utils';
5
+ import { CryptoKey, PrivateKeyObject, PublicKeyObject, KeyType, createPublicKey, CipherOrWrapMode } from './keys';
6
+
7
+ // TODO: keep in in sync with C++ side (cpp/Cipher/MGLRsa.h)
8
+ export let RSAKeyVariant = /*#__PURE__*/function (RSAKeyVariant) {
9
+ RSAKeyVariant[RSAKeyVariant["RSA_SSA_PKCS1_v1_5"] = 0] = "RSA_SSA_PKCS1_v1_5";
10
+ RSAKeyVariant[RSAKeyVariant["RSA_PSS"] = 1] = "RSA_PSS";
11
+ RSAKeyVariant[RSAKeyVariant["RSA_OAEP"] = 2] = "RSA_OAEP";
12
+ return RSAKeyVariant;
13
+ }({});
68
14
  function verifyAcceptableRsaKeyUse(name, isPublic, usages) {
69
15
  let checkSet;
70
16
  switch (name) {
@@ -83,142 +29,113 @@ function verifyAcceptableRsaKeyUse(name, isPublic, usages) {
83
29
  throw lazyDOMException(`Unsupported key usage for an ${name} key`, 'SyntaxError');
84
30
  }
85
31
  }
86
-
87
- // function rsaOaepCipher(mode, key, data, { label }) {
88
- // const type = mode === kWebCryptoCipherEncrypt ? 'public' : 'private';
89
- // if (key.type !== type) {
90
- // throw lazyDOMException(
91
- // 'The requested operation is not valid for the provided key',
92
- // 'InvalidAccessError');
93
- // }
94
- // if (label !== undefined) {
95
- // validateMaxBufferLength(label, 'algorithm.label');
96
- // }
97
-
98
- // return jobPromise(() => new RSACipherJob(
99
- // kCryptoJobAsync,
100
- // mode,
101
- // key[kKeyObject][kHandle],
102
- // data,
103
- // kKeyVariantRSA_OAEP,
104
- // normalizeHashName(key.algorithm.hash.name),
105
- // label));
106
- // }
107
-
108
- // async function rsaKeyGenerate(
109
- // algorithm,
110
- // extractable,
111
- // keyUsages) {
112
-
113
- // const {
114
- // name,
115
- // modulusLength,
116
- // publicExponent,
117
- // hash,
118
- // } = algorithm;
119
-
120
- // const usageSet = new SafeSet(keyUsages);
121
-
122
- // const publicExponentConverted = bigIntArrayToUnsignedInt(publicExponent);
123
- // if (publicExponentConverted === undefined) {
124
- // throw lazyDOMException(
125
- // 'The publicExponent must be equivalent to an unsigned 32-bit value',
126
- // 'OperationError');
127
- // }
128
-
129
- // switch (name) {
130
- // case 'RSA-OAEP':
131
- // if (hasAnyNotIn(usageSet,
132
- // ['encrypt', 'decrypt', 'wrapKey', 'unwrapKey'])) {
133
- // throw lazyDOMException(
134
- // 'Unsupported key usage for a RSA key',
135
- // 'SyntaxError');
136
- // }
137
- // break;
138
- // default:
139
- // if (hasAnyNotIn(usageSet, ['sign', 'verify'])) {
140
- // throw lazyDOMException(
141
- // 'Unsupported key usage for a RSA key',
142
- // 'SyntaxError');
143
- // }
144
- // }
145
-
146
- // const keypair = await generateKeyPair('rsa', {
147
- // modulusLength,
148
- // publicExponent: publicExponentConverted,
149
- // }).catch((err) => {
150
- // throw lazyDOMException(
151
- // 'The operation failed for an operation-specific reason',
152
- // { name: 'OperationError', cause: err });
153
- // });
154
-
155
- // const keyAlgorithm = {
156
- // name,
157
- // modulusLength,
158
- // publicExponent,
159
- // hash: { name: hash.name },
160
- // };
161
-
162
- // let publicUsages;
163
- // let privateUsages;
164
- // switch (name) {
165
- // case 'RSA-OAEP': {
166
- // publicUsages = getUsagesUnion(usageSet, 'encrypt', 'wrapKey');
167
- // privateUsages = getUsagesUnion(usageSet, 'decrypt', 'unwrapKey');
168
- // break;
169
- // }
170
- // default: {
171
- // publicUsages = getUsagesUnion(usageSet, 'verify');
172
- // privateUsages = getUsagesUnion(usageSet, 'sign');
173
- // break;
174
- // }
175
- // }
176
-
177
- // const publicKey =
178
- // new InternalCryptoKey(
179
- // keypair.publicKey,
180
- // keyAlgorithm,
181
- // publicUsages,
182
- // true);
183
-
184
- // const privateKey =
185
- // new InternalCryptoKey(
186
- // keypair.privateKey,
187
- // keyAlgorithm,
188
- // privateUsages,
189
- // extractable);
190
-
191
- // return { __proto__: null, publicKey, privateKey };
192
- // }
193
-
194
- // function rsaExportKey(key, format) {
195
- // return jobPromise(() => new RSAKeyExportJob(
196
- // kCryptoJobAsync,
197
- // format,
198
- // key[kKeyObject][kHandle],
199
- // kRsaVariants[key.algorithm.name]));
200
- // }
201
-
32
+ const rsaOaepCipher = (mode, key, data, {
33
+ label
34
+ }) => {
35
+ const type = mode === CipherOrWrapMode.kWebCryptoCipherEncrypt ? 'public' : 'private';
36
+ if (key.type !== type) {
37
+ throw lazyDOMException('The requested operation is not valid for the provided key', 'InvalidAccessError');
38
+ }
39
+ if (label !== undefined) {
40
+ validateMaxBufferLength(label, 'algorithm.label');
41
+ }
42
+ return NativeQuickCrypto.webcrypto.rsaCipher(mode, key.keyObject.handle, data, RSAKeyVariant.RSA_OAEP, normalizeHashName(key.algorithm.hash), label !== undefined ? bufferLikeToArrayBuffer(label) : undefined);
43
+ };
44
+ export const rsaCipher = rsaOaepCipher;
45
+ export const rsaKeyGenerate = async (algorithm, extractable, keyUsages) => {
46
+ const {
47
+ name,
48
+ modulusLength,
49
+ publicExponent,
50
+ hash: rawHash
51
+ } = algorithm;
52
+ const hash = normalizeHashName(rawHash);
53
+
54
+ // const usageSet = new SafeSet(keyUsages);
55
+ const publicExponentConverted = bigIntArrayToUnsignedInt(publicExponent);
56
+ if (publicExponentConverted === undefined) {
57
+ throw lazyDOMException('The publicExponent must be equivalent to an unsigned 32-bit value', 'OperationError');
58
+ }
59
+ switch (name) {
60
+ case 'RSA-OAEP':
61
+ if (hasAnyNotIn(keyUsages, ['encrypt', 'decrypt', 'wrapKey', 'unwrapKey'])) {
62
+ throw lazyDOMException('Unsupported key usage for a RSA key', 'SyntaxError');
63
+ }
64
+ break;
65
+ default:
66
+ if (hasAnyNotIn(keyUsages, ['sign', 'verify'])) {
67
+ throw lazyDOMException('Unsupported key usage for a RSA key', 'SyntaxError');
68
+ }
69
+ }
70
+ const [err, keypair] = await generateKeyPairPromise('rsa', {
71
+ modulusLength,
72
+ publicExponent: publicExponentConverted
73
+ });
74
+ if (err) {
75
+ throw lazyDOMException('The operation failed for an operation-specific reason', {
76
+ name: 'OperationError',
77
+ cause: err
78
+ });
79
+ }
80
+ const keyAlgorithm = {
81
+ name,
82
+ modulusLength,
83
+ publicExponent: publicExponentConverted,
84
+ hash
85
+ };
86
+ let publicUsages = [];
87
+ let privateUsages = [];
88
+ switch (name) {
89
+ case 'RSA-OAEP':
90
+ {
91
+ publicUsages = getUsagesUnion(keyUsages, 'encrypt', 'wrapKey');
92
+ privateUsages = getUsagesUnion(keyUsages, 'decrypt', 'unwrapKey');
93
+ break;
94
+ }
95
+ default:
96
+ {
97
+ publicUsages = getUsagesUnion(keyUsages, 'verify');
98
+ privateUsages = getUsagesUnion(keyUsages, 'sign');
99
+ break;
100
+ }
101
+ }
102
+ const pub = new PublicKeyObject(keypair?.publicKey);
103
+ const publicKey = new CryptoKey(pub, keyAlgorithm, publicUsages, true);
104
+ const priv = new PrivateKeyObject(keypair?.privateKey);
105
+ const privateKey = new CryptoKey(priv, keyAlgorithm, privateUsages, extractable);
106
+ return {
107
+ publicKey,
108
+ privateKey
109
+ };
110
+ };
111
+ export const rsaExportKey = (key, format) => {
112
+ const variant = KeyVariantLookup[key.algorithm.name];
113
+ if (variant === undefined) {
114
+ throw lazyDOMException(`Unrecognized algorithm name '${key.algorithm.name}'`, 'NotSupportedError');
115
+ }
116
+ return NativeQuickCrypto.webcrypto.rsaExportKey(format, key.keyObject.handle, variant);
117
+ };
202
118
  export const rsaImportKey = (format, keyData, algorithm, extractable, keyUsages) => {
203
119
  // const usagesSet = new SafeSet(keyUsages);
204
120
  let keyObject;
205
121
  switch (format) {
206
- // case 'spki': {
207
- // verifyAcceptableRsaKeyUse(algorithm.name, true, keyUsages);
208
- // try {
209
- // keyObject = createPublicKey({
210
- // key: keyData,
211
- // format: 'der',
212
- // type: 'spki',
213
- // });
214
- // } catch (err) {
215
- // throw lazyDOMException('Invalid keyData', {
216
- // name: 'DataError',
217
- // cause: err,
218
- // });
219
- // }
220
- // break;
221
- // }
122
+ case 'spki':
123
+ {
124
+ verifyAcceptableRsaKeyUse(algorithm.name, true, keyUsages);
125
+ try {
126
+ keyObject = createPublicKey({
127
+ key: keyData,
128
+ format: 'der',
129
+ type: 'spki'
130
+ });
131
+ } catch (err) {
132
+ throw lazyDOMException('Invalid keyData', {
133
+ name: 'DataError',
134
+ cause: err
135
+ });
136
+ }
137
+ break;
138
+ }
222
139
  // case 'pkcs8': {
223
140
  // verifyAcceptableRsaKeyUse(algorithm.name, false, keyUsages);
224
141
  // try {
@@ -1 +1 @@
1
- {"version":3,"names":["NativeQuickCrypto","lazyDOMException","validateKeyOps","normalizeHashName","HashContext","hasAnyNotIn","CryptoKey","PrivateKeyObject","PublicKeyObject","KeyType","verifyAcceptableRsaKeyUse","name","isPublic","usages","checkSet","rsaImportKey","format","keyData","algorithm","extractable","keyUsages","keyObject","data","kty","d","undefined","length","use","checkUse","key_ops","ext","alg","hash","WebCrypto","handle","webcrypto","createKeyObjectHandle","type","initJwk","Private","asymmetricKeyType","modulusLength","publicExponent","keyDetail","Uint8Array"],"sourceRoot":"../../src","sources":["rsa.ts"],"mappings":"AAAA;;AAEA,SAASA,iBAAiB,QAAQ,uCAAuC;AACzE,SACEC,gBAAgB,EAEhBC,cAAc,EACdC,iBAAiB,EACjBC,WAAW,EACXC,WAAW,QACN,SAAS;AAChB,SACEC,SAAS,EACTC,gBAAgB,EAMhBC,eAAe,EAEfC,OAAO,QACF,QAAQ;;AAEf;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,SAASC,yBAAyBA,CAChCC,IAAkB,EAClBC,QAAiB,EACjBC,MAAkB,EACZ;EACN,IAAIC,QAAQ;EACZ,QAAQH,IAAI;IACV,KAAK,UAAU;MACbG,QAAQ,GAAGF,QAAQ,GAAG,CAAC,SAAS,EAAE,SAAS,CAAC,GAAG,CAAC,SAAS,EAAE,WAAW,CAAC;MACvE;IACF,KAAK,SAAS;IACd;IACA,KAAK,mBAAmB;MACtBE,QAAQ,GAAGF,QAAQ,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC;MAC3C;IACF;MACE,MAAMX,gBAAgB,CACpB,gCAAgC,EAChC,mBACF,CAAC;EACL;EACA,IAAII,WAAW,CAACQ,MAAM,EAAEC,QAAQ,CAAC,EAAE;IACjC,MAAMb,gBAAgB,CACnB,gCAA+BU,IAAK,MAAK,EAC1C,aACF,CAAC;EACH;AACF;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,OAAO,MAAMI,YAAY,GAAGA,CAC1BC,MAAoB,EACpBC,OAAyB,EACzBC,SAA0B,EAC1BC,WAAoB,EACpBC,SAAqB,KACP;EACd;EACA,IAAIC,SAAS;EACb,QAAQL,MAAM;IACZ;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA,KAAK,KAAK;MAAE;QACV,MAAMM,IAAI,GAAGL,OAAc;QAC3B,IAAI,CAACK,IAAI,CAACC,GAAG,EAAE;UACb,MAAMtB,gBAAgB,CAAC,iBAAiB,EAAE,WAAW,CAAC;QACxD;QACA,IAAIqB,IAAI,CAACC,GAAG,KAAK,KAAK,EACpB,MAAMtB,gBAAgB,CAAC,6BAA6B,EAAE,WAAW,CAAC;QAEpES,yBAAyB,CACvBQ,SAAS,CAACP,IAAI,EACdW,IAAI,CAACE,CAAC,KAAKC,SAAS,EACpBL,SACF,CAAC;QAED,IAAIA,SAAS,CAACM,MAAM,GAAG,CAAC,IAAIJ,IAAI,CAACK,GAAG,KAAKF,SAAS,EAAE;UAClD,MAAMG,QAAQ,GAAGV,SAAS,CAACP,IAAI,KAAK,UAAU,GAAG,KAAK,GAAG,KAAK;UAC9D,IAAIW,IAAI,CAACK,GAAG,KAAKC,QAAQ,EACvB,MAAM3B,gBAAgB,CAAC,6BAA6B,EAAE,WAAW,CAAC;QACtE;QAEAC,cAAc,CAACoB,IAAI,CAACO,OAAO,EAAET,SAAS,CAAC;QAEvC,IACEE,IAAI,CAACQ,GAAG,KAAKL,SAAS,IACtBH,IAAI,CAACQ,GAAG,KAAK,KAAK,IAClBX,WAAW,KAAK,IAAI,EACpB;UACA,MAAMlB,gBAAgB,CACpB,8CAA8C,EAC9C,WACF,CAAC;QACH;QAEA,IAAIqB,IAAI,CAACS,GAAG,KAAKN,SAAS,EAAE;UAC1B,MAAMO,IAAI,GAAG7B,iBAAiB,CAC5BmB,IAAI,CAACS,GAAG,EACR3B,WAAW,CAAC6B,SACd,CAAC;UACD,IAAID,IAAI,KAAKd,SAAS,CAACc,IAAI,EACzB,MAAM/B,gBAAgB,CACpB,kDAAkD,EAClD,WACF,CAAC;QACL;QAEA,MAAMiC,MAAM,GAAGlC,iBAAiB,CAACmC,SAAS,CAACC,qBAAqB,CAAC,CAAC;QAClE,MAAMC,IAAI,GAAGH,MAAM,CAACI,OAAO,CAAChB,IAAI,CAAC;QACjC,IAAIe,IAAI,KAAKZ,SAAS,EACpB,MAAMxB,gBAAgB,CAAC,aAAa,EAAE,WAAW,CAAC;QAEpDoB,SAAS,GACPgB,IAAI,KAAK5B,OAAO,CAAC8B,OAAO,GACpB,IAAIhC,gBAAgB,CAAC2B,MAAM,CAAC,GAC5B,IAAI1B,eAAe,CAAC0B,MAAM,CAAC;QAEjC;MACF;IACA;MACE,MAAMjC,gBAAgB,CACnB,wCAAuCe,MAAO,EAAC,EAChD,mBACF,CAAC;EACL;EAEA,IAAIK,SAAS,CAACmB,iBAAiB,KAAK,KAAK,EAAE;IACzC,MAAMvC,gBAAgB,CAAC,kBAAkB,EAAE,WAAW,CAAC;EACzD;EAEA,MAAM;IAAEwC,aAAa;IAAEC;EAAe,CAAC,GAAGrB,SAAS,CAACa,MAAM,CAACS,SAAS,CAAC,CAAC;EAEtE,IAAID,cAAc,KAAKjB,SAAS,EAAE;IAChC,MAAMxB,gBAAgB,CAAC,6BAA6B,EAAE,WAAW,CAAC;EACpE;EAEA,OAAO,IAAIK,SAAS,CAClBe,SAAS,EACT;IACEV,IAAI,EAAEO,SAAS,CAACP,IAAI;IACpB8B,aAAa;IACbC,cAAc,EAAE,IAAIE,UAAU,CAACF,cAAc,CAAC;IAC9CV,IAAI,EAAEd,SAAS,CAACc;EAClB,CAAC,EACDZ,SAAS,EACTD,WACF,CAAC;AACH,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA","ignoreList":[]}
1
+ {"version":3,"names":["KeyVariantLookup","generateKeyPairPromise","NativeQuickCrypto","lazyDOMException","validateKeyOps","normalizeHashName","HashContext","hasAnyNotIn","getUsagesUnion","bigIntArrayToUnsignedInt","validateMaxBufferLength","bufferLikeToArrayBuffer","CryptoKey","PrivateKeyObject","PublicKeyObject","KeyType","createPublicKey","CipherOrWrapMode","RSAKeyVariant","verifyAcceptableRsaKeyUse","name","isPublic","usages","checkSet","rsaOaepCipher","mode","key","data","label","type","kWebCryptoCipherEncrypt","undefined","webcrypto","rsaCipher","keyObject","handle","RSA_OAEP","algorithm","hash","rsaKeyGenerate","extractable","keyUsages","modulusLength","publicExponent","rawHash","publicExponentConverted","err","keypair","cause","keyAlgorithm","publicUsages","privateUsages","pub","publicKey","priv","privateKey","rsaExportKey","format","variant","rsaImportKey","keyData","kty","d","length","use","checkUse","key_ops","ext","alg","WebCrypto","createKeyObjectHandle","initJwk","Private","asymmetricKeyType","keyDetail","Uint8Array"],"sourceRoot":"../../src","sources":["rsa.ts"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["NativeQuickCrypto","Stream","DSASigEnc","binaryLikeToArrayBuffer","getDefaultEncoding","preparePrivateKey","preparePublicOrPrivateKey","createInternalSign","createSign","createInternalVerify","createVerify","getPadding","options","getIntOption","getSaltLength","getDSASignatureEncoding","dsaEncoding","kSigEncDER","kSigEncP1363","Error","name","value","undefined","Verify","Writable","constructor","algorithm","internal","init","_write","chunk","encoding","callback","update","data","verify","signature","format","type","passphrase","rsaPadding","pssSaltLength","dsaSigEnc","ret","Sign","sign","Buffer","from","toString"],"sourceRoot":"../../src","sources":["sig.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["NativeQuickCrypto","Stream","DSASigEnc","binaryLikeToArrayBuffer","getDefaultEncoding","preparePrivateKey","preparePublicOrPrivateKey","createInternalSign","createSign","createInternalVerify","createVerify","getPadding","options","getIntOption","getSaltLength","getDSASignatureEncoding","dsaEncoding","kSigEncDER","kSigEncP1363","Error","name","value","undefined","Verify","Writable","constructor","algorithm","internal","init","_write","chunk","encoding","callback","update","data","verify","signature","format","type","passphrase","rsaPadding","pssSaltLength","dsaSigEnc","ret","Sign","sign","Buffer","from","toString"],"sourceRoot":"../../src","sources":["sig.ts"],"mappings":"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","ignoreList":[]}