react-native-quick-crypto 1.1.4 → 1.1.6
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 -1
- package/cpp/hkdf/HybridHkdf.cpp +25 -8
- package/cpp/hkdf/HybridHkdf.hpp +3 -2
- package/cpp/keys/HybridKeyObjectHandle.cpp +2 -1
- package/cpp/keys/KeyObjectData.cpp +47 -17
- package/lib/commonjs/hkdf.js +73 -3
- package/lib/commonjs/hkdf.js.map +1 -1
- package/lib/commonjs/keys/classes.js +2 -8
- package/lib/commonjs/keys/classes.js.map +1 -1
- package/lib/commonjs/keys/index.js +13 -7
- package/lib/commonjs/keys/index.js.map +1 -1
- package/lib/module/hkdf.js +69 -3
- package/lib/module/hkdf.js.map +1 -1
- package/lib/module/keys/classes.js +2 -8
- package/lib/module/keys/classes.js.map +1 -1
- package/lib/module/keys/index.js +13 -7
- package/lib/module/keys/index.js.map +1 -1
- package/lib/typescript/hkdf.d.ts +4 -0
- package/lib/typescript/hkdf.d.ts.map +1 -1
- package/lib/typescript/index.d.ts +4 -0
- package/lib/typescript/index.d.ts.map +1 -1
- package/lib/typescript/keys/classes.d.ts +1 -1
- package/lib/typescript/keys/classes.d.ts.map +1 -1
- package/lib/typescript/keys/index.d.ts.map +1 -1
- package/lib/typescript/specs/hkdf.nitro.d.ts +3 -2
- package/lib/typescript/specs/hkdf.nitro.d.ts.map +1 -1
- package/nitrogen/generated/shared/c++/HkdfMode.hpp +80 -0
- package/nitrogen/generated/shared/c++/HybridHkdfSpec.hpp +5 -3
- package/package.json +1 -1
- package/src/hkdf.ts +142 -0
- package/src/keys/classes.ts +2 -6
- package/src/keys/index.ts +20 -5
- package/src/specs/hkdf.nitro.ts +6 -0
package/lib/module/hkdf.js
CHANGED
|
@@ -40,6 +40,13 @@ const HKDF_HASH_BYTES = {
|
|
|
40
40
|
'sha3-512': 64,
|
|
41
41
|
ripemd160: 20
|
|
42
42
|
};
|
|
43
|
+
function hkdfHashLen(digest) {
|
|
44
|
+
const hashLen = HKDF_HASH_BYTES[digest.toLowerCase()];
|
|
45
|
+
if (hashLen === undefined) {
|
|
46
|
+
throw new TypeError(`Unsupported HKDF digest: ${digest}`);
|
|
47
|
+
}
|
|
48
|
+
return hashLen;
|
|
49
|
+
}
|
|
43
50
|
function validateHkdfKeylen(digest, keylen) {
|
|
44
51
|
if (typeof keylen !== 'number' || !Number.isFinite(keylen) || !Number.isInteger(keylen) || keylen < 0 || keylen > 0x7fff_ffff) {
|
|
45
52
|
throw new TypeError('Bad key length');
|
|
@@ -62,7 +69,7 @@ export function hkdf(digest, key, salt, info, keylen, callback) {
|
|
|
62
69
|
const sanitizedInfo = sanitizeInput(info, 'Info');
|
|
63
70
|
validateHkdfKeylen(normalizedDigest, keylen);
|
|
64
71
|
const nativeMod = getNative();
|
|
65
|
-
nativeMod.deriveKey(normalizedDigest, sanitizedKey, sanitizedSalt, sanitizedInfo, keylen).then(res => {
|
|
72
|
+
nativeMod.deriveKey(normalizedDigest, sanitizedKey, sanitizedSalt, sanitizedInfo, keylen, 'full').then(res => {
|
|
66
73
|
callback(null, Buffer.from(res));
|
|
67
74
|
}, err => {
|
|
68
75
|
callback(err);
|
|
@@ -78,9 +85,68 @@ export function hkdfSync(digest, key, salt, info, keylen) {
|
|
|
78
85
|
const sanitizedInfo = sanitizeInput(info, 'Info');
|
|
79
86
|
validateHkdfKeylen(normalizedDigest, keylen);
|
|
80
87
|
const nativeMod = getNative();
|
|
81
|
-
const result = nativeMod.deriveKeySync(normalizedDigest, sanitizedKey, sanitizedSalt, sanitizedInfo, keylen);
|
|
88
|
+
const result = nativeMod.deriveKeySync(normalizedDigest, sanitizedKey, sanitizedSalt, sanitizedInfo, keylen, 'full');
|
|
89
|
+
return Buffer.from(result);
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
// RFC 5869 §2.2 HKDF-Extract (sync): PRK = HMAC(salt, IKM). Salt defaults to
|
|
93
|
+
// a string of HashLen zeros when omitted. Returns a PRK of HashLen bytes.
|
|
94
|
+
export function hkdfExtractSync(digest, ikm, salt = new Uint8Array(0)) {
|
|
95
|
+
const normalizedDigest = normalizeHashName(digest);
|
|
96
|
+
const hashLen = hkdfHashLen(normalizedDigest);
|
|
97
|
+
const sanitizedIkm = sanitizeInput(ikm, 'IKM');
|
|
98
|
+
const sanitizedSalt = sanitizeInput(salt, 'Salt');
|
|
99
|
+
const result = getNative().deriveKeySync(normalizedDigest, sanitizedIkm, sanitizedSalt, new ArrayBuffer(0), hashLen, 'extract');
|
|
100
|
+
return Buffer.from(result);
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
// Async HKDF-Extract, mirroring `hkdf`. Unlike the sync form, `salt` is
|
|
104
|
+
// required here because the callback occupies the trailing argument.
|
|
105
|
+
export function hkdfExtract(digest, ikm, salt, callback) {
|
|
106
|
+
validateCallback(callback);
|
|
107
|
+
try {
|
|
108
|
+
const normalizedDigest = normalizeHashName(digest);
|
|
109
|
+
const hashLen = hkdfHashLen(normalizedDigest);
|
|
110
|
+
const sanitizedIkm = sanitizeInput(ikm, 'IKM');
|
|
111
|
+
const sanitizedSalt = sanitizeInput(salt, 'Salt');
|
|
112
|
+
getNative().deriveKey(normalizedDigest, sanitizedIkm, sanitizedSalt, new ArrayBuffer(0), hashLen, 'extract').then(res => callback(null, Buffer.from(res)), err => callback(err));
|
|
113
|
+
} catch (err) {
|
|
114
|
+
callback(err);
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
// RFC 5869 §2.3 HKDF-Expand (sync): OKM = expand(PRK, info, L). `prk` must be
|
|
119
|
+
// at least HashLen bytes (a pseudorandom key, e.g. from hkdfExtract).
|
|
120
|
+
export function hkdfExpandSync(digest, prk, info, keylen) {
|
|
121
|
+
const normalizedDigest = normalizeHashName(digest);
|
|
122
|
+
const hashLen = hkdfHashLen(normalizedDigest);
|
|
123
|
+
const sanitizedPrk = sanitizeInput(prk, 'PRK');
|
|
124
|
+
if (sanitizedPrk.byteLength < hashLen) {
|
|
125
|
+
throw new RangeError(`HKDF-Expand PRK must be at least HashLen (${hashLen}) bytes for ${digest}`);
|
|
126
|
+
}
|
|
127
|
+
const sanitizedInfo = sanitizeInput(info, 'Info');
|
|
128
|
+
validateHkdfKeylen(normalizedDigest, keylen);
|
|
129
|
+
const result = getNative().deriveKeySync(normalizedDigest, sanitizedPrk, new ArrayBuffer(0), sanitizedInfo, keylen, 'expand');
|
|
82
130
|
return Buffer.from(result);
|
|
83
131
|
}
|
|
132
|
+
|
|
133
|
+
// Async HKDF-Expand, mirroring `hkdf`.
|
|
134
|
+
export function hkdfExpand(digest, prk, info, keylen, callback) {
|
|
135
|
+
validateCallback(callback);
|
|
136
|
+
try {
|
|
137
|
+
const normalizedDigest = normalizeHashName(digest);
|
|
138
|
+
const hashLen = hkdfHashLen(normalizedDigest);
|
|
139
|
+
const sanitizedPrk = sanitizeInput(prk, 'PRK');
|
|
140
|
+
if (sanitizedPrk.byteLength < hashLen) {
|
|
141
|
+
throw new RangeError(`HKDF-Expand PRK must be at least HashLen (${hashLen}) bytes for ${digest}`);
|
|
142
|
+
}
|
|
143
|
+
const sanitizedInfo = sanitizeInput(info, 'Info');
|
|
144
|
+
validateHkdfKeylen(normalizedDigest, keylen);
|
|
145
|
+
getNative().deriveKey(normalizedDigest, sanitizedPrk, new ArrayBuffer(0), sanitizedInfo, keylen, 'expand').then(res => callback(null, Buffer.from(res)), err => callback(err));
|
|
146
|
+
} catch (err) {
|
|
147
|
+
callback(err);
|
|
148
|
+
}
|
|
149
|
+
}
|
|
84
150
|
export function hkdfDeriveBits(algorithm, baseKey, length) {
|
|
85
151
|
const hash = algorithm.hash;
|
|
86
152
|
const salt = algorithm.salt;
|
|
@@ -96,7 +162,7 @@ export function hkdfDeriveBits(algorithm, baseKey, length) {
|
|
|
96
162
|
const normalizedDigest = normalizeHashName(hashName);
|
|
97
163
|
validateHkdfKeylen(normalizedDigest, keylen);
|
|
98
164
|
const nativeMod = getNative();
|
|
99
|
-
const result = nativeMod.deriveKeySync(normalizedDigest, binaryLikeToArrayBuffer(keyBuffer), binaryLikeToArrayBuffer(salt), binaryLikeToArrayBuffer(info), keylen);
|
|
165
|
+
const result = nativeMod.deriveKeySync(normalizedDigest, binaryLikeToArrayBuffer(keyBuffer), binaryLikeToArrayBuffer(salt), binaryLikeToArrayBuffer(info), keylen, 'full');
|
|
100
166
|
return result;
|
|
101
167
|
}
|
|
102
168
|
//# sourceMappingURL=hkdf.js.map
|
package/lib/module/hkdf.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["Buffer","NitroModules","binaryLikeToArrayBuffer","normalizeHashName","native","getNative","createHybridObject","validateCallback","callback","undefined","Error","sanitizeInput","input","name","HKDF_HASH_BYTES","sha1","sha224","sha256","sha384","sha512","ripemd160","
|
|
1
|
+
{"version":3,"names":["Buffer","NitroModules","binaryLikeToArrayBuffer","normalizeHashName","native","getNative","createHybridObject","validateCallback","callback","undefined","Error","sanitizeInput","input","name","HKDF_HASH_BYTES","sha1","sha224","sha256","sha384","sha512","ripemd160","hkdfHashLen","digest","hashLen","toLowerCase","TypeError","validateHkdfKeylen","keylen","Number","isFinite","isInteger","RangeError","hkdf","key","salt","info","normalizedDigest","sanitizedKey","sanitizedSalt","sanitizedInfo","nativeMod","deriveKey","then","res","from","err","hkdfSync","result","deriveKeySync","hkdfExtractSync","ikm","Uint8Array","sanitizedIkm","ArrayBuffer","hkdfExtract","hkdfExpandSync","prk","sanitizedPrk","byteLength","hkdfExpand","hkdfDeriveBits","algorithm","baseKey","length","hash","keyBuffer","keyObject","export","Math","ceil","hashName"],"sourceRoot":"../../src","sources":["hkdf.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -98,7 +98,7 @@ export class KeyObject {
|
|
|
98
98
|
toCryptoKey(algorithm, extractable, keyUsages) {
|
|
99
99
|
return new CryptoKey(this, algorithm, keyUsages, extractable);
|
|
100
100
|
}
|
|
101
|
-
static createKeyObject(type, key, format, encoding) {
|
|
101
|
+
static createKeyObject(type, key, format, encoding, passphrase) {
|
|
102
102
|
if (type !== 'secret' && type !== 'public' && type !== 'private') throw new Error(`invalid KeyObject type: ${type}`);
|
|
103
103
|
const handle = NitroModules.createHybridObject('KeyObjectHandle');
|
|
104
104
|
let keyType;
|
|
@@ -115,13 +115,7 @@ export class KeyObject {
|
|
|
115
115
|
default:
|
|
116
116
|
throw new Error('invalid key type');
|
|
117
117
|
}
|
|
118
|
-
|
|
119
|
-
// If format is provided, use it (encoding is optional)
|
|
120
|
-
if (format !== undefined) {
|
|
121
|
-
handle.init(keyType, key, format, encoding);
|
|
122
|
-
} else {
|
|
123
|
-
handle.init(keyType, key);
|
|
124
|
-
}
|
|
118
|
+
handle.init(keyType, key, format, encoding, passphrase);
|
|
125
119
|
|
|
126
120
|
// For asymmetric keys, return the appropriate subclass
|
|
127
121
|
if (type === 'public' || type === 'private') {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["Buffer","NitroModules","KeyType","getSortedUsages","parsePrivateKeyEncoding","parsePublicKeyEncoding","CryptoKey","Symbol","toStringTag","constructor","keyObject","keyAlgorithm","keyUsages","keyExtractable","Object","freeze","inspect","_depth","_options","Error","type","extractable","algorithm","usages","KeyObject","export","equals","otherKeyObject","TypeError","handle","keyEquals","handleOrKey","ArrayBuffer","createHybridObject","keyType","PUBLIC","PRIVATE","SECRET","init","from","key","toCryptoKey","createKeyObject","format","encoding","
|
|
1
|
+
{"version":3,"names":["Buffer","NitroModules","KeyType","getSortedUsages","parsePrivateKeyEncoding","parsePublicKeyEncoding","CryptoKey","Symbol","toStringTag","constructor","keyObject","keyAlgorithm","keyUsages","keyExtractable","Object","freeze","inspect","_depth","_options","Error","type","extractable","algorithm","usages","KeyObject","export","equals","otherKeyObject","TypeError","handle","keyEquals","handleOrKey","ArrayBuffer","createHybridObject","keyType","PUBLIC","PRIVATE","SECRET","init","from","key","toCryptoKey","createKeyObject","format","encoding","passphrase","getAsymmetricKeyType","PublicKeyObject","PrivateKeyObject","SecretKeyObject","undefined","getAsymmetricKeyDetails","symmetricKeySize","getSymmetricKeySize","options","exportKey","AsymmetricKeyObject","asymmetricKeyType","_asymmetricKeyType","asymmetricKeyDetails","_asymmetricKeyDetails","keyDetail","namedCurve","exportJwk","pointType","exportECPublicRaw","exportRawPublic","buffer","toString","exportECPrivateRaw","exportRawPrivate","exportRawSeed","cipher"],"sourceRoot":"../../../src","sources":["keys/classes.ts"],"mappings":"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","ignoreList":[]}
|
package/lib/module/keys/index.js
CHANGED
|
@@ -91,8 +91,10 @@ function prepareAsymmetricKey(key, isPublic) {
|
|
|
91
91
|
const {
|
|
92
92
|
key: data,
|
|
93
93
|
format,
|
|
94
|
-
type
|
|
94
|
+
type,
|
|
95
|
+
passphrase
|
|
95
96
|
} = keyObj;
|
|
97
|
+
const passphraseAB = passphrase !== undefined ? toAB(passphrase) : undefined;
|
|
96
98
|
if (data instanceof KeyObject) {
|
|
97
99
|
return prepareAsymmetricKey(data, isPublic);
|
|
98
100
|
}
|
|
@@ -108,7 +110,8 @@ function prepareAsymmetricKey(key, isPublic) {
|
|
|
108
110
|
return {
|
|
109
111
|
data: toAB(data),
|
|
110
112
|
format: 'pem',
|
|
111
|
-
type
|
|
113
|
+
type,
|
|
114
|
+
passphrase: passphraseAB
|
|
112
115
|
};
|
|
113
116
|
}
|
|
114
117
|
|
|
@@ -118,7 +121,8 @@ function prepareAsymmetricKey(key, isPublic) {
|
|
|
118
121
|
return {
|
|
119
122
|
data: toAB(data),
|
|
120
123
|
format: filteredFormat,
|
|
121
|
-
type
|
|
124
|
+
type,
|
|
125
|
+
passphrase: passphraseAB
|
|
122
126
|
};
|
|
123
127
|
}
|
|
124
128
|
throw new Error('Invalid key input');
|
|
@@ -148,7 +152,8 @@ function createPublicKey(key) {
|
|
|
148
152
|
const {
|
|
149
153
|
data,
|
|
150
154
|
format,
|
|
151
|
-
type
|
|
155
|
+
type,
|
|
156
|
+
passphrase
|
|
152
157
|
} = prepareAsymmetricKey(key, true);
|
|
153
158
|
|
|
154
159
|
// Map format string to KFormatType enum
|
|
@@ -158,7 +163,7 @@ function createPublicKey(key) {
|
|
|
158
163
|
// Map type string to KeyEncoding enum
|
|
159
164
|
let kType;
|
|
160
165
|
if (type === 'spki') kType = KeyEncoding.SPKI;else if (type === 'pkcs1') kType = KeyEncoding.PKCS1;
|
|
161
|
-
return KeyObject.createKeyObject('public', data, kFormat, kType);
|
|
166
|
+
return KeyObject.createKeyObject('public', data, kFormat, kType, passphrase);
|
|
162
167
|
}
|
|
163
168
|
function createPrivateKey(key) {
|
|
164
169
|
if (typeof key === 'object' && 'key' in key && isRawFormat(key.format)) {
|
|
@@ -178,7 +183,8 @@ function createPrivateKey(key) {
|
|
|
178
183
|
const {
|
|
179
184
|
data,
|
|
180
185
|
format,
|
|
181
|
-
type
|
|
186
|
+
type,
|
|
187
|
+
passphrase
|
|
182
188
|
} = prepareAsymmetricKey(key, false);
|
|
183
189
|
|
|
184
190
|
// Map format string to KFormatType enum
|
|
@@ -188,7 +194,7 @@ function createPrivateKey(key) {
|
|
|
188
194
|
// Map type string to KeyEncoding enum
|
|
189
195
|
let kType;
|
|
190
196
|
if (type === 'pkcs8') kType = KeyEncoding.PKCS8;else if (type === 'pkcs1') kType = KeyEncoding.PKCS1;else if (type === 'sec1') kType = KeyEncoding.SEC1;
|
|
191
|
-
return KeyObject.createKeyObject('private', data, kFormat, kType);
|
|
197
|
+
return KeyObject.createKeyObject('private', data, kFormat, kType, passphrase);
|
|
192
198
|
}
|
|
193
199
|
function generateKeySync(type, options) {
|
|
194
200
|
if (typeof type !== 'string') {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["AsymmetricKeyObject","CryptoKey","KeyObject","SecretKeyObject","PublicKeyObject","PrivateKeyObject","generateKeyPair","generateKeyPairSync","createSign","createVerify","sign","verify","Sign","Verify","publicEncrypt","publicDecrypt","privateEncrypt","privateDecrypt","isCryptoKey","parseKeyEncoding","parsePrivateKeyEncoding","parsePublicKeyEncoding","NitroModules","binaryLikeToArrayBuffer","toAB","isStringOrBuffer","KFormatType","KeyEncoding","KeyType","randomBytes","isRawFormat","format","createPublicKeyFromRaw","input","Error","asymmetricKeyType","namedCurve","handle","createHybridObject","initRawPublic","key","createPrivateKeyFromRaw","initRawSeed","initRawPrivate","createSecretKey","keyBuffer","createKeyObject","prepareAsymmetricKey","isPublic","type","exported","exportKey","DER","SPKI","data","PKCS8","cryptoKey","keyObject","isPem","includes","undefined","keyObj","filteredFormat","createPublicKey","keyType","initJwk","PRIVATE","pubHandle","init","PUBLIC","kFormat","PEM","kType","PKCS1","createPrivateKey","SEC1","generateKeySync","options","TypeError","length","Number","isInteger","RangeError","keyBytes","keyMaterial","generateKey","callback","process","nextTick","err"],"sourceRoot":"../../../src","sources":["keys/index.ts"],"mappings":"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
|
|
1
|
+
{"version":3,"names":["AsymmetricKeyObject","CryptoKey","KeyObject","SecretKeyObject","PublicKeyObject","PrivateKeyObject","generateKeyPair","generateKeyPairSync","createSign","createVerify","sign","verify","Sign","Verify","publicEncrypt","publicDecrypt","privateEncrypt","privateDecrypt","isCryptoKey","parseKeyEncoding","parsePrivateKeyEncoding","parsePublicKeyEncoding","NitroModules","binaryLikeToArrayBuffer","toAB","isStringOrBuffer","KFormatType","KeyEncoding","KeyType","randomBytes","isRawFormat","format","createPublicKeyFromRaw","input","Error","asymmetricKeyType","namedCurve","handle","createHybridObject","initRawPublic","key","createPrivateKeyFromRaw","initRawSeed","initRawPrivate","createSecretKey","keyBuffer","createKeyObject","prepareAsymmetricKey","isPublic","type","exported","exportKey","DER","SPKI","data","PKCS8","cryptoKey","keyObject","isPem","includes","undefined","keyObj","passphrase","passphraseAB","filteredFormat","createPublicKey","keyType","initJwk","PRIVATE","pubHandle","init","PUBLIC","kFormat","PEM","kType","PKCS1","createPrivateKey","SEC1","generateKeySync","options","TypeError","length","Number","isInteger","RangeError","keyBytes","keyMaterial","generateKey","callback","process","nextTick","err"],"sourceRoot":"../../../src","sources":["keys/index.ts"],"mappings":"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","ignoreList":[]}
|
package/lib/typescript/hkdf.d.ts
CHANGED
|
@@ -17,6 +17,10 @@ export interface HkdfCallback {
|
|
|
17
17
|
}
|
|
18
18
|
export declare function hkdf(digest: string, key: KeyMaterial, salt: Salt, info: Info, keylen: number, callback: HkdfCallback): void;
|
|
19
19
|
export declare function hkdfSync(digest: string, key: KeyMaterial, salt: Salt, info: Info, keylen: number): Buffer;
|
|
20
|
+
export declare function hkdfExtractSync(digest: string, ikm: KeyMaterial, salt?: Salt): Buffer;
|
|
21
|
+
export declare function hkdfExtract(digest: string, ikm: KeyMaterial, salt: Salt, callback: HkdfCallback): void;
|
|
22
|
+
export declare function hkdfExpandSync(digest: string, prk: KeyMaterial, info: Info, keylen: number): Buffer;
|
|
23
|
+
export declare function hkdfExpand(digest: string, prk: KeyMaterial, info: Info, keylen: number, callback: HkdfCallback): void;
|
|
20
24
|
export declare function hkdfDeriveBits(algorithm: HkdfAlgorithm, baseKey: CryptoKey, length: number): ArrayBuffer;
|
|
21
25
|
export {};
|
|
22
26
|
//# sourceMappingURL=hkdf.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hkdf.d.ts","sourceRoot":"","sources":["../../src/hkdf.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,gCAAgC,CAAC;AAIxD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAC1C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AAExC,KAAK,WAAW,GAAG,UAAU,CAAC;AAC9B,KAAK,IAAI,GAAG,UAAU,CAAC;AACvB,KAAK,IAAI,GAAG,UAAU,CAAC;AAEvB,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,GAAG;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;IAChC,IAAI,EAAE,UAAU,CAAC;IACjB,IAAI,EAAE,UAAU,CAAC;CAClB;AAED,MAAM,WAAW,YAAY;IAC3B,CAAC,GAAG,EAAE,KAAK,GAAG,IAAI,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAChD;
|
|
1
|
+
{"version":3,"file":"hkdf.d.ts","sourceRoot":"","sources":["../../src/hkdf.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,gCAAgC,CAAC;AAIxD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAC1C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AAExC,KAAK,WAAW,GAAG,UAAU,CAAC;AAC9B,KAAK,IAAI,GAAG,UAAU,CAAC;AACvB,KAAK,IAAI,GAAG,UAAU,CAAC;AAEvB,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,GAAG;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;IAChC,IAAI,EAAE,UAAU,CAAC;IACjB,IAAI,EAAE,UAAU,CAAC;CAClB;AAED,MAAM,WAAW,YAAY;IAC3B,CAAC,GAAG,EAAE,KAAK,GAAG,IAAI,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAChD;AA2ED,wBAAgB,IAAI,CAClB,MAAM,EAAE,MAAM,EACd,GAAG,EAAE,WAAW,EAChB,IAAI,EAAE,IAAI,EACV,IAAI,EAAE,IAAI,EACV,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,YAAY,GACrB,IAAI,CAgCN;AAED,wBAAgB,QAAQ,CACtB,MAAM,EAAE,MAAM,EACd,GAAG,EAAE,WAAW,EAChB,IAAI,EAAE,IAAI,EACV,IAAI,EAAE,IAAI,EACV,MAAM,EAAE,MAAM,GACb,MAAM,CAmBR;AAID,wBAAgB,eAAe,CAC7B,MAAM,EAAE,MAAM,EACd,GAAG,EAAE,WAAW,EAChB,IAAI,GAAE,IAAwB,GAC7B,MAAM,CAgBR;AAID,wBAAgB,WAAW,CACzB,MAAM,EAAE,MAAM,EACd,GAAG,EAAE,WAAW,EAChB,IAAI,EAAE,IAAI,EACV,QAAQ,EAAE,YAAY,GACrB,IAAI,CAyBN;AAID,wBAAgB,cAAc,CAC5B,MAAM,EAAE,MAAM,EACd,GAAG,EAAE,WAAW,EAChB,IAAI,EAAE,IAAI,EACV,MAAM,EAAE,MAAM,GACb,MAAM,CAuBR;AAGD,wBAAgB,UAAU,CACxB,MAAM,EAAE,MAAM,EACd,GAAG,EAAE,WAAW,EAChB,IAAI,EAAE,IAAI,EACV,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,YAAY,GACrB,IAAI,CAgCN;AAED,wBAAgB,cAAc,CAC5B,SAAS,EAAE,aAAa,EACxB,OAAO,EAAE,SAAS,EAClB,MAAM,EAAE,MAAM,GACb,WAAW,CA4Bb"}
|
|
@@ -139,6 +139,10 @@ declare const QuickCrypto: {
|
|
|
139
139
|
pbkdf2DeriveBits(algorithm: utils.SubtleAlgorithm, baseKey: keys.CryptoKey, length: number): Promise<ArrayBuffer>;
|
|
140
140
|
hkdf(digest: string, key: utils.BinaryLike, salt: utils.BinaryLike, info: utils.BinaryLike, keylen: number, callback: hkdf.HkdfCallback): void;
|
|
141
141
|
hkdfSync(digest: string, key: utils.BinaryLike, salt: utils.BinaryLike, info: utils.BinaryLike, keylen: number): Buffer;
|
|
142
|
+
hkdfExtractSync(digest: string, ikm: utils.BinaryLike, salt?: utils.BinaryLike): Buffer;
|
|
143
|
+
hkdfExtract(digest: string, ikm: utils.BinaryLike, salt: utils.BinaryLike, callback: hkdf.HkdfCallback): void;
|
|
144
|
+
hkdfExpandSync(digest: string, prk: utils.BinaryLike, info: utils.BinaryLike, keylen: number): Buffer;
|
|
145
|
+
hkdfExpand(digest: string, prk: utils.BinaryLike, info: utils.BinaryLike, keylen: number, callback: hkdf.HkdfCallback): void;
|
|
142
146
|
hkdfDeriveBits(algorithm: hkdf.HkdfAlgorithm, baseKey: keys.CryptoKey, length: number): ArrayBuffer;
|
|
143
147
|
createHmac: typeof import("./hmac").createHmac;
|
|
144
148
|
createHash: typeof import("./hash").createHash;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,gCAAgC,CAAC;AAGxD,OAAO,CAAC,MAAM,CAAC;IAEb,IAAI,mBAAmB,EAAE,CACvB,CAAC,EAAE,MAAM,EACT,gBAAgB,CAAC,EAAE,OAAO,KACvB,WAAW,CAAC;IAEjB,IAAI,qBAAqB,EAAE,CAAC,CAAC,EAAE,WAAW,EAAE,OAAO,CAAC,EAAE,OAAO,KAAK,MAAM,CAAC;CAC1E;AAGD,OAAO,KAAK,YAAY,MAAM,UAAU,CAAC;AACzC,OAAO,KAAK,IAAI,MAAM,QAAQ,CAAC;AAC/B,OAAO,KAAK,MAAM,MAAM,UAAU,CAAC;AACnC,OAAO,KAAK,MAAM,MAAM,UAAU,CAAC;AACnC,OAAO,KAAK,EAAE,MAAM,MAAM,CAAC;AAG3B,OAAO,KAAK,IAAI,MAAM,QAAQ,CAAC;AAE/B,OAAO,KAAK,KAAK,MAAM,SAAS,CAAC;AACjC,OAAO,KAAK,MAAM,MAAM,UAAU,CAAC;AACnC,OAAO,KAAK,MAAM,MAAM,UAAU,CAAC;AACnC,OAAO,KAAK,IAAI,MAAM,QAAQ,CAAC;AAC/B,OAAO,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACvC,OAAO,KAAK,KAAK,MAAM,SAAS,CAAC;AACjC,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,SAAS,EAAE,MAAM,MAAM,CAAC;AAIjC,OAAO,KAAK,KAAK,MAAM,SAAS,CAAC;AACjC,OAAO,KAAK,MAAM,MAAM,UAAU,CAAC;AAEnC;;;GAGG;AACH,QAAA,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;uBAmFqK,cAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8BArF3L,yCAA+B,EAAC,YAAe;qBAiC5C,0BACN,EACE,2EAA2E;IAC3E,2BADoB;qBA8BlB,oCACS,EAAC,2BACA;;;;;;qIAkBkhE,CAAC;mKAA85B,CAAC;;;;;;;;;;;;;;+DApB97F,CAAC
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,gCAAgC,CAAC;AAGxD,OAAO,CAAC,MAAM,CAAC;IAEb,IAAI,mBAAmB,EAAE,CACvB,CAAC,EAAE,MAAM,EACT,gBAAgB,CAAC,EAAE,OAAO,KACvB,WAAW,CAAC;IAEjB,IAAI,qBAAqB,EAAE,CAAC,CAAC,EAAE,WAAW,EAAE,OAAO,CAAC,EAAE,OAAO,KAAK,MAAM,CAAC;CAC1E;AAGD,OAAO,KAAK,YAAY,MAAM,UAAU,CAAC;AACzC,OAAO,KAAK,IAAI,MAAM,QAAQ,CAAC;AAC/B,OAAO,KAAK,MAAM,MAAM,UAAU,CAAC;AACnC,OAAO,KAAK,MAAM,MAAM,UAAU,CAAC;AACnC,OAAO,KAAK,EAAE,MAAM,MAAM,CAAC;AAG3B,OAAO,KAAK,IAAI,MAAM,QAAQ,CAAC;AAE/B,OAAO,KAAK,KAAK,MAAM,SAAS,CAAC;AACjC,OAAO,KAAK,MAAM,MAAM,UAAU,CAAC;AACnC,OAAO,KAAK,MAAM,MAAM,UAAU,CAAC;AACnC,OAAO,KAAK,IAAI,MAAM,QAAQ,CAAC;AAC/B,OAAO,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACvC,OAAO,KAAK,KAAK,MAAM,SAAS,CAAC;AACjC,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,SAAS,EAAE,MAAM,MAAM,CAAC;AAIjC,OAAO,KAAK,KAAK,MAAM,SAAS,CAAC;AACjC,OAAO,KAAK,MAAM,MAAM,UAAU,CAAC;AAEnC;;;GAGG;AACH,QAAA,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;uBAmFqK,cAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8BArF3L,yCAA+B,EAAC,YAAe;qBAiC5C,0BACN,EACE,2EAA2E;IAC3E,2BADoB;qBA8BlB,oCACS,EAAC,2BACA;;;;;;qIAkBkhE,CAAC;mKAA85B,CAAC;;;;;;;;;;;;;;+DApB97F,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAlDD,CAAD;gBAEC,CAAF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAQC,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,OAAO,YAYnB,CAAC;AAYF,eAAe,WAAW,CAAC;AAC3B,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,YAAY,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACxE,cAAc,UAAU,CAAC;AACzB,cAAc,MAAM,CAAC;AACrB,cAAc,QAAQ,CAAC;AACvB,cAAc,QAAQ,CAAC;AACvB,cAAc,QAAQ,CAAC;AACvB,cAAc,QAAQ,CAAC;AACvB,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,cAAc,QAAQ,CAAC;AACvB,OAAO,EAAE,SAAS,EAAE,MAAM,MAAM,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC;AACzB,OAAO,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AACnD,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,MAAM,EAAE,MAAM,gCAAgC,CAAC"}
|
|
@@ -33,7 +33,7 @@ export declare class KeyObject {
|
|
|
33
33
|
constructor(type: string, key: ArrayBuffer);
|
|
34
34
|
static from(key: CryptoKey): KeyObject;
|
|
35
35
|
toCryptoKey(algorithm: SubtleAlgorithm, extractable: boolean, keyUsages: KeyUsage[]): CryptoKey;
|
|
36
|
-
static createKeyObject(type: string, key: ArrayBuffer, format?: KFormatType, encoding?: KeyEncoding): KeyObject;
|
|
36
|
+
static createKeyObject(type: string, key: ArrayBuffer, format?: KFormatType, encoding?: KeyEncoding, passphrase?: ArrayBuffer): KeyObject;
|
|
37
37
|
getAsymmetricKeyType(): undefined;
|
|
38
38
|
getAsymmetricKeyDetails(): undefined;
|
|
39
39
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"classes.d.ts","sourceRoot":"","sources":["../../../src/keys/classes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,gCAAgC,CAAC;AAExD,OAAO,KAAK,EACV,iBAAiB,EACjB,eAAe,EACf,GAAG,EACH,SAAS,EACT,eAAe,EACf,QAAQ,EACR,eAAe,EAChB,MAAM,UAAU,CAAC;AAClB,OAAO,EAAW,WAAW,EAAE,WAAW,EAAmB,MAAM,UAAU,CAAC;AAG9E,qBAAa,SAAS;IACpB,SAAS,EAAE,SAAS,CAAC;IACrB,YAAY,EAAE,eAAe,CAAC;IAC9B,SAAS,EAAE,QAAQ,EAAE,CAAC;IACtB,cAAc,EAAE,OAAO,CAAC;IAExB,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,MAAM,CAEjC;gBAGC,SAAS,EAAE,SAAS,EACpB,YAAY,EAAE,eAAe,EAC7B,SAAS,EAAE,QAAQ,EAAE,EACrB,cAAc,EAAE,OAAO;IASzB,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,GAAG,OAAO;IAoBnD,IAAI,IAAI,oCAGP;IAED,IAAI,WAAW,YAEd;IAED,IAAI,SAAS,oBAEZ;IAED,IAAI,MAAM,eAET;CACF;AAED,qBAAa,SAAS;IACpB,MAAM,EAAE,eAAe,CAAC;IACxB,IAAI,EAAE,QAAQ,GAAG,QAAQ,GAAG,SAAS,CAAC;IAEtC,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,MAAM,CAEjC;IAED,MAAM,CAAC,OAAO,EAAE;QAAE,MAAM,EAAE,KAAK,CAAA;KAAE,GAAG,eAAe,GAAG,MAAM,GAAG,MAAM;IACrE,MAAM,CAAC,OAAO,CAAC,EAAE;QAAE,MAAM,EAAE,KAAK,CAAA;KAAE,GAAG,eAAe,GAAG,MAAM;IAC7D,MAAM,CAAC,OAAO,CAAC,EAAE;QAAE,MAAM,EAAE,KAAK,CAAA;KAAE,GAAG,eAAe,GAAG,GAAG;IAC1D,MAAM,CAAC,OAAO,CAAC,EAAE,eAAe,GAAG,MAAM,GAAG,MAAM,GAAG,GAAG;IAOxD,MAAM,CAAC,cAAc,EAAE,SAAS,GAAG,OAAO;gBAO9B,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,eAAe;gBACrC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,WAAW;IA6B1C,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,SAAS,GAAG,SAAS;IAStC,WAAW,CACT,SAAS,EAAE,eAAe,EAC1B,WAAW,EAAE,OAAO,EACpB,SAAS,EAAE,QAAQ,EAAE,GACpB,SAAS;IAIZ,MAAM,CAAC,eAAe,CACpB,IAAI,EAAE,MAAM,EACZ,GAAG,EAAE,WAAW,EAChB,MAAM,CAAC,EAAE,WAAW,EACpB,QAAQ,CAAC,EAAE,WAAW,
|
|
1
|
+
{"version":3,"file":"classes.d.ts","sourceRoot":"","sources":["../../../src/keys/classes.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/keys/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,mBAAmB,EACnB,SAAS,EACT,SAAS,EACT,eAAe,EACf,eAAe,EACf,gBAAgB,EACjB,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AACzE,OAAO,EACL,UAAU,EACV,YAAY,EACZ,IAAI,EACJ,MAAM,EACN,IAAI,EACJ,MAAM,EACP,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,aAAa,EACb,aAAa,EACb,cAAc,EACd,cAAc,EACf,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACL,WAAW,EACX,gBAAgB,EAChB,uBAAuB,EACvB,sBAAsB,EACvB,MAAM,SAAS,CAAC;AAEjB,OAAO,KAAK,EAAE,UAAU,EAAE,GAAG,EAAmB,MAAM,UAAU,CAAC;AAUjE,UAAU,cAAc;IACtB,GAAG,EAAE,UAAU,GAAG,SAAS,GAAG,SAAS,GAAG,GAAG,CAAC;IAC9C,MAAM,CAAC,EAAE,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,YAAY,GAAG,aAAa,GAAG,UAAU,CAAC;IAC3E,IAAI,CAAC,EAAE,OAAO,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,CAAC;IAC3C,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,QAAQ,CAAC,EAAE,cAAc,CAAC;IAC1B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,KAAK,QAAQ,GAAG,UAAU,GAAG,cAAc,GAAG,SAAS,GAAG,SAAS,CAAC;AAsDpE,iBAAS,eAAe,CAAC,GAAG,EAAE,UAAU,GAAG,eAAe,CAGzD;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/keys/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,mBAAmB,EACnB,SAAS,EACT,SAAS,EACT,eAAe,EACf,eAAe,EACf,gBAAgB,EACjB,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AACzE,OAAO,EACL,UAAU,EACV,YAAY,EACZ,IAAI,EACJ,MAAM,EACN,IAAI,EACJ,MAAM,EACP,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,aAAa,EACb,aAAa,EACb,cAAc,EACd,cAAc,EACf,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACL,WAAW,EACX,gBAAgB,EAChB,uBAAuB,EACvB,sBAAsB,EACvB,MAAM,SAAS,CAAC;AAEjB,OAAO,KAAK,EAAE,UAAU,EAAE,GAAG,EAAmB,MAAM,UAAU,CAAC;AAUjE,UAAU,cAAc;IACtB,GAAG,EAAE,UAAU,GAAG,SAAS,GAAG,SAAS,GAAG,GAAG,CAAC;IAC9C,MAAM,CAAC,EAAE,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,YAAY,GAAG,aAAa,GAAG,UAAU,CAAC;IAC3E,IAAI,CAAC,EAAE,OAAO,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,CAAC;IAC3C,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,QAAQ,CAAC,EAAE,cAAc,CAAC;IAC1B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,KAAK,QAAQ,GAAG,UAAU,GAAG,cAAc,GAAG,SAAS,GAAG,SAAS,CAAC;AAsDpE,iBAAS,eAAe,CAAC,GAAG,EAAE,UAAU,GAAG,eAAe,CAGzD;AAwFD,iBAAS,eAAe,CAAC,GAAG,EAAE,QAAQ,GAAG,eAAe,CAmDvD;AAED,iBAAS,gBAAgB,CAAC,GAAG,EAAE,QAAQ,GAAG,gBAAgB,CAqCzD;AAED,MAAM,WAAW,kBAAkB;IACjC,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,iBAAS,eAAe,CACtB,IAAI,EAAE,KAAK,GAAG,MAAM,EACpB,OAAO,EAAE,kBAAkB,GAC1B,eAAe,CAsCjB;AAED,iBAAS,WAAW,CAClB,IAAI,EAAE,KAAK,GAAG,MAAM,EACpB,OAAO,EAAE,kBAAkB,EAC3B,QAAQ,EAAE,CAAC,GAAG,EAAE,KAAK,GAAG,IAAI,EAAE,GAAG,CAAC,EAAE,eAAe,KAAK,IAAI,GAC3D,IAAI,CAWN;AAED,OAAO,EAEL,eAAe,EACf,eAAe,EACf,gBAAgB,EAChB,SAAS,EACT,WAAW,EACX,eAAe,EACf,eAAe,EACf,mBAAmB,EACnB,mBAAmB,EACnB,SAAS,EACT,UAAU,EACV,YAAY,EACZ,IAAI,EACJ,MAAM,EACN,IAAI,EACJ,MAAM,EACN,aAAa,EACb,aAAa,EACb,cAAc,EACd,cAAc,EAGd,sBAAsB,EACtB,uBAAuB,EACvB,gBAAgB,EAChB,eAAe,EACf,eAAe,EACf,gBAAgB,EAChB,WAAW,GACZ,CAAC"}
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import type { HybridObject } from 'react-native-nitro-modules';
|
|
2
|
+
export type HkdfMode = 'full' | 'extract' | 'expand';
|
|
2
3
|
export interface Hkdf extends HybridObject<{
|
|
3
4
|
ios: 'c++';
|
|
4
5
|
android: 'c++';
|
|
5
6
|
}> {
|
|
6
|
-
deriveKeySync(algorithm: string, key: ArrayBuffer, salt: ArrayBuffer, info: ArrayBuffer, length: number): ArrayBuffer;
|
|
7
|
-
deriveKey(algorithm: string, key: ArrayBuffer, salt: ArrayBuffer, info: ArrayBuffer, length: number): Promise<ArrayBuffer>;
|
|
7
|
+
deriveKeySync(algorithm: string, key: ArrayBuffer, salt: ArrayBuffer, info: ArrayBuffer, length: number, mode: HkdfMode): ArrayBuffer;
|
|
8
|
+
deriveKey(algorithm: string, key: ArrayBuffer, salt: ArrayBuffer, info: ArrayBuffer, length: number, mode: HkdfMode): Promise<ArrayBuffer>;
|
|
8
9
|
}
|
|
9
10
|
//# sourceMappingURL=hkdf.nitro.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hkdf.nitro.d.ts","sourceRoot":"","sources":["../../../src/specs/hkdf.nitro.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;
|
|
1
|
+
{"version":3,"file":"hkdf.nitro.d.ts","sourceRoot":"","sources":["../../../src/specs/hkdf.nitro.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAI/D,MAAM,MAAM,QAAQ,GAAG,MAAM,GAAG,SAAS,GAAG,QAAQ,CAAC;AAErD,MAAM,WAAW,IAAK,SAAQ,YAAY,CAAC;IAAE,GAAG,EAAE,KAAK,CAAC;IAAC,OAAO,EAAE,KAAK,CAAA;CAAE,CAAC;IACxE,aAAa,CACX,SAAS,EAAE,MAAM,EACjB,GAAG,EAAE,WAAW,EAChB,IAAI,EAAE,WAAW,EACjB,IAAI,EAAE,WAAW,EACjB,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,QAAQ,GACb,WAAW,CAAC;IAEf,SAAS,CACP,SAAS,EAAE,MAAM,EACjB,GAAG,EAAE,WAAW,EAChB,IAAI,EAAE,WAAW,EACjB,IAAI,EAAE,WAAW,EACjB,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,QAAQ,GACb,OAAO,CAAC,WAAW,CAAC,CAAC;CACzB"}
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
///
|
|
2
|
+
/// HkdfMode.hpp
|
|
3
|
+
/// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
|
|
4
|
+
/// https://github.com/mrousavy/nitro
|
|
5
|
+
/// Copyright © Marc Rousavy @ Margelo
|
|
6
|
+
///
|
|
7
|
+
|
|
8
|
+
#pragma once
|
|
9
|
+
|
|
10
|
+
#if __has_include(<NitroModules/NitroHash.hpp>)
|
|
11
|
+
#include <NitroModules/NitroHash.hpp>
|
|
12
|
+
#else
|
|
13
|
+
#error NitroModules cannot be found! Are you sure you installed NitroModules properly?
|
|
14
|
+
#endif
|
|
15
|
+
#if __has_include(<NitroModules/JSIConverter.hpp>)
|
|
16
|
+
#include <NitroModules/JSIConverter.hpp>
|
|
17
|
+
#else
|
|
18
|
+
#error NitroModules cannot be found! Are you sure you installed NitroModules properly?
|
|
19
|
+
#endif
|
|
20
|
+
#if __has_include(<NitroModules/NitroDefines.hpp>)
|
|
21
|
+
#include <NitroModules/NitroDefines.hpp>
|
|
22
|
+
#else
|
|
23
|
+
#error NitroModules cannot be found! Are you sure you installed NitroModules properly?
|
|
24
|
+
#endif
|
|
25
|
+
|
|
26
|
+
namespace margelo::nitro::crypto {
|
|
27
|
+
|
|
28
|
+
/**
|
|
29
|
+
* An enum which can be represented as a JavaScript union (HkdfMode).
|
|
30
|
+
*/
|
|
31
|
+
enum class HkdfMode {
|
|
32
|
+
FULL SWIFT_NAME(full) = 0,
|
|
33
|
+
EXTRACT SWIFT_NAME(extract) = 1,
|
|
34
|
+
EXPAND SWIFT_NAME(expand) = 2,
|
|
35
|
+
} CLOSED_ENUM;
|
|
36
|
+
|
|
37
|
+
} // namespace margelo::nitro::crypto
|
|
38
|
+
|
|
39
|
+
namespace margelo::nitro {
|
|
40
|
+
|
|
41
|
+
// C++ HkdfMode <> JS HkdfMode (union)
|
|
42
|
+
template <>
|
|
43
|
+
struct JSIConverter<margelo::nitro::crypto::HkdfMode> final {
|
|
44
|
+
static inline margelo::nitro::crypto::HkdfMode fromJSI(jsi::Runtime& runtime, const jsi::Value& arg) {
|
|
45
|
+
std::string unionValue = JSIConverter<std::string>::fromJSI(runtime, arg);
|
|
46
|
+
switch (hashString(unionValue.c_str(), unionValue.size())) {
|
|
47
|
+
case hashString("full"): return margelo::nitro::crypto::HkdfMode::FULL;
|
|
48
|
+
case hashString("extract"): return margelo::nitro::crypto::HkdfMode::EXTRACT;
|
|
49
|
+
case hashString("expand"): return margelo::nitro::crypto::HkdfMode::EXPAND;
|
|
50
|
+
default: [[unlikely]]
|
|
51
|
+
throw std::invalid_argument("Cannot convert \"" + unionValue + "\" to enum HkdfMode - invalid value!");
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
static inline jsi::Value toJSI(jsi::Runtime& runtime, margelo::nitro::crypto::HkdfMode arg) {
|
|
55
|
+
switch (arg) {
|
|
56
|
+
case margelo::nitro::crypto::HkdfMode::FULL: return JSIConverter<std::string>::toJSI(runtime, "full");
|
|
57
|
+
case margelo::nitro::crypto::HkdfMode::EXTRACT: return JSIConverter<std::string>::toJSI(runtime, "extract");
|
|
58
|
+
case margelo::nitro::crypto::HkdfMode::EXPAND: return JSIConverter<std::string>::toJSI(runtime, "expand");
|
|
59
|
+
default: [[unlikely]]
|
|
60
|
+
throw std::invalid_argument("Cannot convert HkdfMode to JS - invalid value: "
|
|
61
|
+
+ std::to_string(static_cast<int>(arg)) + "!");
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
static inline bool canConvert(jsi::Runtime& runtime, const jsi::Value& value) {
|
|
65
|
+
if (!value.isString()) {
|
|
66
|
+
return false;
|
|
67
|
+
}
|
|
68
|
+
std::string unionValue = JSIConverter<std::string>::fromJSI(runtime, value);
|
|
69
|
+
switch (hashString(unionValue.c_str(), unionValue.size())) {
|
|
70
|
+
case hashString("full"):
|
|
71
|
+
case hashString("extract"):
|
|
72
|
+
case hashString("expand"):
|
|
73
|
+
return true;
|
|
74
|
+
default:
|
|
75
|
+
return false;
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
};
|
|
79
|
+
|
|
80
|
+
} // namespace margelo::nitro
|
|
@@ -13,10 +13,12 @@
|
|
|
13
13
|
#error NitroModules cannot be found! Are you sure you installed NitroModules properly?
|
|
14
14
|
#endif
|
|
15
15
|
|
|
16
|
-
|
|
16
|
+
// Forward declaration of `HkdfMode` to properly resolve imports.
|
|
17
|
+
namespace margelo::nitro::crypto { enum class HkdfMode; }
|
|
17
18
|
|
|
18
19
|
#include <NitroModules/ArrayBuffer.hpp>
|
|
19
20
|
#include <string>
|
|
21
|
+
#include "HkdfMode.hpp"
|
|
20
22
|
#include <NitroModules/Promise.hpp>
|
|
21
23
|
|
|
22
24
|
namespace margelo::nitro::crypto {
|
|
@@ -50,8 +52,8 @@ namespace margelo::nitro::crypto {
|
|
|
50
52
|
|
|
51
53
|
public:
|
|
52
54
|
// Methods
|
|
53
|
-
virtual std::shared_ptr<ArrayBuffer> deriveKeySync(const std::string& algorithm, const std::shared_ptr<ArrayBuffer>& key, const std::shared_ptr<ArrayBuffer>& salt, const std::shared_ptr<ArrayBuffer>& info, double length) = 0;
|
|
54
|
-
virtual std::shared_ptr<Promise<std::shared_ptr<ArrayBuffer>>> deriveKey(const std::string& algorithm, const std::shared_ptr<ArrayBuffer>& key, const std::shared_ptr<ArrayBuffer>& salt, const std::shared_ptr<ArrayBuffer>& info, double length) = 0;
|
|
55
|
+
virtual std::shared_ptr<ArrayBuffer> deriveKeySync(const std::string& algorithm, const std::shared_ptr<ArrayBuffer>& key, const std::shared_ptr<ArrayBuffer>& salt, const std::shared_ptr<ArrayBuffer>& info, double length, HkdfMode mode) = 0;
|
|
56
|
+
virtual std::shared_ptr<Promise<std::shared_ptr<ArrayBuffer>>> deriveKey(const std::string& algorithm, const std::shared_ptr<ArrayBuffer>& key, const std::shared_ptr<ArrayBuffer>& salt, const std::shared_ptr<ArrayBuffer>& info, double length, HkdfMode mode) = 0;
|
|
55
57
|
|
|
56
58
|
protected:
|
|
57
59
|
// Hybrid Setup
|