react-native-quick-crypto 1.1.1 → 1.1.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.
- package/QuickCrypto.podspec +1 -0
- package/android/CMakeLists.txt +4 -0
- package/cpp/cipher/CCMCipher.cpp +7 -11
- package/cpp/cipher/ChaCha20Cipher.cpp +6 -10
- package/cpp/cipher/ChaCha20Poly1305Cipher.cpp +10 -16
- package/cpp/cipher/GCMCipher.cpp +3 -5
- package/cpp/cipher/HybridCipher.cpp +7 -13
- package/cpp/cipher/HybridRsaCipher.cpp +19 -27
- package/cpp/cipher/OCBCipher.cpp +2 -3
- package/cpp/cipher/XChaCha20Poly1305Cipher.cpp +13 -19
- package/cpp/cipher/XSalsa20Cipher.cpp +8 -12
- package/cpp/cipher/XSalsa20Poly1305Cipher.cpp +11 -16
- package/cpp/keys/HybridKeyObjectHandle.cpp +630 -2
- package/cpp/keys/HybridKeyObjectHandle.hpp +21 -1
- package/cpp/sign/HybridSignHandle.cpp +26 -8
- package/cpp/sign/HybridVerifyHandle.cpp +28 -11
- package/cpp/slhdsa/HybridSlhDsaKeyPair.cpp +245 -0
- package/cpp/slhdsa/HybridSlhDsaKeyPair.hpp +48 -0
- package/cpp/turboshake/HybridTurboShake.cpp +379 -0
- package/cpp/turboshake/HybridTurboShake.hpp +28 -0
- package/cpp/utils/HybridUtils.cpp +26 -14
- package/deps/blake3/README.md +6 -7
- package/deps/blake3/c/blake3.c +3 -2
- package/deps/blake3/c/blake3.h +2 -2
- package/deps/blake3/c/blake3_dispatch.c +2 -2
- package/deps/blake3/c/blake3_impl.h +1 -1
- package/deps/blake3/c/blake3_neon.c +5 -4
- package/deps/ncrypto/include/ncrypto/version.h +2 -2
- package/deps/ncrypto/include/ncrypto.h +9 -2
- package/deps/ncrypto/src/ncrypto.cpp +130 -35
- package/lib/commonjs/dhKeyPair.js +3 -0
- package/lib/commonjs/dhKeyPair.js.map +1 -1
- package/lib/commonjs/dsa.js +3 -0
- package/lib/commonjs/dsa.js.map +1 -1
- package/lib/commonjs/ec.js +37 -30
- package/lib/commonjs/ec.js.map +1 -1
- package/lib/commonjs/ed.js +60 -6
- package/lib/commonjs/ed.js.map +1 -1
- package/lib/commonjs/hash.js +52 -5
- package/lib/commonjs/hash.js.map +1 -1
- package/lib/commonjs/keys/classes.js +33 -7
- package/lib/commonjs/keys/classes.js.map +1 -1
- package/lib/commonjs/keys/generateKeyPair.js +85 -4
- package/lib/commonjs/keys/generateKeyPair.js.map +1 -1
- package/lib/commonjs/keys/index.js +50 -2
- package/lib/commonjs/keys/index.js.map +1 -1
- package/lib/commonjs/keys/signVerify.js +9 -2
- package/lib/commonjs/keys/signVerify.js.map +1 -1
- package/lib/commonjs/keys/utils.js +59 -1
- package/lib/commonjs/keys/utils.js.map +1 -1
- package/lib/commonjs/random.js +63 -9
- package/lib/commonjs/random.js.map +1 -1
- package/lib/commonjs/rsa.js +3 -0
- package/lib/commonjs/rsa.js.map +1 -1
- package/lib/commonjs/slhdsa.js +70 -0
- package/lib/commonjs/slhdsa.js.map +1 -0
- package/lib/commonjs/specs/slhDsaKeyPair.nitro.js +6 -0
- package/lib/commonjs/specs/slhDsaKeyPair.nitro.js.map +1 -0
- package/lib/commonjs/specs/turboshake.nitro.js +6 -0
- package/lib/commonjs/specs/turboshake.nitro.js.map +1 -0
- package/lib/commonjs/subtle.js +926 -275
- package/lib/commonjs/subtle.js.map +1 -1
- package/lib/commonjs/utils/conversion.js +53 -19
- package/lib/commonjs/utils/conversion.js.map +1 -1
- package/lib/commonjs/utils/errors.js +63 -4
- package/lib/commonjs/utils/errors.js.map +1 -1
- package/lib/commonjs/utils/types.js.map +1 -1
- package/lib/commonjs/utils/validation.js +46 -0
- package/lib/commonjs/utils/validation.js.map +1 -1
- package/lib/module/dhKeyPair.js +3 -0
- package/lib/module/dhKeyPair.js.map +1 -1
- package/lib/module/dsa.js +3 -0
- package/lib/module/dsa.js.map +1 -1
- package/lib/module/ec.js +38 -31
- package/lib/module/ec.js.map +1 -1
- package/lib/module/ed.js +61 -7
- package/lib/module/ed.js.map +1 -1
- package/lib/module/hash.js +52 -5
- package/lib/module/hash.js.map +1 -1
- package/lib/module/keys/classes.js +31 -5
- package/lib/module/keys/classes.js.map +1 -1
- package/lib/module/keys/generateKeyPair.js +86 -5
- package/lib/module/keys/generateKeyPair.js.map +1 -1
- package/lib/module/keys/index.js +50 -2
- package/lib/module/keys/index.js.map +1 -1
- package/lib/module/keys/signVerify.js +9 -2
- package/lib/module/keys/signVerify.js.map +1 -1
- package/lib/module/keys/utils.js +57 -1
- package/lib/module/keys/utils.js.map +1 -1
- package/lib/module/random.js +63 -10
- package/lib/module/random.js.map +1 -1
- package/lib/module/rsa.js +3 -0
- package/lib/module/rsa.js.map +1 -1
- package/lib/module/slhdsa.js +64 -0
- package/lib/module/slhdsa.js.map +1 -0
- package/lib/module/specs/slhDsaKeyPair.nitro.js +4 -0
- package/lib/module/specs/slhDsaKeyPair.nitro.js.map +1 -0
- package/lib/module/specs/turboshake.nitro.js +4 -0
- package/lib/module/specs/turboshake.nitro.js.map +1 -0
- package/lib/module/subtle.js +927 -276
- package/lib/module/subtle.js.map +1 -1
- package/lib/module/utils/conversion.js +51 -19
- package/lib/module/utils/conversion.js.map +1 -1
- package/lib/module/utils/errors.js +61 -4
- package/lib/module/utils/errors.js.map +1 -1
- package/lib/module/utils/types.js.map +1 -1
- package/lib/module/utils/validation.js +44 -0
- package/lib/module/utils/validation.js.map +1 -1
- package/lib/typescript/dhKeyPair.d.ts.map +1 -1
- package/lib/typescript/dsa.d.ts.map +1 -1
- package/lib/typescript/ec.d.ts.map +1 -1
- package/lib/typescript/ed.d.ts.map +1 -1
- package/lib/typescript/hash.d.ts.map +1 -1
- package/lib/typescript/index.d.ts +12 -7
- package/lib/typescript/index.d.ts.map +1 -1
- package/lib/typescript/keys/classes.d.ts +10 -1
- package/lib/typescript/keys/classes.d.ts.map +1 -1
- package/lib/typescript/keys/generateKeyPair.d.ts +12 -1
- package/lib/typescript/keys/generateKeyPair.d.ts.map +1 -1
- package/lib/typescript/keys/index.d.ts +3 -1
- package/lib/typescript/keys/index.d.ts.map +1 -1
- package/lib/typescript/keys/signVerify.d.ts.map +1 -1
- package/lib/typescript/keys/utils.d.ts +21 -4
- package/lib/typescript/keys/utils.d.ts.map +1 -1
- package/lib/typescript/random.d.ts +5 -1
- package/lib/typescript/random.d.ts.map +1 -1
- package/lib/typescript/rsa.d.ts.map +1 -1
- package/lib/typescript/slhdsa.d.ts +19 -0
- package/lib/typescript/slhdsa.d.ts.map +1 -0
- package/lib/typescript/specs/keyObjectHandle.nitro.d.ts +9 -0
- package/lib/typescript/specs/keyObjectHandle.nitro.d.ts.map +1 -1
- package/lib/typescript/specs/slhDsaKeyPair.nitro.d.ts +16 -0
- package/lib/typescript/specs/slhDsaKeyPair.nitro.d.ts.map +1 -0
- package/lib/typescript/specs/turboshake.nitro.d.ts +11 -0
- package/lib/typescript/specs/turboshake.nitro.d.ts.map +1 -0
- package/lib/typescript/subtle.d.ts +3 -2
- package/lib/typescript/subtle.d.ts.map +1 -1
- package/lib/typescript/utils/conversion.d.ts +4 -3
- package/lib/typescript/utils/conversion.d.ts.map +1 -1
- package/lib/typescript/utils/errors.d.ts +12 -0
- package/lib/typescript/utils/errors.d.ts.map +1 -1
- package/lib/typescript/utils/types.d.ts +32 -15
- package/lib/typescript/utils/types.d.ts.map +1 -1
- package/lib/typescript/utils/validation.d.ts +3 -1
- package/lib/typescript/utils/validation.d.ts.map +1 -1
- package/nitrogen/generated/android/QuickCrypto+autolinking.cmake +2 -0
- package/nitrogen/generated/android/QuickCryptoOnLoad.cpp +20 -0
- package/nitrogen/generated/ios/QuickCryptoAutolinking.mm +20 -0
- package/nitrogen/generated/shared/c++/AsymmetricKeyType.hpp +48 -0
- package/nitrogen/generated/shared/c++/HybridKeyObjectHandleSpec.cpp +9 -0
- package/nitrogen/generated/shared/c++/HybridKeyObjectHandleSpec.hpp +9 -0
- package/nitrogen/generated/shared/c++/HybridSlhDsaKeyPairSpec.cpp +29 -0
- package/nitrogen/generated/shared/c++/HybridSlhDsaKeyPairSpec.hpp +72 -0
- package/nitrogen/generated/shared/c++/HybridTurboShakeSpec.cpp +22 -0
- package/nitrogen/generated/shared/c++/HybridTurboShakeSpec.hpp +70 -0
- package/nitrogen/generated/shared/c++/JWK.hpp +9 -1
- package/nitrogen/generated/shared/c++/JWKkty.hpp +4 -0
- package/nitrogen/generated/shared/c++/KangarooTwelveVariant.hpp +76 -0
- package/nitrogen/generated/shared/c++/TurboShakeVariant.hpp +76 -0
- package/package.json +2 -3
- package/src/dhKeyPair.ts +8 -0
- package/src/dsa.ts +8 -0
- package/src/ec.ts +52 -29
- package/src/ed.ts +95 -16
- package/src/hash.ts +108 -5
- package/src/keys/classes.ts +46 -5
- package/src/keys/generateKeyPair.ts +151 -5
- package/src/keys/index.ts +73 -3
- package/src/keys/signVerify.ts +13 -2
- package/src/keys/utils.ts +78 -5
- package/src/random.ts +93 -9
- package/src/rsa.ts +8 -0
- package/src/slhdsa.ts +146 -0
- package/src/specs/keyObjectHandle.nitro.ts +17 -0
- package/src/specs/slhDsaKeyPair.nitro.ts +29 -0
- package/src/specs/turboshake.nitro.ts +21 -0
- package/src/subtle.ts +1191 -360
- package/src/utils/conversion.ts +72 -21
- package/src/utils/errors.ts +72 -4
- package/src/utils/types.ts +80 -15
- package/src/utils/validation.ts +70 -1
package/lib/module/keys/utils.js
CHANGED
|
@@ -5,6 +5,21 @@ import { binaryLikeToArrayBuffer, isStringOrBuffer, KeyEncoding, KFormatType } f
|
|
|
5
5
|
export const isCryptoKey = obj => {
|
|
6
6
|
return obj !== null && obj?.keyObject !== undefined;
|
|
7
7
|
};
|
|
8
|
+
export function exportPublicKeyRaw(pub, pointType) {
|
|
9
|
+
if (pub.asymmetricKeyType === 'ec') {
|
|
10
|
+
return pub.handle.exportECPublicRaw(pointType === 'compressed');
|
|
11
|
+
}
|
|
12
|
+
return pub.handle.exportRawPublic();
|
|
13
|
+
}
|
|
14
|
+
export function exportPrivateKeyRaw(priv, format) {
|
|
15
|
+
if (format === 'raw-seed') {
|
|
16
|
+
return priv.handle.exportRawSeed();
|
|
17
|
+
}
|
|
18
|
+
if (priv.asymmetricKeyType === 'ec') {
|
|
19
|
+
return priv.handle.exportECPrivateRaw();
|
|
20
|
+
}
|
|
21
|
+
return priv.handle.exportRawPrivate();
|
|
22
|
+
}
|
|
8
23
|
export function getCryptoKeyPair(key) {
|
|
9
24
|
if ('publicKey' in key && 'privateKey' in key) return key;
|
|
10
25
|
throw new Error('Invalid CryptoKeyPair');
|
|
@@ -35,6 +50,17 @@ export function parseKeyEncoding(enc, keyType, isPublic, objName) {
|
|
|
35
50
|
format,
|
|
36
51
|
type
|
|
37
52
|
} = parseKeyFormatAndType(enc, keyType, isPublic, objName);
|
|
53
|
+
if (format === 'raw-public' || format === 'raw-private' || format === 'raw-seed') {
|
|
54
|
+
if (enc.cipher != null || enc.passphrase !== undefined) {
|
|
55
|
+
throw new Error(`Incompatible key options: ${format} does not support encryption`);
|
|
56
|
+
}
|
|
57
|
+
return {
|
|
58
|
+
format,
|
|
59
|
+
type,
|
|
60
|
+
cipher: undefined,
|
|
61
|
+
passphrase: undefined
|
|
62
|
+
};
|
|
63
|
+
}
|
|
38
64
|
let cipher, passphrase, encoding;
|
|
39
65
|
if (isPublic !== true) {
|
|
40
66
|
({
|
|
@@ -74,7 +100,7 @@ function option(name, objName) {
|
|
|
74
100
|
return objName === undefined ? `options.${name}` : `options.${objName}.${name}`;
|
|
75
101
|
}
|
|
76
102
|
function parseKeyFormat(formatStr, defaultFormat, optionName) {
|
|
77
|
-
if (formatStr === undefined && defaultFormat !== undefined) return defaultFormat;else if (formatStr === 'pem') return KFormatType.PEM;else if (formatStr === 'der') return KFormatType.DER;else if (formatStr === 'jwk') return KFormatType.JWK;
|
|
103
|
+
if (formatStr === undefined && defaultFormat !== undefined) return defaultFormat;else if (formatStr === 'pem') return KFormatType.PEM;else if (formatStr === 'der') return KFormatType.DER;else if (formatStr === 'jwk') return KFormatType.JWK;else if (formatStr === 'raw-public') return 'raw-public';else if (formatStr === 'raw-private') return 'raw-private';else if (formatStr === 'raw-seed') return 'raw-seed';
|
|
78
104
|
throw new Error(`Invalid key format str: ${optionName}`);
|
|
79
105
|
}
|
|
80
106
|
function parseKeyType(typeStr, required, keyType, isPublic, optionName) {
|
|
@@ -104,6 +130,36 @@ function parseKeyFormatAndType(enc, keyType, isPublic, objName) {
|
|
|
104
130
|
} = enc;
|
|
105
131
|
const isInput = keyType === undefined;
|
|
106
132
|
const format = parseKeyFormat(formatStr, isInput ? KFormatType.PEM : undefined, option('format', objName));
|
|
133
|
+
if (format === 'raw-public') {
|
|
134
|
+
if (isPublic === false) {
|
|
135
|
+
throw new Error(`Invalid format 'raw-public' for ${option('format', objName)}`);
|
|
136
|
+
}
|
|
137
|
+
if (typeStr === undefined || typeStr === 'uncompressed') {
|
|
138
|
+
return {
|
|
139
|
+
format,
|
|
140
|
+
type: 'uncompressed'
|
|
141
|
+
};
|
|
142
|
+
}
|
|
143
|
+
if (typeStr === 'compressed') {
|
|
144
|
+
return {
|
|
145
|
+
format,
|
|
146
|
+
type: 'compressed'
|
|
147
|
+
};
|
|
148
|
+
}
|
|
149
|
+
throw new Error(`Invalid ${option('type', objName)} for raw-public: ${typeStr}`);
|
|
150
|
+
}
|
|
151
|
+
if (format === 'raw-private' || format === 'raw-seed') {
|
|
152
|
+
if (isPublic === true) {
|
|
153
|
+
throw new Error(`Invalid format '${format}' for ${option('format', objName)}`);
|
|
154
|
+
}
|
|
155
|
+
if (typeStr !== undefined) {
|
|
156
|
+
throw new Error(`Invalid ${option('type', objName)} for ${format}: ${typeStr}`);
|
|
157
|
+
}
|
|
158
|
+
return {
|
|
159
|
+
format,
|
|
160
|
+
type: undefined
|
|
161
|
+
};
|
|
162
|
+
}
|
|
107
163
|
const isRequired = (!isInput || format === KFormatType.DER) && format !== KFormatType.JWK;
|
|
108
164
|
const type = parseKeyType(typeStr, isRequired, keyType, isPublic, option('type', objName));
|
|
109
165
|
return {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["binaryLikeToArrayBuffer","isStringOrBuffer","KeyEncoding","KFormatType","isCryptoKey","obj","keyObject","undefined","getCryptoKeyPair","key","Error","parsePublicKeyEncoding","enc","keyType","objName","parseKeyEncoding","parsePrivateKeyEncoding","isPublic","isInput","
|
|
1
|
+
{"version":3,"names":["binaryLikeToArrayBuffer","isStringOrBuffer","KeyEncoding","KFormatType","isCryptoKey","obj","keyObject","undefined","exportPublicKeyRaw","pub","pointType","asymmetricKeyType","handle","exportECPublicRaw","exportRawPublic","exportPrivateKeyRaw","priv","format","exportRawSeed","exportECPrivateRaw","exportRawPrivate","getCryptoKeyPair","key","Error","parsePublicKeyEncoding","enc","keyType","objName","parseKeyEncoding","parsePrivateKeyEncoding","isPublic","isInput","type","parseKeyFormatAndType","cipher","passphrase","encoding","option","DER","PKCS1","SEC1","encodingNames","PKCS8","SPKI","name","parseKeyFormat","formatStr","defaultFormat","optionName","PEM","JWK","parseKeyType","typeStr","required","isRequired"],"sourceRoot":"../../../src","sources":["keys/utils.ts"],"mappings":"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","ignoreList":[]}
|
package/lib/module/random.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
import { Buffer } from '@craftzdog/react-native-buffer';
|
|
4
|
-
import { abvToArrayBuffer } from './utils';
|
|
4
|
+
import { abvToArrayBuffer, lazyDOMException, QuotaExceededError, rejectSharedArrayBuffer } from './utils';
|
|
5
5
|
import { NitroModules } from 'react-native-nitro-modules';
|
|
6
6
|
// to use native bits in sub-functions, use getNative(). don't call it at top-level!
|
|
7
7
|
let random;
|
|
@@ -199,6 +199,16 @@ function asyncRefillRandomIntCache() {
|
|
|
199
199
|
// not allowed to exceed 65536 bytes, and can only
|
|
200
200
|
// be an integer-type TypedArray.
|
|
201
201
|
|
|
202
|
+
// WebCrypto §getRandomValues only accepts integer-typed views. Float and
|
|
203
|
+
// non-TypedArray ABVs (DataView) must be rejected with a TypeMismatchError
|
|
204
|
+
// DOMException — see https://w3c.github.io/webcrypto/#Crypto-method-getRandomValues
|
|
205
|
+
const INTEGER_TYPED_ARRAY_TAGS = new Set(['Int8Array', 'Int16Array', 'Int32Array', 'Uint8Array', 'Uint8ClampedArray', 'Uint16Array', 'Uint32Array', 'BigInt64Array', 'BigUint64Array']);
|
|
206
|
+
function isIntegerTypedArray(value) {
|
|
207
|
+
if (!ArrayBuffer.isView(value)) return false;
|
|
208
|
+
const tag = value[Symbol.toStringTag];
|
|
209
|
+
return tag !== undefined && INTEGER_TYPED_ARRAY_TAGS.has(tag);
|
|
210
|
+
}
|
|
211
|
+
|
|
202
212
|
/**
|
|
203
213
|
* Fills the provided typed array with cryptographically strong random values.
|
|
204
214
|
*
|
|
@@ -206,8 +216,21 @@ function asyncRefillRandomIntCache() {
|
|
|
206
216
|
* @returns The filled data
|
|
207
217
|
*/
|
|
208
218
|
export function getRandomValues(data) {
|
|
219
|
+
// WebIDL BufferSource conversion (TypeError) must run before the
|
|
220
|
+
// WebCrypto-specific integer-type / size checks (TypeMismatchError /
|
|
221
|
+
// QuotaExceededError). `randomFillSync` below also rejects SAB via
|
|
222
|
+
// `abvToArrayBuffer`, but by then we'd already have thrown the wrong
|
|
223
|
+
// error type for a non-integer SAB-view, so the explicit early call is
|
|
224
|
+
// load-bearing for spec compliance — not redundant.
|
|
225
|
+
rejectSharedArrayBuffer(data);
|
|
226
|
+
if (!isIntegerTypedArray(data)) {
|
|
227
|
+
throw lazyDOMException('The data argument must be an integer-type TypedArray', 'TypeMismatchError');
|
|
228
|
+
}
|
|
209
229
|
if (data.byteLength > 65536) {
|
|
210
|
-
throw new
|
|
230
|
+
throw new QuotaExceededError('The requested length exceeds 65,536 bytes', {
|
|
231
|
+
quota: 65536,
|
|
232
|
+
requested: data.byteLength
|
|
233
|
+
});
|
|
211
234
|
}
|
|
212
235
|
randomFillSync(data, 0);
|
|
213
236
|
return data;
|
|
@@ -216,16 +239,46 @@ const byteToHex = [];
|
|
|
216
239
|
for (let i = 0; i < 256; ++i) {
|
|
217
240
|
byteToHex.push((i + 0x100).toString(16).slice(1));
|
|
218
241
|
}
|
|
242
|
+
function validateRandomUUIDOptions(options) {
|
|
243
|
+
if (options === undefined) return;
|
|
244
|
+
if (typeof options !== 'object' || options === null) {
|
|
245
|
+
throw new TypeError('options must be an object');
|
|
246
|
+
}
|
|
247
|
+
if (options.disableEntropyCache !== undefined && typeof options.disableEntropyCache !== 'boolean') {
|
|
248
|
+
throw new TypeError('options.disableEntropyCache must be a boolean');
|
|
249
|
+
}
|
|
250
|
+
}
|
|
219
251
|
|
|
220
|
-
//
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
const buffer = new Buffer(size);
|
|
224
|
-
randomFillSync(buffer, 0, size);
|
|
225
|
-
|
|
226
|
-
// Per 4.4, set bits for version and `clock_seq_hi_and_reserved`
|
|
227
|
-
buffer[6] = buffer[6] & 0x0f | 0x40;
|
|
252
|
+
// RFC 9562 variant 10xx is shared by v4 and v7.
|
|
253
|
+
function serializeUUID(buffer, version) {
|
|
254
|
+
buffer[6] = buffer[6] & 0x0f | version << 4;
|
|
228
255
|
buffer[8] = buffer[8] & 0x3f | 0x80;
|
|
229
256
|
return (byteToHex[buffer[0]] + byteToHex[buffer[1]] + byteToHex[buffer[2]] + byteToHex[buffer[3]] + '-' + byteToHex[buffer[4]] + byteToHex[buffer[5]] + '-' + byteToHex[buffer[6]] + byteToHex[buffer[7]] + '-' + byteToHex[buffer[8]] + byteToHex[buffer[9]] + '-' + byteToHex[buffer[10]] + byteToHex[buffer[11]] + byteToHex[buffer[12]] + byteToHex[buffer[13]] + byteToHex[buffer[14]] + byteToHex[buffer[15]]).toLowerCase();
|
|
230
257
|
}
|
|
258
|
+
|
|
259
|
+
// RFC 9562 §5.4 — random UUID (v4).
|
|
260
|
+
export function randomUUID(options) {
|
|
261
|
+
validateRandomUUIDOptions(options);
|
|
262
|
+
const buffer = new Buffer(16);
|
|
263
|
+
randomFillSync(buffer, 0, 16);
|
|
264
|
+
return serializeUUID(buffer, 4);
|
|
265
|
+
}
|
|
266
|
+
|
|
267
|
+
// RFC 9562 §5.7 — Unix-ms timestamped UUID (v7).
|
|
268
|
+
// Layout: 48-bit big-endian Unix-ms timestamp | 4-bit version (7) |
|
|
269
|
+
// 12 bits random | 2-bit variant (10) | 62 bits random.
|
|
270
|
+
export function randomUUIDv7(options) {
|
|
271
|
+
validateRandomUUIDOptions(options);
|
|
272
|
+
const buffer = new Buffer(16);
|
|
273
|
+
randomFillSync(buffer, 6, 10);
|
|
274
|
+
const now = Date.now();
|
|
275
|
+
const msb = Math.floor(now / 0x100000000);
|
|
276
|
+
buffer[0] = msb >>> 8 & 0xff;
|
|
277
|
+
buffer[1] = msb & 0xff;
|
|
278
|
+
buffer[2] = now >>> 24 & 0xff;
|
|
279
|
+
buffer[3] = now >>> 16 & 0xff;
|
|
280
|
+
buffer[4] = now >>> 8 & 0xff;
|
|
281
|
+
buffer[5] = now & 0xff;
|
|
282
|
+
return serializeUUID(buffer, 7);
|
|
283
|
+
}
|
|
231
284
|
//# sourceMappingURL=random.js.map
|
package/lib/module/random.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["Buffer","abvToArrayBuffer","NitroModules","random","getNative","createHybridObject","randomFill","buffer","rest","length","Error","callback","viewOffset","ArrayBuffer","isView","byteOffset","viewLength","byteLength","offset","size","ab","start","then","res","Uint8Array","set","e","randomFillSync","arrayBuffer","randomBytes","buf","undefined","error","from","rng","pseudoRandomBytes","prng","RAND_MAX","randomCache","randomCacheOffset","asyncCacheFillInProgress","asyncCachePendingTasks","randomInt","arg1","arg2","max","min","minNotSpecified","TypeError","isSync","Number","isSafeInteger","range","randLimit","x","readUIntBE","n","process","nextTick","push","asyncRefillRandomIntCache","err","tasks","errorReceiver","shift","splice","forEach","task","getRandomValues","data","byteToHex","i","toString","slice","
|
|
1
|
+
{"version":3,"names":["Buffer","abvToArrayBuffer","lazyDOMException","QuotaExceededError","rejectSharedArrayBuffer","NitroModules","random","getNative","createHybridObject","randomFill","buffer","rest","length","Error","callback","viewOffset","ArrayBuffer","isView","byteOffset","viewLength","byteLength","offset","size","ab","start","then","res","Uint8Array","set","e","randomFillSync","arrayBuffer","randomBytes","buf","undefined","error","from","rng","pseudoRandomBytes","prng","RAND_MAX","randomCache","randomCacheOffset","asyncCacheFillInProgress","asyncCachePendingTasks","randomInt","arg1","arg2","max","min","minNotSpecified","TypeError","isSync","Number","isSafeInteger","range","randLimit","x","readUIntBE","n","process","nextTick","push","asyncRefillRandomIntCache","err","tasks","errorReceiver","shift","splice","forEach","task","INTEGER_TYPED_ARRAY_TAGS","Set","isIntegerTypedArray","value","tag","Symbol","toStringTag","has","getRandomValues","data","quota","requested","byteToHex","i","toString","slice","validateRandomUUIDOptions","options","disableEntropyCache","serializeUUID","version","toLowerCase","randomUUID","randomUUIDv7","now","Date","msb","Math","floor"],"sourceRoot":"../../src","sources":["random.ts"],"mappings":"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","ignoreList":[]}
|
package/lib/module/rsa.js
CHANGED
|
@@ -160,6 +160,9 @@ function rsa_formatKeyPairOutput(rsa, encoding) {
|
|
|
160
160
|
const priv = KeyObject.createKeyObject('private', privateKeyData);
|
|
161
161
|
let publicKey;
|
|
162
162
|
let privateKey;
|
|
163
|
+
if (publicFormat === 'raw-public' || privateFormat === 'raw-private' || privateFormat === 'raw-seed') {
|
|
164
|
+
throw new Error('Raw key formats are not supported for RSA keys');
|
|
165
|
+
}
|
|
163
166
|
if (publicFormat === -1) {
|
|
164
167
|
publicKey = pub;
|
|
165
168
|
} else {
|
package/lib/module/rsa.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["NitroModules","Buffer","CryptoKey","KeyObject","getUsagesUnion","hasAnyNotIn","lazyDOMException","normalizeHashName","KFormatType","KeyEncoding","Rsa","constructor","modulusLength","publicExponent","hashAlgorithm","native","createHybridObject","setModulusLength","setPublicExponent","buffer","slice","byteOffset","byteLength","setHashAlgorithm","generateKeyPair","publicKey","getPublicKey","privateKey","getPrivateKey","generateKeyPairSync","RSA_MIN_MODULUS_LENGTH","rsa_generateKeyPair","algorithm","extractable","keyUsages","name","hash","length","hashName","normalizedHash","publicUsages","privateUsages","rsa","keyAlgorithm","publicKeyData","pub","createKeyObject","privateKeyData","priv","rsa_prepareKeyGenParams","_type","options","Error","RangeError","pubExp","pubExpBytes","Uint8Array","rsa_formatKeyPairOutput","encoding","publicFormat","publicType","privateFormat","privateType","cipher","passphrase","format","PEM","DER","keyEncoding","SPKI","PKCS1","exported","handle","exportKey","from","toString","PKCS8","rsa_generateKeyPairNode","type","rsa_generateKeyPairNodeSync"],"sourceRoot":"../../src","sources":["rsa.ts"],"mappings":"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
|
|
1
|
+
{"version":3,"names":["NitroModules","Buffer","CryptoKey","KeyObject","getUsagesUnion","hasAnyNotIn","lazyDOMException","normalizeHashName","KFormatType","KeyEncoding","Rsa","constructor","modulusLength","publicExponent","hashAlgorithm","native","createHybridObject","setModulusLength","setPublicExponent","buffer","slice","byteOffset","byteLength","setHashAlgorithm","generateKeyPair","publicKey","getPublicKey","privateKey","getPrivateKey","generateKeyPairSync","RSA_MIN_MODULUS_LENGTH","rsa_generateKeyPair","algorithm","extractable","keyUsages","name","hash","length","hashName","normalizedHash","publicUsages","privateUsages","rsa","keyAlgorithm","publicKeyData","pub","createKeyObject","privateKeyData","priv","rsa_prepareKeyGenParams","_type","options","Error","RangeError","pubExp","pubExpBytes","Uint8Array","rsa_formatKeyPairOutput","encoding","publicFormat","publicType","privateFormat","privateType","cipher","passphrase","format","PEM","DER","keyEncoding","SPKI","PKCS1","exported","handle","exportKey","from","toString","PKCS8","rsa_generateKeyPairNode","type","rsa_generateKeyPairNodeSync"],"sourceRoot":"../../src","sources":["rsa.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { NitroModules } from 'react-native-nitro-modules';
|
|
4
|
+
import { CryptoKey, KeyObject } from './keys/classes';
|
|
5
|
+
import { hasAnyNotIn, lazyDOMException, getUsagesUnion, KFormatType, KeyEncoding } from './utils';
|
|
6
|
+
export const SLH_DSA_VARIANTS = ['SLH-DSA-SHA2-128s', 'SLH-DSA-SHA2-128f', 'SLH-DSA-SHA2-192s', 'SLH-DSA-SHA2-192f', 'SLH-DSA-SHA2-256s', 'SLH-DSA-SHA2-256f', 'SLH-DSA-SHAKE-128s', 'SLH-DSA-SHAKE-128f', 'SLH-DSA-SHAKE-192s', 'SLH-DSA-SHAKE-192f', 'SLH-DSA-SHAKE-256s', 'SLH-DSA-SHAKE-256f'];
|
|
7
|
+
export class SlhDsa {
|
|
8
|
+
constructor(variant) {
|
|
9
|
+
this.variant = variant;
|
|
10
|
+
this.native = NitroModules.createHybridObject('SlhDsaKeyPair');
|
|
11
|
+
this.native.setVariant(variant);
|
|
12
|
+
}
|
|
13
|
+
async generateKeyPair() {
|
|
14
|
+
await this.native.generateKeyPair(KFormatType.DER, KeyEncoding.SPKI, KFormatType.DER, KeyEncoding.PKCS8);
|
|
15
|
+
}
|
|
16
|
+
generateKeyPairSync() {
|
|
17
|
+
this.native.generateKeyPairSync(KFormatType.DER, KeyEncoding.SPKI, KFormatType.DER, KeyEncoding.PKCS8);
|
|
18
|
+
}
|
|
19
|
+
getPublicKey() {
|
|
20
|
+
return this.native.getPublicKey();
|
|
21
|
+
}
|
|
22
|
+
getPrivateKey() {
|
|
23
|
+
return this.native.getPrivateKey();
|
|
24
|
+
}
|
|
25
|
+
async sign(message) {
|
|
26
|
+
return this.native.sign(message);
|
|
27
|
+
}
|
|
28
|
+
signSync(message) {
|
|
29
|
+
return this.native.signSync(message);
|
|
30
|
+
}
|
|
31
|
+
async verify(signature, message) {
|
|
32
|
+
return this.native.verify(signature, message);
|
|
33
|
+
}
|
|
34
|
+
verifySync(signature, message) {
|
|
35
|
+
return this.native.verifySync(signature, message);
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
export async function slhdsa_generateKeyPairWebCrypto(variant, extractable, keyUsages) {
|
|
39
|
+
if (hasAnyNotIn(keyUsages, ['sign', 'verify'])) {
|
|
40
|
+
throw lazyDOMException(`Unsupported key usage for ${variant}`, 'SyntaxError');
|
|
41
|
+
}
|
|
42
|
+
const publicUsages = getUsagesUnion(keyUsages, 'verify');
|
|
43
|
+
const privateUsages = getUsagesUnion(keyUsages, 'sign');
|
|
44
|
+
if (privateUsages.length === 0) {
|
|
45
|
+
throw lazyDOMException('Usages cannot be empty', 'SyntaxError');
|
|
46
|
+
}
|
|
47
|
+
const slhdsa = new SlhDsa(variant);
|
|
48
|
+
await slhdsa.generateKeyPair();
|
|
49
|
+
const publicKeyData = slhdsa.getPublicKey();
|
|
50
|
+
const privateKeyData = slhdsa.getPrivateKey();
|
|
51
|
+
const pub = KeyObject.createKeyObject('public', publicKeyData, KFormatType.DER, KeyEncoding.SPKI);
|
|
52
|
+
const publicKey = new CryptoKey(pub, {
|
|
53
|
+
name: variant
|
|
54
|
+
}, publicUsages, true);
|
|
55
|
+
const priv = KeyObject.createKeyObject('private', privateKeyData, KFormatType.DER, KeyEncoding.PKCS8);
|
|
56
|
+
const privateKey = new CryptoKey(priv, {
|
|
57
|
+
name: variant
|
|
58
|
+
}, privateUsages, extractable);
|
|
59
|
+
return {
|
|
60
|
+
publicKey,
|
|
61
|
+
privateKey
|
|
62
|
+
};
|
|
63
|
+
}
|
|
64
|
+
//# sourceMappingURL=slhdsa.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["NitroModules","CryptoKey","KeyObject","hasAnyNotIn","lazyDOMException","getUsagesUnion","KFormatType","KeyEncoding","SLH_DSA_VARIANTS","SlhDsa","constructor","variant","native","createHybridObject","setVariant","generateKeyPair","DER","SPKI","PKCS8","generateKeyPairSync","getPublicKey","getPrivateKey","sign","message","signSync","verify","signature","verifySync","slhdsa_generateKeyPairWebCrypto","extractable","keyUsages","publicUsages","privateUsages","length","slhdsa","publicKeyData","privateKeyData","pub","createKeyObject","publicKey","name","priv","privateKey"],"sourceRoot":"../../src","sources":["slhdsa.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":[],"sourceRoot":"../../../src","sources":["specs/slhDsaKeyPair.nitro.ts"],"mappings":"","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":[],"sourceRoot":"../../../src","sources":["specs/turboshake.nitro.ts"],"mappings":"","ignoreList":[]}
|