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.
@@ -184,7 +184,7 @@ Pod::Spec.new do |s|
184
184
  load "nitrogen/generated/ios/QuickCrypto+autolinking.rb"
185
185
  add_nitrogen_files(s)
186
186
 
187
- s.dependency "OpenSSL-Universal", "~> 3.6"
187
+ s.dependency "OpenSSL-Universal", "~> 3.6.2000"
188
188
  s.dependency "React-jsi"
189
189
  s.dependency "React-callinvoker"
190
190
 
@@ -12,23 +12,22 @@
12
12
 
13
13
  namespace margelo::nitro::crypto {
14
14
 
15
- std::shared_ptr<Promise<std::shared_ptr<ArrayBuffer>>> HybridHkdf::deriveKey(const std::string& algorithm,
16
- const std::shared_ptr<ArrayBuffer>& key,
17
- const std::shared_ptr<ArrayBuffer>& salt,
18
- const std::shared_ptr<ArrayBuffer>& info, double length) {
15
+ std::shared_ptr<Promise<std::shared_ptr<ArrayBuffer>>>
16
+ HybridHkdf::deriveKey(const std::string& algorithm, const std::shared_ptr<ArrayBuffer>& key, const std::shared_ptr<ArrayBuffer>& salt,
17
+ const std::shared_ptr<ArrayBuffer>& info, double length, HkdfMode mode) {
19
18
  // get owned NativeArrayBuffers before passing to sync function
20
19
  auto nativeKey = ToNativeArrayBuffer(key);
21
20
  auto nativeSalt = ToNativeArrayBuffer(salt);
22
21
  auto nativeInfo = ToNativeArrayBuffer(info);
23
22
 
24
- return Promise<std::shared_ptr<ArrayBuffer>>::async([this, algorithm, nativeKey, nativeSalt, nativeInfo, length]() {
25
- return this->deriveKeySync(algorithm, nativeKey, nativeSalt, nativeInfo, length);
23
+ return Promise<std::shared_ptr<ArrayBuffer>>::async([this, algorithm, nativeKey, nativeSalt, nativeInfo, length, mode]() {
24
+ return this->deriveKeySync(algorithm, nativeKey, nativeSalt, nativeInfo, length, mode);
26
25
  });
27
26
  }
28
27
 
29
28
  std::shared_ptr<ArrayBuffer> HybridHkdf::deriveKeySync(const std::string& algorithm, const std::shared_ptr<ArrayBuffer>& baseKey,
30
29
  const std::shared_ptr<ArrayBuffer>& salt, const std::shared_ptr<ArrayBuffer>& info,
31
- double length) {
30
+ double length, HkdfMode mode) {
32
31
  EVP_KDF* kdf = EVP_KDF_fetch(nullptr, "HKDF", nullptr);
33
32
  if (kdf == nullptr) {
34
33
  throw std::runtime_error("Failed to fetch HKDF implementation: " + std::to_string(ERR_get_error()));
@@ -41,9 +40,27 @@ std::shared_ptr<ArrayBuffer> HybridHkdf::deriveKeySync(const std::string& algori
41
40
  }
42
41
 
43
42
  // Set up parameters
44
- OSSL_PARAM params[5];
43
+ OSSL_PARAM params[6];
45
44
  size_t paramIndex = 0;
46
45
 
46
+ // HKDF mode (RFC 5869): full extract+expand, extract-only (PRK), or expand-only.
47
+ int hkdfMode;
48
+ switch (mode) {
49
+ case HkdfMode::EXTRACT:
50
+ hkdfMode = EVP_KDF_HKDF_MODE_EXTRACT_ONLY;
51
+ break;
52
+ case HkdfMode::EXPAND:
53
+ hkdfMode = EVP_KDF_HKDF_MODE_EXPAND_ONLY;
54
+ break;
55
+ case HkdfMode::FULL:
56
+ hkdfMode = EVP_KDF_HKDF_MODE_EXTRACT_AND_EXPAND;
57
+ break;
58
+ default:
59
+ EVP_KDF_CTX_free(ctx);
60
+ throw std::runtime_error("Unknown HKDF mode");
61
+ }
62
+ params[paramIndex++] = OSSL_PARAM_construct_int(OSSL_KDF_PARAM_MODE, &hkdfMode);
63
+
47
64
  params[paramIndex++] = OSSL_PARAM_construct_utf8_string(OSSL_KDF_PARAM_DIGEST, const_cast<char*>(algorithm.c_str()), 0);
48
65
 
49
66
  // Key (Input Keying Material)
@@ -19,10 +19,11 @@ class HybridHkdf : public HybridHkdfSpec {
19
19
  // Methods
20
20
  std::shared_ptr<ArrayBuffer> deriveKeySync(const std::string& algorithm, const std::shared_ptr<ArrayBuffer>& key,
21
21
  const std::shared_ptr<ArrayBuffer>& salt, const std::shared_ptr<ArrayBuffer>& info,
22
- double length) override;
22
+ double length, HkdfMode mode) override;
23
23
  std::shared_ptr<Promise<std::shared_ptr<ArrayBuffer>>> deriveKey(const std::string& algorithm, const std::shared_ptr<ArrayBuffer>& key,
24
24
  const std::shared_ptr<ArrayBuffer>& salt,
25
- const std::shared_ptr<ArrayBuffer>& info, double length) override;
25
+ const std::shared_ptr<ArrayBuffer>& info, double length,
26
+ HkdfMode mode) override;
26
27
  };
27
28
 
28
29
  } // namespace margelo::nitro::crypto
@@ -231,7 +231,8 @@ std::shared_ptr<ArrayBuffer> HybridKeyObjectHandle::exportKey(std::optional<KFor
231
231
 
232
232
  if (passphrase.has_value()) {
233
233
  auto& passphrase_ptr = passphrase.value();
234
- config.passphrase = std::make_optional(ncrypto::DataPointer(passphrase_ptr->data(), passphrase_ptr->size()));
234
+ config.passphrase =
235
+ std::make_optional(ncrypto::DataPointer::Copy(ncrypto::Buffer<const void>{passphrase_ptr->data(), passphrase_ptr->size()}));
235
236
  }
236
237
 
237
238
  auto result = pkey.writePrivateKey(config);
@@ -29,7 +29,8 @@ KeyObjectData TryParsePrivateKey(std::shared_ptr<ArrayBuffer> key, std::optional
29
29
 
30
30
  if (passphrase.has_value()) {
31
31
  auto& passphrase_ptr = passphrase.value();
32
- config.passphrase = std::make_optional(ncrypto::DataPointer(passphrase_ptr->data(), passphrase_ptr->size()));
32
+ config.passphrase =
33
+ std::make_optional(ncrypto::DataPointer::Copy(ncrypto::Buffer<const void>{passphrase_ptr->data(), passphrase_ptr->size()}));
33
34
  }
34
35
 
35
36
  auto buffer = ncrypto::Buffer<const unsigned char>{key->data(), key->size()};
@@ -44,13 +45,21 @@ KeyObjectData TryParsePrivateKey(std::shared_ptr<ArrayBuffer> key, std::optional
44
45
 
45
46
  if (res.error.has_value() && res.error.value() == ncrypto::EVPKeyPointer::PKParseError::NEED_PASSPHRASE) {
46
47
  throw std::runtime_error("Passphrase required for encrypted key");
47
- } else {
48
- // Get OpenSSL error details
49
- unsigned long err = ERR_get_error();
50
- char err_buf[256];
51
- ERR_error_string_n(err, err_buf, sizeof(err_buf));
52
- throw std::runtime_error("Failed to read private key: " + std::string(err_buf));
53
48
  }
49
+
50
+ // ncrypto only maps ERR_LIB_PEM/PEM_R_BAD_PASSWORD_READ to NEED_PASSPHRASE. On OpenSSL 3.6+
51
+ // PEM_read_bio_PrivateKey surfaces a missing-passphrase callback as
52
+ // ERR_R_INTERRUPTED_OR_CANCELLED on ERR_LIB_CRYPTO instead.
53
+ if (!passphrase.has_value() && res.openssl_error.has_value() &&
54
+ ERR_GET_REASON(res.openssl_error.value()) == ERR_R_INTERRUPTED_OR_CANCELLED) {
55
+ throw std::runtime_error("Passphrase required for encrypted key");
56
+ }
57
+
58
+ // Get OpenSSL error details
59
+ unsigned long err = ERR_get_error();
60
+ char err_buf[256];
61
+ ERR_error_string_n(err, err_buf, sizeof(err_buf));
62
+ throw std::runtime_error("Failed to read private key: " + std::string(err_buf));
54
63
  }
55
64
 
56
65
  KeyObjectData::KeyObjectData(std::nullptr_t) : key_type_(KeyType::SECRET) {}
@@ -133,7 +142,8 @@ KeyObjectData KeyObjectData::GetPublicOrPrivateKey(std::shared_ptr<ArrayBuffer>
133
142
  auto config = GetPrivateKeyEncodingConfig(actualFormat, type.value());
134
143
  if (passphrase.has_value()) {
135
144
  auto& passphrase_ptr = passphrase.value();
136
- config.passphrase = std::make_optional(ncrypto::DataPointer(passphrase_ptr->data(), passphrase_ptr->size()));
145
+ config.passphrase =
146
+ std::make_optional(ncrypto::DataPointer::Copy(ncrypto::Buffer<const void>{passphrase_ptr->data(), passphrase_ptr->size()}));
137
147
  }
138
148
  ERR_clear_error();
139
149
  auto private_res = ncrypto::EVPKeyPointer::TryParsePrivateKey(config, buffer);
@@ -155,7 +165,8 @@ KeyObjectData KeyObjectData::GetPublicOrPrivateKey(std::shared_ptr<ArrayBuffer>
155
165
  auto config = GetPrivateKeyEncodingConfig(actualFormat, actualType);
156
166
  if (passphrase.has_value()) {
157
167
  auto& passphrase_ptr = passphrase.value();
158
- config.passphrase = std::make_optional(ncrypto::DataPointer(passphrase_ptr->data(), passphrase_ptr->size()));
168
+ config.passphrase =
169
+ std::make_optional(ncrypto::DataPointer::Copy(ncrypto::Buffer<const void>{passphrase_ptr->data(), passphrase_ptr->size()}));
159
170
  }
160
171
 
161
172
  ERR_clear_error();
@@ -181,25 +192,42 @@ KeyObjectData KeyObjectData::GetPublicOrPrivateKey(std::shared_ptr<ArrayBuffer>
181
192
  auto private_config = GetPrivateKeyEncodingConfig(actualFormat, type.value());
182
193
  if (passphrase.has_value()) {
183
194
  auto& passphrase_ptr = passphrase.value();
184
- private_config.passphrase = std::make_optional(ncrypto::DataPointer(passphrase_ptr->data(), passphrase_ptr->size()));
195
+ private_config.passphrase =
196
+ std::make_optional(ncrypto::DataPointer::Copy(ncrypto::Buffer<const void>{passphrase_ptr->data(), passphrase_ptr->size()}));
185
197
  }
186
198
  auto res = ncrypto::EVPKeyPointer::TryParsePrivateKey(private_config, buffer);
187
199
  if (res) {
188
200
  return CreateAsymmetric(KeyType::PRIVATE, std::move(res.value));
189
201
  }
190
202
  } else {
191
- // If no encoding type specified, try both SPKI and PKCS8
203
+ // If no encoding type specified, try both SPKI and PKCS8. Clear the OpenSSL error
204
+ // queue between attempts so a failed first parse doesn't taint ncrypto's
205
+ // post-parse ERR_peek_error() check on the second.
206
+ ERR_clear_error();
192
207
  auto public_config = GetPublicKeyEncodingConfig(actualFormat, KeyEncoding::SPKI);
193
208
  auto public_res = ncrypto::EVPKeyPointer::TryParsePublicKey(public_config, buffer);
194
209
  if (public_res) {
195
210
  return CreateAsymmetric(KeyType::PUBLIC, std::move(public_res.value));
196
211
  }
197
212
 
213
+ ERR_clear_error();
198
214
  auto private_config = GetPrivateKeyEncodingConfig(actualFormat, KeyEncoding::PKCS8);
215
+ if (passphrase.has_value()) {
216
+ auto& passphrase_ptr = passphrase.value();
217
+ private_config.passphrase =
218
+ std::make_optional(ncrypto::DataPointer::Copy(ncrypto::Buffer<const void>{passphrase_ptr->data(), passphrase_ptr->size()}));
219
+ }
199
220
  auto private_res = ncrypto::EVPKeyPointer::TryParsePrivateKey(private_config, buffer);
200
221
  if (private_res) {
201
222
  return CreateAsymmetric(KeyType::PRIVATE, std::move(private_res.value));
202
223
  }
224
+ if (private_res.error.has_value() && private_res.error.value() == ncrypto::EVPKeyPointer::PKParseError::NEED_PASSPHRASE) {
225
+ throw std::runtime_error("Passphrase required for encrypted key");
226
+ }
227
+ if (!passphrase.has_value() && private_res.openssl_error.has_value() &&
228
+ ERR_GET_REASON(private_res.openssl_error.value()) == ERR_R_INTERRUPTED_OR_CANCELLED) {
229
+ throw std::runtime_error("Passphrase required for encrypted key");
230
+ }
203
231
  }
204
232
  throw std::runtime_error("Failed to read DER asymmetric key");
205
233
  }
@@ -232,7 +260,8 @@ KeyObjectData KeyObjectData::GetPrivateKey(std::shared_ptr<ArrayBuffer> key, std
232
260
  auto private_config = GetPrivateKeyEncodingConfig(actualFormat, primaryEncoding);
233
261
  if (passphrase.has_value()) {
234
262
  auto& passphrase_ptr = passphrase.value();
235
- private_config.passphrase = std::make_optional(ncrypto::DataPointer(passphrase_ptr->data(), passphrase_ptr->size()));
263
+ private_config.passphrase =
264
+ std::make_optional(ncrypto::DataPointer::Copy(ncrypto::Buffer<const void>{passphrase_ptr->data(), passphrase_ptr->size()}));
236
265
  }
237
266
 
238
267
  // Clear any existing OpenSSL errors before parsing
@@ -242,22 +271,23 @@ KeyObjectData KeyObjectData::GetPrivateKey(std::shared_ptr<ArrayBuffer> key, std
242
271
  if (res) {
243
272
  return CreateAsymmetric(KeyType::PRIVATE, std::move(res.value));
244
273
  }
274
+ if (res.error.has_value() && res.error.value() == ncrypto::EVPKeyPointer::PKParseError::NEED_PASSPHRASE) {
275
+ throw std::runtime_error("Passphrase required for encrypted key");
276
+ }
245
277
 
246
- // If no specific encoding was provided, try other encodings as fallback
278
+ // If no specific encoding was provided, try other encodings as fallback.
279
+ // SEC1/PKCS1 DER are never encrypted, so passphrase is irrelevant here.
247
280
  if (!type.has_value()) {
248
281
  std::vector<KeyEncoding> fallbackEncodings = {KeyEncoding::SEC1, KeyEncoding::PKCS1};
249
282
  for (auto encoding : fallbackEncodings) {
250
283
  auto config = GetPrivateKeyEncodingConfig(actualFormat, encoding);
251
- if (passphrase.has_value()) {
252
- auto& passphrase_ptr = passphrase.value();
253
- config.passphrase = std::make_optional(ncrypto::DataPointer(passphrase_ptr->data(), passphrase_ptr->size()));
254
- }
255
284
  auto fallback_res = ncrypto::EVPKeyPointer::TryParsePrivateKey(config, buffer);
256
285
  if (fallback_res) {
257
286
  return CreateAsymmetric(KeyType::PRIVATE, std::move(fallback_res.value));
258
287
  }
259
288
  }
260
289
  }
290
+
261
291
  throw std::runtime_error("Failed to read DER private key");
262
292
  }
263
293
  }
@@ -5,6 +5,10 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.hkdf = hkdf;
7
7
  exports.hkdfDeriveBits = hkdfDeriveBits;
8
+ exports.hkdfExpand = hkdfExpand;
9
+ exports.hkdfExpandSync = hkdfExpandSync;
10
+ exports.hkdfExtract = hkdfExtract;
11
+ exports.hkdfExtractSync = hkdfExtractSync;
8
12
  exports.hkdfSync = hkdfSync;
9
13
  var _reactNativeBuffer = require("@craftzdog/react-native-buffer");
10
14
  var _reactNativeNitroModules = require("react-native-nitro-modules");
@@ -46,6 +50,13 @@ const HKDF_HASH_BYTES = {
46
50
  'sha3-512': 64,
47
51
  ripemd160: 20
48
52
  };
53
+ function hkdfHashLen(digest) {
54
+ const hashLen = HKDF_HASH_BYTES[digest.toLowerCase()];
55
+ if (hashLen === undefined) {
56
+ throw new TypeError(`Unsupported HKDF digest: ${digest}`);
57
+ }
58
+ return hashLen;
59
+ }
49
60
  function validateHkdfKeylen(digest, keylen) {
50
61
  if (typeof keylen !== 'number' || !Number.isFinite(keylen) || !Number.isInteger(keylen) || keylen < 0 || keylen > 0x7fff_ffff) {
51
62
  throw new TypeError('Bad key length');
@@ -68,7 +79,7 @@ function hkdf(digest, key, salt, info, keylen, callback) {
68
79
  const sanitizedInfo = sanitizeInput(info, 'Info');
69
80
  validateHkdfKeylen(normalizedDigest, keylen);
70
81
  const nativeMod = getNative();
71
- nativeMod.deriveKey(normalizedDigest, sanitizedKey, sanitizedSalt, sanitizedInfo, keylen).then(res => {
82
+ nativeMod.deriveKey(normalizedDigest, sanitizedKey, sanitizedSalt, sanitizedInfo, keylen, 'full').then(res => {
72
83
  callback(null, _reactNativeBuffer.Buffer.from(res));
73
84
  }, err => {
74
85
  callback(err);
@@ -84,9 +95,68 @@ function hkdfSync(digest, key, salt, info, keylen) {
84
95
  const sanitizedInfo = sanitizeInput(info, 'Info');
85
96
  validateHkdfKeylen(normalizedDigest, keylen);
86
97
  const nativeMod = getNative();
87
- const result = nativeMod.deriveKeySync(normalizedDigest, sanitizedKey, sanitizedSalt, sanitizedInfo, keylen);
98
+ const result = nativeMod.deriveKeySync(normalizedDigest, sanitizedKey, sanitizedSalt, sanitizedInfo, keylen, 'full');
99
+ return _reactNativeBuffer.Buffer.from(result);
100
+ }
101
+
102
+ // RFC 5869 §2.2 HKDF-Extract (sync): PRK = HMAC(salt, IKM). Salt defaults to
103
+ // a string of HashLen zeros when omitted. Returns a PRK of HashLen bytes.
104
+ function hkdfExtractSync(digest, ikm, salt = new Uint8Array(0)) {
105
+ const normalizedDigest = (0, _utils.normalizeHashName)(digest);
106
+ const hashLen = hkdfHashLen(normalizedDigest);
107
+ const sanitizedIkm = sanitizeInput(ikm, 'IKM');
108
+ const sanitizedSalt = sanitizeInput(salt, 'Salt');
109
+ const result = getNative().deriveKeySync(normalizedDigest, sanitizedIkm, sanitizedSalt, new ArrayBuffer(0), hashLen, 'extract');
110
+ return _reactNativeBuffer.Buffer.from(result);
111
+ }
112
+
113
+ // Async HKDF-Extract, mirroring `hkdf`. Unlike the sync form, `salt` is
114
+ // required here because the callback occupies the trailing argument.
115
+ function hkdfExtract(digest, ikm, salt, callback) {
116
+ validateCallback(callback);
117
+ try {
118
+ const normalizedDigest = (0, _utils.normalizeHashName)(digest);
119
+ const hashLen = hkdfHashLen(normalizedDigest);
120
+ const sanitizedIkm = sanitizeInput(ikm, 'IKM');
121
+ const sanitizedSalt = sanitizeInput(salt, 'Salt');
122
+ getNative().deriveKey(normalizedDigest, sanitizedIkm, sanitizedSalt, new ArrayBuffer(0), hashLen, 'extract').then(res => callback(null, _reactNativeBuffer.Buffer.from(res)), err => callback(err));
123
+ } catch (err) {
124
+ callback(err);
125
+ }
126
+ }
127
+
128
+ // RFC 5869 §2.3 HKDF-Expand (sync): OKM = expand(PRK, info, L). `prk` must be
129
+ // at least HashLen bytes (a pseudorandom key, e.g. from hkdfExtract).
130
+ function hkdfExpandSync(digest, prk, info, keylen) {
131
+ const normalizedDigest = (0, _utils.normalizeHashName)(digest);
132
+ const hashLen = hkdfHashLen(normalizedDigest);
133
+ const sanitizedPrk = sanitizeInput(prk, 'PRK');
134
+ if (sanitizedPrk.byteLength < hashLen) {
135
+ throw new RangeError(`HKDF-Expand PRK must be at least HashLen (${hashLen}) bytes for ${digest}`);
136
+ }
137
+ const sanitizedInfo = sanitizeInput(info, 'Info');
138
+ validateHkdfKeylen(normalizedDigest, keylen);
139
+ const result = getNative().deriveKeySync(normalizedDigest, sanitizedPrk, new ArrayBuffer(0), sanitizedInfo, keylen, 'expand');
88
140
  return _reactNativeBuffer.Buffer.from(result);
89
141
  }
142
+
143
+ // Async HKDF-Expand, mirroring `hkdf`.
144
+ function hkdfExpand(digest, prk, info, keylen, callback) {
145
+ validateCallback(callback);
146
+ try {
147
+ const normalizedDigest = (0, _utils.normalizeHashName)(digest);
148
+ const hashLen = hkdfHashLen(normalizedDigest);
149
+ const sanitizedPrk = sanitizeInput(prk, 'PRK');
150
+ if (sanitizedPrk.byteLength < hashLen) {
151
+ throw new RangeError(`HKDF-Expand PRK must be at least HashLen (${hashLen}) bytes for ${digest}`);
152
+ }
153
+ const sanitizedInfo = sanitizeInput(info, 'Info');
154
+ validateHkdfKeylen(normalizedDigest, keylen);
155
+ getNative().deriveKey(normalizedDigest, sanitizedPrk, new ArrayBuffer(0), sanitizedInfo, keylen, 'expand').then(res => callback(null, _reactNativeBuffer.Buffer.from(res)), err => callback(err));
156
+ } catch (err) {
157
+ callback(err);
158
+ }
159
+ }
90
160
  function hkdfDeriveBits(algorithm, baseKey, length) {
91
161
  const hash = algorithm.hash;
92
162
  const salt = algorithm.salt;
@@ -102,7 +172,7 @@ function hkdfDeriveBits(algorithm, baseKey, length) {
102
172
  const normalizedDigest = (0, _utils.normalizeHashName)(hashName);
103
173
  validateHkdfKeylen(normalizedDigest, keylen);
104
174
  const nativeMod = getNative();
105
- const result = nativeMod.deriveKeySync(normalizedDigest, (0, _utils.binaryLikeToArrayBuffer)(keyBuffer), (0, _utils.binaryLikeToArrayBuffer)(salt), (0, _utils.binaryLikeToArrayBuffer)(info), keylen);
175
+ const result = nativeMod.deriveKeySync(normalizedDigest, (0, _utils.binaryLikeToArrayBuffer)(keyBuffer), (0, _utils.binaryLikeToArrayBuffer)(salt), (0, _utils.binaryLikeToArrayBuffer)(info), keylen, 'full');
106
176
  return result;
107
177
  }
108
178
  //# sourceMappingURL=hkdf.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_reactNativeBuffer","require","_reactNativeNitroModules","_utils","native","getNative","NitroModules","createHybridObject","validateCallback","callback","undefined","Error","sanitizeInput","input","name","binaryLikeToArrayBuffer","HKDF_HASH_BYTES","sha1","sha224","sha256","sha384","sha512","ripemd160","validateHkdfKeylen","digest","keylen","Number","isFinite","isInteger","TypeError","hashLen","toLowerCase","RangeError","hkdf","key","salt","info","normalizedDigest","normalizeHashName","sanitizedKey","sanitizedSalt","sanitizedInfo","nativeMod","deriveKey","then","res","Buffer","from","err","hkdfSync","result","deriveKeySync","hkdfDeriveBits","algorithm","baseKey","length","hash","keyBuffer","keyObject","export","Math","ceil","hashName"],"sourceRoot":"../../src","sources":["hkdf.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_reactNativeBuffer","require","_reactNativeNitroModules","_utils","native","getNative","NitroModules","createHybridObject","validateCallback","callback","undefined","Error","sanitizeInput","input","name","binaryLikeToArrayBuffer","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","normalizeHashName","sanitizedKey","sanitizedSalt","sanitizedInfo","nativeMod","deriveKey","then","res","Buffer","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":[]}
@@ -103,7 +103,7 @@ class KeyObject {
103
103
  toCryptoKey(algorithm, extractable, keyUsages) {
104
104
  return new CryptoKey(this, algorithm, keyUsages, extractable);
105
105
  }
106
- static createKeyObject(type, key, format, encoding) {
106
+ static createKeyObject(type, key, format, encoding, passphrase) {
107
107
  if (type !== 'secret' && type !== 'public' && type !== 'private') throw new Error(`invalid KeyObject type: ${type}`);
108
108
  const handle = _reactNativeNitroModules.NitroModules.createHybridObject('KeyObjectHandle');
109
109
  let keyType;
@@ -120,13 +120,7 @@ class KeyObject {
120
120
  default:
121
121
  throw new Error('invalid key type');
122
122
  }
123
-
124
- // If format is provided, use it (encoding is optional)
125
- if (format !== undefined) {
126
- handle.init(keyType, key, format, encoding);
127
- } else {
128
- handle.init(keyType, key);
129
- }
123
+ handle.init(keyType, key, format, encoding, passphrase);
130
124
 
131
125
  // For asymmetric keys, return the appropriate subclass
132
126
  if (type === 'public' || type === 'private') {
@@ -1 +1 @@
1
- {"version":3,"names":["_reactNativeBuffer","require","_reactNativeNitroModules","_utils","_utils2","CryptoKey","Symbol","toStringTag","constructor","keyObject","keyAlgorithm","keyUsages","keyExtractable","Object","freeze","getSortedUsages","inspect","_depth","_options","Error","type","extractable","algorithm","usages","exports","KeyObject","export","equals","otherKeyObject","TypeError","handle","keyEquals","handleOrKey","ArrayBuffer","NitroModules","createHybridObject","keyType","KeyType","PUBLIC","PRIVATE","SECRET","init","from","key","toCryptoKey","createKeyObject","format","encoding","undefined","getAsymmetricKeyType","PublicKeyObject","PrivateKeyObject","SecretKeyObject","getAsymmetricKeyDetails","symmetricKeySize","getSymmetricKeySize","options","exportKey","Buffer","AsymmetricKeyObject","asymmetricKeyType","_asymmetricKeyType","asymmetricKeyDetails","_asymmetricKeyDetails","keyDetail","namedCurve","exportJwk","pointType","exportECPublicRaw","exportRawPublic","parsePublicKeyEncoding","buffer","toString","passphrase","exportECPrivateRaw","exportRawPrivate","exportRawSeed","cipher","parsePrivateKeyEncoding"],"sourceRoot":"../../../src","sources":["keys/classes.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_reactNativeBuffer","require","_reactNativeNitroModules","_utils","_utils2","CryptoKey","Symbol","toStringTag","constructor","keyObject","keyAlgorithm","keyUsages","keyExtractable","Object","freeze","getSortedUsages","inspect","_depth","_options","Error","type","extractable","algorithm","usages","exports","KeyObject","export","equals","otherKeyObject","TypeError","handle","keyEquals","handleOrKey","ArrayBuffer","NitroModules","createHybridObject","keyType","KeyType","PUBLIC","PRIVATE","SECRET","init","from","key","toCryptoKey","createKeyObject","format","encoding","passphrase","getAsymmetricKeyType","PublicKeyObject","PrivateKeyObject","SecretKeyObject","undefined","getAsymmetricKeyDetails","symmetricKeySize","getSymmetricKeySize","options","exportKey","Buffer","AsymmetricKeyObject","asymmetricKeyType","_asymmetricKeyType","asymmetricKeyDetails","_asymmetricKeyDetails","keyDetail","namedCurve","exportJwk","pointType","exportECPublicRaw","exportRawPublic","parsePublicKeyEncoding","buffer","toString","exportECPrivateRaw","exportRawPrivate","exportRawSeed","cipher","parsePrivateKeyEncoding"],"sourceRoot":"../../../src","sources":["keys/classes.ts"],"mappings":"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","ignoreList":[]}
@@ -231,8 +231,10 @@ function prepareAsymmetricKey(key, isPublic) {
231
231
  const {
232
232
  key: data,
233
233
  format,
234
- type
234
+ type,
235
+ passphrase
235
236
  } = keyObj;
237
+ const passphraseAB = passphrase !== undefined ? (0, _utils2.binaryLikeToArrayBuffer)(passphrase) : undefined;
236
238
  if (data instanceof _classes.KeyObject) {
237
239
  return prepareAsymmetricKey(data, isPublic);
238
240
  }
@@ -248,7 +250,8 @@ function prepareAsymmetricKey(key, isPublic) {
248
250
  return {
249
251
  data: (0, _utils2.binaryLikeToArrayBuffer)(data),
250
252
  format: 'pem',
251
- type
253
+ type,
254
+ passphrase: passphraseAB
252
255
  };
253
256
  }
254
257
 
@@ -258,7 +261,8 @@ function prepareAsymmetricKey(key, isPublic) {
258
261
  return {
259
262
  data: (0, _utils2.binaryLikeToArrayBuffer)(data),
260
263
  format: filteredFormat,
261
- type
264
+ type,
265
+ passphrase: passphraseAB
262
266
  };
263
267
  }
264
268
  throw new Error('Invalid key input');
@@ -288,7 +292,8 @@ function createPublicKey(key) {
288
292
  const {
289
293
  data,
290
294
  format,
291
- type
295
+ type,
296
+ passphrase
292
297
  } = prepareAsymmetricKey(key, true);
293
298
 
294
299
  // Map format string to KFormatType enum
@@ -298,7 +303,7 @@ function createPublicKey(key) {
298
303
  // Map type string to KeyEncoding enum
299
304
  let kType;
300
305
  if (type === 'spki') kType = _utils2.KeyEncoding.SPKI;else if (type === 'pkcs1') kType = _utils2.KeyEncoding.PKCS1;
301
- return _classes.KeyObject.createKeyObject('public', data, kFormat, kType);
306
+ return _classes.KeyObject.createKeyObject('public', data, kFormat, kType, passphrase);
302
307
  }
303
308
  function createPrivateKey(key) {
304
309
  if (typeof key === 'object' && 'key' in key && isRawFormat(key.format)) {
@@ -318,7 +323,8 @@ function createPrivateKey(key) {
318
323
  const {
319
324
  data,
320
325
  format,
321
- type
326
+ type,
327
+ passphrase
322
328
  } = prepareAsymmetricKey(key, false);
323
329
 
324
330
  // Map format string to KFormatType enum
@@ -328,7 +334,7 @@ function createPrivateKey(key) {
328
334
  // Map type string to KeyEncoding enum
329
335
  let kType;
330
336
  if (type === 'pkcs8') kType = _utils2.KeyEncoding.PKCS8;else if (type === 'pkcs1') kType = _utils2.KeyEncoding.PKCS1;else if (type === 'sec1') kType = _utils2.KeyEncoding.SEC1;
331
- return _classes.KeyObject.createKeyObject('private', data, kFormat, kType);
337
+ return _classes.KeyObject.createKeyObject('private', data, kFormat, kType, passphrase);
332
338
  }
333
339
  function generateKeySync(type, options) {
334
340
  if (typeof type !== 'string') {
@@ -1 +1 @@
1
- {"version":3,"names":["_classes","require","_generateKeyPair","_signVerify","_publicCipher","_utils","_reactNativeNitroModules","_utils2","_random","isRawFormat","format","createPublicKeyFromRaw","input","Error","asymmetricKeyType","namedCurve","handle","NitroModules","createHybridObject","initRawPublic","toAB","key","PublicKeyObject","createPrivateKeyFromRaw","initRawSeed","initRawPrivate","PrivateKeyObject","createSecretKey","keyBuffer","KeyObject","createKeyObject","prepareAsymmetricKey","isPublic","type","exported","exportKey","KFormatType","DER","KeyEncoding","SPKI","data","PKCS8","isCryptoKey","cryptoKey","keyObject","isStringOrBuffer","isPem","includes","undefined","keyObj","filteredFormat","createPublicKey","keyType","initJwk","KeyType","PRIVATE","pubHandle","init","PUBLIC","kFormat","PEM","kType","PKCS1","createPrivateKey","SEC1","generateKeySync","options","TypeError","length","Number","isInteger","RangeError","keyBytes","keyMaterial","randomBytes","generateKey","callback","process","nextTick","err"],"sourceRoot":"../../../src","sources":["keys/index.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_classes","require","_generateKeyPair","_signVerify","_publicCipher","_utils","_reactNativeNitroModules","_utils2","_random","isRawFormat","format","createPublicKeyFromRaw","input","Error","asymmetricKeyType","namedCurve","handle","NitroModules","createHybridObject","initRawPublic","toAB","key","PublicKeyObject","createPrivateKeyFromRaw","initRawSeed","initRawPrivate","PrivateKeyObject","createSecretKey","keyBuffer","KeyObject","createKeyObject","prepareAsymmetricKey","isPublic","type","exported","exportKey","KFormatType","DER","KeyEncoding","SPKI","data","PKCS8","isCryptoKey","cryptoKey","keyObject","isStringOrBuffer","isPem","includes","undefined","keyObj","passphrase","passphraseAB","filteredFormat","createPublicKey","keyType","initJwk","KeyType","PRIVATE","pubHandle","init","PUBLIC","kFormat","PEM","kType","PKCS1","createPrivateKey","SEC1","generateKeySync","options","TypeError","length","Number","isInteger","RangeError","keyBytes","keyMaterial","randomBytes","generateKey","callback","process","nextTick","err"],"sourceRoot":"../../../src","sources":["keys/index.ts"],"mappings":"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","ignoreList":[]}