react-native-quick-crypto 0.7.10 → 0.7.11

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 (55) hide show
  1. package/android/CMakeLists.txt +59 -62
  2. package/android/build.gradle +7 -7
  3. package/lib/commonjs/Algorithms.js +224 -0
  4. package/lib/commonjs/Algorithms.js.map +1 -0
  5. package/lib/commonjs/Hash.js +1 -1
  6. package/lib/commonjs/Hash.js.map +1 -1
  7. package/lib/commonjs/Hashnames.js +1 -1
  8. package/lib/commonjs/Hashnames.js.map +1 -1
  9. package/lib/commonjs/Utils.js +27 -235
  10. package/lib/commonjs/Utils.js.map +1 -1
  11. package/lib/commonjs/keys.js.map +1 -1
  12. package/lib/commonjs/pbkdf2.js +1 -1
  13. package/lib/commonjs/pbkdf2.js.map +1 -1
  14. package/lib/commonjs/random.js.map +1 -1
  15. package/lib/commonjs/subtle.js +7 -6
  16. package/lib/commonjs/subtle.js.map +1 -1
  17. package/lib/module/Algorithms.js +219 -0
  18. package/lib/module/Algorithms.js.map +1 -0
  19. package/lib/module/Hash.js +1 -1
  20. package/lib/module/Hash.js.map +1 -1
  21. package/lib/module/Hashnames.js +1 -1
  22. package/lib/module/Hashnames.js.map +1 -1
  23. package/lib/module/Utils.js +25 -230
  24. package/lib/module/Utils.js.map +1 -1
  25. package/lib/module/keys.js.map +1 -1
  26. package/lib/module/pbkdf2.js +1 -1
  27. package/lib/module/pbkdf2.js.map +1 -1
  28. package/lib/module/random.js.map +1 -1
  29. package/lib/module/subtle.js +2 -1
  30. package/lib/module/subtle.js.map +1 -1
  31. package/lib/typescript/src/Algorithms.d.ts +4 -0
  32. package/lib/typescript/src/Algorithms.d.ts.map +1 -0
  33. package/lib/typescript/src/Hashnames.d.ts +2 -2
  34. package/lib/typescript/src/Hashnames.d.ts.map +1 -1
  35. package/lib/typescript/src/Utils.d.ts +20 -8
  36. package/lib/typescript/src/Utils.d.ts.map +1 -1
  37. package/lib/typescript/src/index.d.ts +4 -4
  38. package/lib/typescript/src/index.d.ts.map +1 -1
  39. package/lib/typescript/src/keys.d.ts +5 -2
  40. package/lib/typescript/src/keys.d.ts.map +1 -1
  41. package/lib/typescript/src/random.d.ts +5 -6
  42. package/lib/typescript/src/random.d.ts.map +1 -1
  43. package/lib/typescript/src/sig.d.ts +1 -1
  44. package/lib/typescript/src/subtle.d.ts.map +1 -1
  45. package/package.json +40 -52
  46. package/react-native-quick-crypto.podspec +1 -1
  47. package/src/Algorithms.ts +247 -0
  48. package/src/Hash.ts +1 -1
  49. package/src/Hashnames.ts +4 -4
  50. package/src/Utils.ts +34 -279
  51. package/src/keys.ts +5 -1
  52. package/src/pbkdf2.ts +1 -1
  53. package/src/random.ts +16 -24
  54. package/src/subtle.ts +1 -2
  55. package/LICENSE +0 -27
@@ -1 +1 @@
1
- {"version":3,"names":["_safeBuffer","require","_keys","_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","SBuffer","isBuffer","byteLength","undefined","createSecretKey","CryptoKey","checkCryptoKeyPairUsages","pair","privateKey","Buffer","Object","prototype","hasOwnProperty","call","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
+ {"version":3,"names":["_safeBuffer","require","_keys","_Utils","_ec","_pbkdf","_Hash","_aes","_rsa","_Algorithms","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","SBuffer","isBuffer","byteLength","undefined","createSecretKey","CryptoKey","checkCryptoKeyPairUsages","pair","privateKey","Buffer","Object","prototype","hasOwnProperty","call","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":[]}
@@ -0,0 +1,219 @@
1
+ "use strict";
2
+
3
+ const kSupportedAlgorithms = {
4
+ digest: {
5
+ 'SHA-1': null,
6
+ 'SHA-256': null,
7
+ 'SHA-384': null,
8
+ 'SHA-512': null
9
+ },
10
+ generateKey: {
11
+ 'RSASSA-PKCS1-v1_5': 'RsaHashedKeyGenParams',
12
+ 'RSA-PSS': 'RsaHashedKeyGenParams',
13
+ 'RSA-OAEP': 'RsaHashedKeyGenParams',
14
+ ECDSA: 'EcKeyGenParams',
15
+ ECDH: 'EcKeyGenParams',
16
+ 'AES-CTR': 'AesKeyGenParams',
17
+ 'AES-CBC': 'AesKeyGenParams',
18
+ 'AES-GCM': 'AesKeyGenParams',
19
+ 'AES-KW': 'AesKeyGenParams',
20
+ HMAC: 'HmacKeyGenParams',
21
+ X25519: null,
22
+ Ed25519: null,
23
+ X448: null,
24
+ Ed448: null
25
+ },
26
+ sign: {
27
+ 'RSASSA-PKCS1-v1_5': null,
28
+ 'RSA-PSS': 'RsaPssParams',
29
+ ECDSA: 'EcdsaParams',
30
+ HMAC: null,
31
+ Ed25519: null,
32
+ Ed448: 'Ed448Params'
33
+ },
34
+ verify: {
35
+ 'RSASSA-PKCS1-v1_5': null,
36
+ 'RSA-PSS': 'RsaPssParams',
37
+ ECDSA: 'EcdsaParams',
38
+ HMAC: null,
39
+ Ed25519: null,
40
+ Ed448: 'Ed448Params'
41
+ },
42
+ importKey: {
43
+ 'RSASSA-PKCS1-v1_5': 'RsaHashedImportParams',
44
+ 'RSA-PSS': 'RsaHashedImportParams',
45
+ 'RSA-OAEP': 'RsaHashedImportParams',
46
+ ECDSA: 'EcKeyImportParams',
47
+ ECDH: 'EcKeyImportParams',
48
+ HMAC: 'HmacImportParams',
49
+ HKDF: null,
50
+ PBKDF2: null,
51
+ 'AES-CTR': null,
52
+ 'AES-CBC': null,
53
+ 'AES-GCM': null,
54
+ 'AES-KW': null,
55
+ Ed25519: null,
56
+ X25519: null,
57
+ Ed448: null,
58
+ X448: null
59
+ },
60
+ deriveBits: {
61
+ HKDF: 'HkdfParams',
62
+ PBKDF2: 'Pbkdf2Params',
63
+ ECDH: 'EcdhKeyDeriveParams',
64
+ X25519: 'EcdhKeyDeriveParams',
65
+ X448: 'EcdhKeyDeriveParams'
66
+ },
67
+ encrypt: {
68
+ 'RSA-OAEP': 'RsaOaepParams',
69
+ 'AES-CBC': 'AesCbcParams',
70
+ 'AES-GCM': 'AesGcmParams',
71
+ 'AES-CTR': 'AesCtrParams'
72
+ },
73
+ decrypt: {
74
+ 'RSA-OAEP': 'RsaOaepParams',
75
+ 'AES-CBC': 'AesCbcParams',
76
+ 'AES-GCM': 'AesGcmParams',
77
+ 'AES-CTR': 'AesCtrParams'
78
+ },
79
+ 'get key length': {
80
+ 'AES-CBC': 'AesDerivedKeyParams',
81
+ 'AES-CTR': 'AesDerivedKeyParams',
82
+ 'AES-GCM': 'AesDerivedKeyParams',
83
+ 'AES-KW': 'AesDerivedKeyParams',
84
+ HMAC: 'HmacImportParams',
85
+ HKDF: null,
86
+ PBKDF2: null
87
+ },
88
+ wrapKey: {
89
+ 'AES-KW': null
90
+ },
91
+ unwrapKey: {
92
+ 'AES-KW': null
93
+ }
94
+ };
95
+ const simpleAlgorithmDictionaries = {
96
+ AesGcmParams: {
97
+ iv: 'BufferSource',
98
+ additionalData: 'BufferSource'
99
+ },
100
+ RsaHashedKeyGenParams: {
101
+ hash: 'HashAlgorithmIdentifier'
102
+ },
103
+ EcKeyGenParams: {},
104
+ HmacKeyGenParams: {
105
+ hash: 'HashAlgorithmIdentifier'
106
+ },
107
+ RsaPssParams: {},
108
+ EcdsaParams: {
109
+ hash: 'HashAlgorithmIdentifier'
110
+ },
111
+ HmacImportParams: {
112
+ hash: 'HashAlgorithmIdentifier'
113
+ },
114
+ HkdfParams: {
115
+ hash: 'HashAlgorithmIdentifier',
116
+ salt: 'BufferSource',
117
+ info: 'BufferSource'
118
+ },
119
+ Ed448Params: {
120
+ context: 'BufferSource'
121
+ },
122
+ Pbkdf2Params: {
123
+ hash: 'HashAlgorithmIdentifier',
124
+ salt: 'BufferSource'
125
+ },
126
+ RsaOaepParams: {
127
+ label: 'BufferSource'
128
+ },
129
+ RsaHashedImportParams: {
130
+ hash: 'HashAlgorithmIdentifier'
131
+ },
132
+ EcKeyImportParams: {}
133
+ };
134
+
135
+ // https://w3c.github.io/webcrypto/#algorithm-normalization-normalize-an-algorithm
136
+ // adapted for Node.js from Deno's implementation
137
+ // https://github.com/denoland/deno/blob/v1.29.1/ext/crypto/00_crypto.js#L195
138
+ export const normalizeAlgorithm = (algorithm, op) => {
139
+ if (typeof algorithm === 'string') {
140
+ return normalizeAlgorithm({
141
+ name: algorithm
142
+ }, op);
143
+ }
144
+
145
+ // 1.
146
+ const registeredAlgorithms = kSupportedAlgorithms[op];
147
+ // 2. 3.
148
+ // commented, because typescript takes care of this for us 🤞👀
149
+ // const initialAlg = webidl.converters.Algorithm(algorithm, {
150
+ // prefix: 'Failed to normalize algorithm',
151
+ // context: 'passed algorithm',
152
+ // });
153
+
154
+ // 4.
155
+ let algName = algorithm.name;
156
+ if (algName === undefined) return {
157
+ name: 'unknown'
158
+ };
159
+
160
+ // 5.
161
+ let desiredType;
162
+ for (const key in registeredAlgorithms) {
163
+ if (!Object.prototype.hasOwnProperty.call(registeredAlgorithms, key)) {
164
+ continue;
165
+ }
166
+ if (key.toUpperCase() === algName.toUpperCase()) {
167
+ algName = key;
168
+ desiredType = registeredAlgorithms[algName];
169
+ }
170
+ }
171
+ if (desiredType === undefined) throw new Error(`Unrecognized algorithm name: ${algName}`);
172
+
173
+ // Fast path everything below if the registered dictionary is null
174
+ if (desiredType === null) return {
175
+ name: algName
176
+ };
177
+
178
+ // 6.
179
+ const normalizedAlgorithm = algorithm;
180
+ // TODO: implement this? Maybe via typescript?
181
+ // webidl.converters[desiredType](algorithm, {
182
+ // prefix: 'Failed to normalize algorithm',
183
+ // context: 'passed algorithm',
184
+ // });
185
+ // 7.
186
+ normalizedAlgorithm.name = algName;
187
+
188
+ // 9.
189
+ const dict = simpleAlgorithmDictionaries[desiredType];
190
+ // 10.
191
+ const dictKeys = dict ? Object.keys(dict) : [];
192
+ for (let i = 0; i < dictKeys.length; i++) {
193
+ const member = dictKeys[i] || '';
194
+ if (!Object.prototype.hasOwnProperty.call(dict, member)) continue;
195
+ // TODO: implement this? Maybe via typescript?
196
+ // const idlType = dict[member];
197
+ // const idlValue = normalizedAlgorithm[member];
198
+ // 3.
199
+ // if (idlType === 'BufferSource' && idlValue) {
200
+ // const isView = ArrayBufferIsView(idlValue);
201
+ // normalizedAlgorithm[member] = TypedArrayPrototypeSlice(
202
+ // new Uint8Array(
203
+ // isView ? getDataViewOrTypedArrayBuffer(idlValue) : idlValue,
204
+ // isView ? getDataViewOrTypedArrayByteOffset(idlValue) : 0,
205
+ // isView
206
+ // ? getDataViewOrTypedArrayByteLength(idlValue)
207
+ // : ArrayBufferPrototypeGetByteLength(idlValue)
208
+ // )
209
+ // );
210
+ // } else if (idlType === 'HashAlgorithmIdentifier') {
211
+ // normalizedAlgorithm[member] = normalizeAlgorithm(idlValue, 'digest');
212
+ // } else if (idlType === 'AlgorithmIdentifier') {
213
+ // // This extension point is not used by any supported algorithm (yet?)
214
+ // throw lazyDOMException('Not implemented.', 'NotSupportedError');
215
+ // }
216
+ }
217
+ return normalizedAlgorithm;
218
+ };
219
+ //# sourceMappingURL=Algorithms.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["kSupportedAlgorithms","digest","generateKey","ECDSA","ECDH","HMAC","X25519","Ed25519","X448","Ed448","sign","verify","importKey","HKDF","PBKDF2","deriveBits","encrypt","decrypt","wrapKey","unwrapKey","simpleAlgorithmDictionaries","AesGcmParams","iv","additionalData","RsaHashedKeyGenParams","hash","EcKeyGenParams","HmacKeyGenParams","RsaPssParams","EcdsaParams","HmacImportParams","HkdfParams","salt","info","Ed448Params","context","Pbkdf2Params","RsaOaepParams","label","RsaHashedImportParams","EcKeyImportParams","normalizeAlgorithm","algorithm","op","name","registeredAlgorithms","algName","undefined","desiredType","key","Object","prototype","hasOwnProperty","call","toUpperCase","Error","normalizedAlgorithm","dict","dictKeys","keys","i","length","member"],"sourceRoot":"../../src","sources":["Algorithms.ts"],"mappings":"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","ignoreList":[]}
@@ -91,6 +91,6 @@ const internalDigest = (algorithm, data) => {
91
91
  const normalizedHashName = normalizeHashName(algorithm.name);
92
92
  const hash = new Hash(normalizedHashName);
93
93
  hash.update(bufferLikeToArrayBuffer(data));
94
- return hash.digest();
94
+ return toArrayBuffer(hash.digest());
95
95
  };
96
96
  //# sourceMappingURL=Hash.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["NativeQuickCrypto","toArrayBuffer","validateMaxBufferLength","normalizeHashName","bufferLikeToArrayBuffer","Stream","Buffer","lazyDOMException","global","process","nextTick","setImmediate","createInternalHash","createHash","algorithm","options","Hash","Transform","constructor","arg","undefined","internalHash","copy","outputLength","update","data","inputEncoding","ArrayBuffer","buffer","from","_transform","chunk","encoding","callback","_flush","push","digest","result","toString","asyncDigest","name","internalDigest","normalizedHashName","hash"],"sourceRoot":"../../src","sources":["Hash.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["NativeQuickCrypto","toArrayBuffer","validateMaxBufferLength","normalizeHashName","bufferLikeToArrayBuffer","Stream","Buffer","lazyDOMException","global","process","nextTick","setImmediate","createInternalHash","createHash","algorithm","options","Hash","Transform","constructor","arg","undefined","internalHash","copy","outputLength","update","data","inputEncoding","ArrayBuffer","buffer","from","_transform","chunk","encoding","callback","_flush","push","digest","result","toString","asyncDigest","name","internalDigest","normalizedHashName","hash"],"sourceRoot":"../../src","sources":["Hash.ts"],"mappings":"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","ignoreList":[]}
@@ -83,7 +83,7 @@ export function normalizeHashName(algo, context = HashContext.Node) {
83
83
  if (alias) return alias;
84
84
  // eslint-disable-next-line @typescript-eslint/no-unused-vars
85
85
  } catch (_e) {
86
- // ignore
86
+ /* empty */
87
87
  }
88
88
  }
89
89
  throw new Error(`Invalid Hash Algorithm: ${algo}`);
@@ -1 +1 @@
1
- {"version":3,"names":["HashContext","kHashNames","sha1","Node","WebCrypto","JwkRsa","JwkRsaPss","JwkRsaOaep","JwkHmac","sha224","sha256","sha384","sha512","ripemd160","keys","Object","n","length","contexts","i","alias","toLowerCase","undefined","normalizeHashName","algo","context","name","normAlgo","toString","_e","Error"],"sourceRoot":"../../src","sources":["Hashnames.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["HashContext","kHashNames","sha1","Node","WebCrypto","JwkRsa","JwkRsaPss","JwkRsaOaep","JwkHmac","sha224","sha256","sha384","sha512","ripemd160","keys","Object","n","length","contexts","i","alias","toLowerCase","undefined","normalizeHashName","algo","context","name","normAlgo","toString","_e","Error"],"sourceRoot":"../../src","sources":["Hashnames.ts"],"mappings":"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","ignoreList":[]}
@@ -2,7 +2,6 @@
2
2
 
3
3
  import { Buffer as CraftzdogBuffer } from '@craftzdog/react-native-buffer';
4
4
  import { Buffer as SafeBuffer } from 'safe-buffer';
5
- import { Buffer as FerossBuffer } from 'buffer';
6
5
 
7
6
  // @types/node
8
7
 
@@ -92,12 +91,33 @@ export const kEmptyObject = Object.freeze(Object.create(null));
92
91
  // return slowCases(enc);
93
92
  // }
94
93
 
94
+ /**
95
+ * Converts supplied argument to an ArrayBuffer. Note this does not copy the
96
+ * data so it is faster than toArrayBuffer. Not copying is important for
97
+ * functions like randomFill which need to be able to write to the underlying
98
+ * buffer.
99
+ * @param buf
100
+ * @returns ArrayBuffer
101
+ */
102
+ export function abvToArrayBuffer(buffer) {
103
+ if (CraftzdogBuffer.isBuffer(buffer) || ArrayBuffer.isView(buffer)) {
104
+ return buffer.buffer;
105
+ }
106
+ return buffer;
107
+ }
108
+
109
+ /**
110
+ * Converts supplied argument to an ArrayBuffer. Note this copies data if the
111
+ * supplied buffer has the .slice() method, so can be a bit slow.
112
+ * @param buf
113
+ * @returns ArrayBuffer
114
+ */
95
115
  export function toArrayBuffer(buf) {
96
- if (CraftzdogBuffer.isBuffer(buf) || FerossBuffer.isBuffer(buf) || ArrayBuffer.isView(buf)) {
116
+ if (CraftzdogBuffer.isBuffer(buf) || ArrayBuffer.isView(buf)) {
97
117
  if (buf?.buffer?.slice) {
98
118
  return buf.buffer.slice(buf.byteOffset, buf.byteOffset + buf.byteLength);
99
119
  } else {
100
- return buf.buffer;
120
+ throw new Error('This implementation of buffer does not implement slice');
101
121
  }
102
122
  }
103
123
  const ab = new ArrayBuffer(buf.length);
@@ -108,7 +128,7 @@ export function toArrayBuffer(buf) {
108
128
  return ab;
109
129
  }
110
130
  export function bufferLikeToArrayBuffer(buf) {
111
- if (CraftzdogBuffer.isBuffer(buf) || FerossBuffer.isBuffer(buf) || SafeBuffer.isBuffer(buf)) {
131
+ if (CraftzdogBuffer.isBuffer(buf) || SafeBuffer.isBuffer(buf)) {
112
132
  return toArrayBuffer(buf);
113
133
  }
114
134
  if (ArrayBuffer.isView(buf)) {
@@ -129,7 +149,7 @@ encoding = 'utf-8') {
129
149
  }
130
150
 
131
151
  // Buffer
132
- if (CraftzdogBuffer.isBuffer(input) || FerossBuffer.isBuffer(input) || SafeBuffer.isBuffer(input)) {
152
+ if (CraftzdogBuffer.isBuffer(input) || SafeBuffer.isBuffer(input)) {
133
153
  return toArrayBuffer(input);
134
154
  }
135
155
 
@@ -254,228 +274,12 @@ const kMaxBufferLength = 2 ** 31 - 1;
254
274
  // // the Web Crypto API.
255
275
  // const kHashTypes = ['SHA-1', 'SHA-256', 'SHA-384', 'SHA-512'];
256
276
 
257
- const kSupportedAlgorithms = {
258
- digest: {
259
- 'SHA-1': null,
260
- 'SHA-256': null,
261
- 'SHA-384': null,
262
- 'SHA-512': null
263
- },
264
- generateKey: {
265
- 'RSASSA-PKCS1-v1_5': 'RsaHashedKeyGenParams',
266
- 'RSA-PSS': 'RsaHashedKeyGenParams',
267
- 'RSA-OAEP': 'RsaHashedKeyGenParams',
268
- ECDSA: 'EcKeyGenParams',
269
- ECDH: 'EcKeyGenParams',
270
- 'AES-CTR': 'AesKeyGenParams',
271
- 'AES-CBC': 'AesKeyGenParams',
272
- 'AES-GCM': 'AesKeyGenParams',
273
- 'AES-KW': 'AesKeyGenParams',
274
- HMAC: 'HmacKeyGenParams',
275
- X25519: null,
276
- Ed25519: null,
277
- X448: null,
278
- Ed448: null
279
- },
280
- sign: {
281
- 'RSASSA-PKCS1-v1_5': null,
282
- 'RSA-PSS': 'RsaPssParams',
283
- ECDSA: 'EcdsaParams',
284
- HMAC: null,
285
- Ed25519: null,
286
- Ed448: 'Ed448Params'
287
- },
288
- verify: {
289
- 'RSASSA-PKCS1-v1_5': null,
290
- 'RSA-PSS': 'RsaPssParams',
291
- ECDSA: 'EcdsaParams',
292
- HMAC: null,
293
- Ed25519: null,
294
- Ed448: 'Ed448Params'
295
- },
296
- importKey: {
297
- 'RSASSA-PKCS1-v1_5': 'RsaHashedImportParams',
298
- 'RSA-PSS': 'RsaHashedImportParams',
299
- 'RSA-OAEP': 'RsaHashedImportParams',
300
- ECDSA: 'EcKeyImportParams',
301
- ECDH: 'EcKeyImportParams',
302
- HMAC: 'HmacImportParams',
303
- HKDF: null,
304
- PBKDF2: null,
305
- 'AES-CTR': null,
306
- 'AES-CBC': null,
307
- 'AES-GCM': null,
308
- 'AES-KW': null,
309
- Ed25519: null,
310
- X25519: null,
311
- Ed448: null,
312
- X448: null
313
- },
314
- deriveBits: {
315
- HKDF: 'HkdfParams',
316
- PBKDF2: 'Pbkdf2Params',
317
- ECDH: 'EcdhKeyDeriveParams',
318
- X25519: 'EcdhKeyDeriveParams',
319
- X448: 'EcdhKeyDeriveParams'
320
- },
321
- encrypt: {
322
- 'RSA-OAEP': 'RsaOaepParams',
323
- 'AES-CBC': 'AesCbcParams',
324
- 'AES-GCM': 'AesGcmParams',
325
- 'AES-CTR': 'AesCtrParams'
326
- },
327
- decrypt: {
328
- 'RSA-OAEP': 'RsaOaepParams',
329
- 'AES-CBC': 'AesCbcParams',
330
- 'AES-GCM': 'AesGcmParams',
331
- 'AES-CTR': 'AesCtrParams'
332
- },
333
- 'get key length': {
334
- 'AES-CBC': 'AesDerivedKeyParams',
335
- 'AES-CTR': 'AesDerivedKeyParams',
336
- 'AES-GCM': 'AesDerivedKeyParams',
337
- 'AES-KW': 'AesDerivedKeyParams',
338
- HMAC: 'HmacImportParams',
339
- HKDF: null,
340
- PBKDF2: null
341
- },
342
- wrapKey: {
343
- 'AES-KW': null
344
- },
345
- unwrapKey: {
346
- 'AES-KW': null
347
- }
348
- };
349
- const simpleAlgorithmDictionaries = {
350
- AesGcmParams: {
351
- iv: 'BufferSource',
352
- additionalData: 'BufferSource'
353
- },
354
- RsaHashedKeyGenParams: {
355
- hash: 'HashAlgorithmIdentifier'
356
- },
357
- EcKeyGenParams: {},
358
- HmacKeyGenParams: {
359
- hash: 'HashAlgorithmIdentifier'
360
- },
361
- RsaPssParams: {},
362
- EcdsaParams: {
363
- hash: 'HashAlgorithmIdentifier'
364
- },
365
- HmacImportParams: {
366
- hash: 'HashAlgorithmIdentifier'
367
- },
368
- HkdfParams: {
369
- hash: 'HashAlgorithmIdentifier',
370
- salt: 'BufferSource',
371
- info: 'BufferSource'
372
- },
373
- Ed448Params: {
374
- context: 'BufferSource'
375
- },
376
- Pbkdf2Params: {
377
- hash: 'HashAlgorithmIdentifier',
378
- salt: 'BufferSource'
379
- },
380
- RsaOaepParams: {
381
- label: 'BufferSource'
382
- },
383
- RsaHashedImportParams: {
384
- hash: 'HashAlgorithmIdentifier'
385
- },
386
- EcKeyImportParams: {}
387
- };
388
277
  export const validateMaxBufferLength = (data, name) => {
389
278
  const length = typeof data === 'string' || data instanceof SafeBuffer ? data.length : data.byteLength;
390
279
  if (length > kMaxBufferLength) {
391
280
  throw lazyDOMException(`${name} must be less than ${kMaxBufferLength + 1} bits`, 'OperationError');
392
281
  }
393
282
  };
394
-
395
- // https://w3c.github.io/webcrypto/#algorithm-normalization-normalize-an-algorithm
396
- // adapted for Node.js from Deno's implementation
397
- // https://github.com/denoland/deno/blob/v1.29.1/ext/crypto/00_crypto.js#L195
398
- export const normalizeAlgorithm = (algorithm, op) => {
399
- if (typeof algorithm === 'string') {
400
- return normalizeAlgorithm({
401
- name: algorithm
402
- }, op);
403
- }
404
-
405
- // 1.
406
- const registeredAlgorithms = kSupportedAlgorithms[op];
407
- // 2. 3.
408
- // commented, because typescript takes care of this for us 🤞👀
409
- // const initialAlg = webidl.converters.Algorithm(algorithm, {
410
- // prefix: 'Failed to normalize algorithm',
411
- // context: 'passed algorithm',
412
- // });
413
-
414
- // 4.
415
- let algName = algorithm.name;
416
- if (algName === undefined) return {
417
- name: 'unknown'
418
- };
419
-
420
- // 5.
421
- let desiredType;
422
- for (const key in registeredAlgorithms) {
423
- if (!Object.prototype.hasOwnProperty.call(registeredAlgorithms, key)) {
424
- continue;
425
- }
426
- if (key.toUpperCase() === algName.toUpperCase()) {
427
- algName = key;
428
- desiredType = registeredAlgorithms[algName];
429
- }
430
- }
431
- if (desiredType === undefined) throw lazyDOMException('Unrecognized algorithm name', 'NotSupportedError');
432
-
433
- // Fast path everything below if the registered dictionary is null
434
- if (desiredType === null) return {
435
- name: algName
436
- };
437
-
438
- // 6.
439
- const normalizedAlgorithm = algorithm;
440
- // TODO: implement this? Maybe via typescript?
441
- // webidl.converters[desiredType](algorithm, {
442
- // prefix: 'Failed to normalize algorithm',
443
- // context: 'passed algorithm',
444
- // });
445
- // 7.
446
- normalizedAlgorithm.name = algName;
447
-
448
- // 9.
449
- const dict = simpleAlgorithmDictionaries[desiredType];
450
- // 10.
451
- const dictKeys = dict ? Object.keys(dict) : [];
452
- for (let i = 0; i < dictKeys.length; i++) {
453
- const member = dictKeys[i] || '';
454
- if (!Object.prototype.hasOwnProperty.call(dict, member)) continue;
455
- // TODO: implement this? Maybe via typescript?
456
- // const idlType = dict[member];
457
- // const idlValue = normalizedAlgorithm[member];
458
- // 3.
459
- // if (idlType === 'BufferSource' && idlValue) {
460
- // const isView = ArrayBufferIsView(idlValue);
461
- // normalizedAlgorithm[member] = TypedArrayPrototypeSlice(
462
- // new Uint8Array(
463
- // isView ? getDataViewOrTypedArrayBuffer(idlValue) : idlValue,
464
- // isView ? getDataViewOrTypedArrayByteOffset(idlValue) : 0,
465
- // isView
466
- // ? getDataViewOrTypedArrayByteLength(idlValue)
467
- // : ArrayBufferPrototypeGetByteLength(idlValue)
468
- // )
469
- // );
470
- // } else if (idlType === 'HashAlgorithmIdentifier') {
471
- // normalizedAlgorithm[member] = normalizeAlgorithm(idlValue, 'digest');
472
- // } else if (idlType === 'AlgorithmIdentifier') {
473
- // // This extension point is not used by any supported algorithm (yet?)
474
- // throw lazyDOMException('Not implemented.', 'NotSupportedError');
475
- // }
476
- }
477
- return normalizedAlgorithm;
478
- };
479
283
  export const validateBitLength = (length, name, required = false) => {
480
284
  if (length !== undefined || required) {
481
285
  // validateNumber(length, name);
@@ -553,15 +357,6 @@ export const bigIntArrayToUnsignedInt = input => {
553
357
  }
554
358
  return result;
555
359
  };
556
- export function abvToArrayBuffer(buffer) {
557
- if (CraftzdogBuffer.isBuffer(buffer)) {
558
- return buffer.buffer;
559
- }
560
- if (ArrayBuffer.isView(buffer)) {
561
- return buffer.buffer;
562
- }
563
- return buffer;
564
- }
565
360
 
566
361
  // TODO: these used to be shipped by crypto-browserify in quickcrypto v0.6
567
362
  // could instead fetch from OpenSSL if needed and handle breaking changes