react-native-quick-crypto 1.1.4 → 1.1.5
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/keys/HybridKeyObjectHandle.cpp +2 -1
- package/cpp/keys/KeyObjectData.cpp +47 -17
- 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/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/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/package.json +1 -1
- package/src/keys/classes.ts +2 -6
- package/src/keys/index.ts +20 -5
package/QuickCrypto.podspec
CHANGED
|
@@ -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
|
|
|
@@ -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 =
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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
|
}
|
|
@@ -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","
|
|
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":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,QAAA,GAAAC,OAAA;AAQA,IAAAC,gBAAA,GAAAD,OAAA;AACA,IAAAE,WAAA,GAAAF,OAAA;AAQA,IAAAG,aAAA,GAAAH,OAAA;AAMA,IAAAI,MAAA,GAAAJ,OAAA;AAMA,IAAAK,wBAAA,GAAAL,OAAA;AAEA,IAAAM,OAAA,GAAAN,OAAA;AAOA,IAAAO,OAAA,GAAAP,OAAA;AAcA,SAASQ,WAAWA,CAClBC,MAA0B,EAC2B;EACrD,OACEA,MAAM,KAAK,YAAY,IAAIA,MAAM,KAAK,aAAa,IAAIA,MAAM,KAAK,UAAU;AAEhF;AAEA,SAASC,sBAAsBA,CAACC,KAAqB,EAAmB;EACtE,IAAIA,KAAK,CAACF,MAAM,KAAK,YAAY,EAAE;IACjC,MAAM,IAAIG,KAAK,CAAC,+CAA+C,CAAC;EAClE;EACA,IAAI,OAAOD,KAAK,CAACE,iBAAiB,KAAK,QAAQ,EAAE;IAC/C,MAAM,IAAID,KAAK,CAAC,0DAA0D,CAAC;EAC7E;EACA,IAAID,KAAK,CAACE,iBAAiB,KAAK,IAAI,IAAI,CAACF,KAAK,CAACG,UAAU,EAAE;IACzD,MAAM,IAAIF,KAAK,CAAC,sDAAsD,CAAC;EACzE;EACA,MAAMG,MAAM,GACVC,qCAAY,CAACC,kBAAkB,CAAkB,iBAAiB,CAAC;EACrEF,MAAM,CAACG,aAAa,CAClBP,KAAK,CAACE,iBAAiB,EACvB,IAAAM,+BAAI,EAACR,KAAK,CAACS,GAAiB,CAAC,EAC7BT,KAAK,CAACG,UACR,CAAC;EACD,OAAO,IAAIO,wBAAe,CAACN,MAAM,CAAC;AACpC;AAEA,SAASO,uBAAuBA,CAACX,KAAqB,EAAoB;EACxE,IAAIA,KAAK,CAACF,MAAM,KAAK,aAAa,IAAIE,KAAK,CAACF,MAAM,KAAK,UAAU,EAAE;IACjE,MAAM,IAAIG,KAAK,CAAC,gDAAgD,CAAC;EACnE;EACA,IAAI,OAAOD,KAAK,CAACE,iBAAiB,KAAK,QAAQ,EAAE;IAC/C,MAAM,IAAID,KAAK,CAAC,0DAA0D,CAAC;EAC7E;EACA,IAAID,KAAK,CAACE,iBAAiB,KAAK,IAAI,IAAI,CAACF,KAAK,CAACG,UAAU,EAAE;IACzD,MAAM,IAAIF,KAAK,CAAC,sDAAsD,CAAC;EACzE;EACA,MAAMG,MAAM,GACVC,qCAAY,CAACC,kBAAkB,CAAkB,iBAAiB,CAAC;EACrE,IAAIN,KAAK,CAACF,MAAM,KAAK,UAAU,EAAE;IAC/BM,MAAM,CAACQ,WAAW,CAACZ,KAAK,CAACE,iBAAiB,EAAE,IAAAM,+BAAI,EAACR,KAAK,CAACS,GAAiB,CAAC,CAAC;EAC5E,CAAC,MAAM;IACLL,MAAM,CAACS,cAAc,CACnBb,KAAK,CAACE,iBAAiB,EACvB,IAAAM,+BAAI,EAACR,KAAK,CAACS,GAAiB,CAAC,EAC7BT,KAAK,CAACG,UACR,CAAC;EACH;EACA,OAAO,IAAIW,yBAAgB,CAACV,MAAM,CAAC;AACrC;AAEA,SAASW,eAAeA,CAACN,GAAe,EAAmB;EACzD,MAAMO,SAAS,GAAG,IAAAR,+BAAI,EAACC,GAAG,CAAC;EAC3B,OAAOQ,kBAAS,CAACC,eAAe,CAAC,QAAQ,EAAEF,SAAS,CAAC;AACvD;AAEA,SAASG,oBAAoBA,CAC3BV,GAAa,EACbW,QAAiB,
|
|
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":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,QAAA,GAAAC,OAAA;AAQA,IAAAC,gBAAA,GAAAD,OAAA;AACA,IAAAE,WAAA,GAAAF,OAAA;AAQA,IAAAG,aAAA,GAAAH,OAAA;AAMA,IAAAI,MAAA,GAAAJ,OAAA;AAMA,IAAAK,wBAAA,GAAAL,OAAA;AAEA,IAAAM,OAAA,GAAAN,OAAA;AAOA,IAAAO,OAAA,GAAAP,OAAA;AAcA,SAASQ,WAAWA,CAClBC,MAA0B,EAC2B;EACrD,OACEA,MAAM,KAAK,YAAY,IAAIA,MAAM,KAAK,aAAa,IAAIA,MAAM,KAAK,UAAU;AAEhF;AAEA,SAASC,sBAAsBA,CAACC,KAAqB,EAAmB;EACtE,IAAIA,KAAK,CAACF,MAAM,KAAK,YAAY,EAAE;IACjC,MAAM,IAAIG,KAAK,CAAC,+CAA+C,CAAC;EAClE;EACA,IAAI,OAAOD,KAAK,CAACE,iBAAiB,KAAK,QAAQ,EAAE;IAC/C,MAAM,IAAID,KAAK,CAAC,0DAA0D,CAAC;EAC7E;EACA,IAAID,KAAK,CAACE,iBAAiB,KAAK,IAAI,IAAI,CAACF,KAAK,CAACG,UAAU,EAAE;IACzD,MAAM,IAAIF,KAAK,CAAC,sDAAsD,CAAC;EACzE;EACA,MAAMG,MAAM,GACVC,qCAAY,CAACC,kBAAkB,CAAkB,iBAAiB,CAAC;EACrEF,MAAM,CAACG,aAAa,CAClBP,KAAK,CAACE,iBAAiB,EACvB,IAAAM,+BAAI,EAACR,KAAK,CAACS,GAAiB,CAAC,EAC7BT,KAAK,CAACG,UACR,CAAC;EACD,OAAO,IAAIO,wBAAe,CAACN,MAAM,CAAC;AACpC;AAEA,SAASO,uBAAuBA,CAACX,KAAqB,EAAoB;EACxE,IAAIA,KAAK,CAACF,MAAM,KAAK,aAAa,IAAIE,KAAK,CAACF,MAAM,KAAK,UAAU,EAAE;IACjE,MAAM,IAAIG,KAAK,CAAC,gDAAgD,CAAC;EACnE;EACA,IAAI,OAAOD,KAAK,CAACE,iBAAiB,KAAK,QAAQ,EAAE;IAC/C,MAAM,IAAID,KAAK,CAAC,0DAA0D,CAAC;EAC7E;EACA,IAAID,KAAK,CAACE,iBAAiB,KAAK,IAAI,IAAI,CAACF,KAAK,CAACG,UAAU,EAAE;IACzD,MAAM,IAAIF,KAAK,CAAC,sDAAsD,CAAC;EACzE;EACA,MAAMG,MAAM,GACVC,qCAAY,CAACC,kBAAkB,CAAkB,iBAAiB,CAAC;EACrE,IAAIN,KAAK,CAACF,MAAM,KAAK,UAAU,EAAE;IAC/BM,MAAM,CAACQ,WAAW,CAACZ,KAAK,CAACE,iBAAiB,EAAE,IAAAM,+BAAI,EAACR,KAAK,CAACS,GAAiB,CAAC,CAAC;EAC5E,CAAC,MAAM;IACLL,MAAM,CAACS,cAAc,CACnBb,KAAK,CAACE,iBAAiB,EACvB,IAAAM,+BAAI,EAACR,KAAK,CAACS,GAAiB,CAAC,EAC7BT,KAAK,CAACG,UACR,CAAC;EACH;EACA,OAAO,IAAIW,yBAAgB,CAACV,MAAM,CAAC;AACrC;AAEA,SAASW,eAAeA,CAACN,GAAe,EAAmB;EACzD,MAAMO,SAAS,GAAG,IAAAR,+BAAI,EAACC,GAAG,CAAC;EAC3B,OAAOQ,kBAAS,CAACC,eAAe,CAAC,QAAQ,EAAEF,SAAS,CAAC;AACvD;AAEA,SAASG,oBAAoBA,CAC3BV,GAAa,EACbW,QAAiB,EAMjB;EACA,IAAIX,GAAG,YAAYQ,kBAAS,EAAE;IAC5B,IAAIG,QAAQ,EAAE;MACZ;MACA,IAAIX,GAAG,CAACY,IAAI,KAAK,QAAQ,EAAE;QACzB,MAAM,IAAIpB,KAAK,CAAC,0CAA0C,CAAC;MAC7D;MACA;MACA,MAAMqB,QAAQ,GAAGb,GAAG,CAACL,MAAM,CAACmB,SAAS,CAACC,mBAAW,CAACC,GAAG,EAAEC,mBAAW,CAACC,IAAI,CAAC;MACxE,OAAO;QAAEC,IAAI,EAAEN,QAAQ;QAAExB,MAAM,EAAE,KAAK;QAAEuB,IAAI,EAAE;MAAO,CAAC;IACxD,CAAC,MAAM;MACL;MACA,IAAIZ,GAAG,CAACY,IAAI,KAAK,SAAS,EAAE;QAC1B,MAAM,IAAIpB,KAAK,CAAC,2BAA2B,CAAC;MAC9C;MACA,MAAMqB,QAAQ,GAAGb,GAAG,CAACL,MAAM,CAACmB,SAAS,CAACC,mBAAW,CAACC,GAAG,EAAEC,mBAAW,CAACG,KAAK,CAAC;MACzE,OAAO;QAAED,IAAI,EAAEN,QAAQ;QAAExB,MAAM,EAAE,KAAK;QAAEuB,IAAI,EAAE;MAAQ,CAAC;IACzD;EACF;EAEA,IAAI,IAAAS,kBAAW,EAACrB,GAAG,CAAC,EAAE;IACpB,MAAMsB,SAAS,GAAGtB,GAAgB;IAClC,OAAOU,oBAAoB,CAACY,SAAS,CAACC,SAAS,EAAEZ,QAAQ,CAAC;EAC5D;EAEA,IAAI,IAAAa,wBAAgB,EAACxB,GAAG,CAAC,EAAE;IACzB;IACA,MAAMyB,KAAK,GAAG,OAAOzB,GAAG,KAAK,QAAQ,IAAIA,GAAG,CAAC0B,QAAQ,CAAC,YAAY,CAAC;IACnE,OAAO;MAAEP,IAAI,EAAE,IAAApB,+BAAI,EAACC,GAAG,CAAC;MAAEX,MAAM,EAAEoC,KAAK,GAAG,KAAK,GAAGE;IAAU,CAAC;EAC/D;EAEA,IAAI,OAAO3B,GAAG,KAAK,QAAQ,IAAI,KAAK,IAAIA,GAAG,EAAE;IAC3C,MAAM4B,MAAM,GAAG5B,GAAqB;IACpC,MAAM;MAAEA,GAAG,EAAEmB,IAAI;MAAE9B,MAAM;MAAEuB,IAAI;MAAEiB;IAAW,CAAC,GAAGD,MAAM;IACtD,MAAME,YAAY,GAChBD,UAAU,KAAKF,SAAS,GAAG,IAAA5B,+BAAI,EAAC8B,UAAU,CAAC,GAAGF,SAAS;IAEzD,IAAIR,IAAI,YAAYX,kBAAS,EAAE;MAC7B,OAAOE,oBAAoB,CAACS,IAAI,EAAER,QAAQ,CAAC;IAC7C;IAEA,IAAI,IAAAU,kBAAW,EAACF,IAAI,CAAC,EAAE;MACrB,OAAOT,oBAAoB,CAAES,IAAI,CAAeI,SAAS,EAAEZ,QAAQ,CAAC;IACtE;IAEA,IAAI,CAAC,IAAAa,wBAAgB,EAACL,IAAI,CAAC,EAAE;MAC3B,MAAM,IAAI3B,KAAK,CAAC,uBAAuB,CAAC;IAC1C;;IAEA;IACA,IACE,CAACH,MAAM,KAAK,KAAK,IACd,OAAO8B,IAAI,KAAK,QAAQ,IAAIA,IAAI,CAACO,QAAQ,CAAC,YAAY,CAAE,KAC3D,OAAOP,IAAI,KAAK,QAAQ,EACxB;MACA,OAAO;QACLA,IAAI,EAAE,IAAApB,+BAAI,EAACoB,IAAI,CAAC;QAChB9B,MAAM,EAAE,KAAK;QACbuB,IAAI;QACJiB,UAAU,EAAEC;MACd,CAAC;IACH;;IAEA;IACA;IACA,MAAMC,cAAyC,GAC7C1C,MAAM,KAAK,KAAK,IAAIA,MAAM,KAAK,KAAK,GAAGA,MAAM,GAAGsC,SAAS;IAC3D,OAAO;MACLR,IAAI,EAAE,IAAApB,+BAAI,EAACoB,IAAI,CAAC;MAChB9B,MAAM,EAAE0C,cAAc;MACtBnB,IAAI;MACJiB,UAAU,EAAEC;IACd,CAAC;EACH;EAEA,MAAM,IAAItC,KAAK,CAAC,mBAAmB,CAAC;AACtC;AAEA,SAASwC,eAAeA,CAAChC,GAAa,EAAmB;EACvD,IAAI,OAAOA,GAAG,KAAK,QAAQ,IAAI,KAAK,IAAIA,GAAG,IAAIZ,WAAW,CAACY,GAAG,CAACX,MAAM,CAAC,EAAE;IACtE,IAAIW,GAAG,CAACX,MAAM,KAAK,YAAY,EAAE;MAC/B,MAAM,IAAIG,KAAK,CACb,kBAAkBQ,GAAG,CAACX,MAAM,qDAC9B,CAAC;IACH;IACA,OAAOC,sBAAsB,CAACU,GAAqB,CAAC;EACtD;EACA,IAAI,OAAOA,GAAG,KAAK,QAAQ,IAAI,KAAK,IAAIA,GAAG,IAAIA,GAAG,CAACX,MAAM,KAAK,KAAK,EAAE;IACnE,MAAMM,MAAM,GACVC,qCAAY,CAACC,kBAAkB,CAAkB,iBAAiB,CAAC;IACrE,MAAMoC,OAAO,GAAGtC,MAAM,CAACuC,OAAO,CAAClC,GAAG,CAACA,GAAU,CAAC;IAC9C,IAAIiC,OAAO,KAAKN,SAAS,EAAE;MACzB,MAAM,IAAInC,KAAK,CAAC,sBAAsB,CAAC;IACzC;IACA,IAAIyC,OAAO,KAAKE,eAAO,CAACC,OAAO,EAAE;MAC/B;MACA,MAAMvB,QAAQ,GAAGlB,MAAM,CAACmB,SAAS,CAACC,mBAAW,CAACC,GAAG,EAAEC,mBAAW,CAACC,IAAI,CAAC;MACpE,MAAMmB,SAAS,GACbzC,qCAAY,CAACC,kBAAkB,CAAkB,iBAAiB,CAAC;MACrEwC,SAAS,CAACC,IAAI,CACZH,eAAO,CAACI,MAAM,EACd1B,QAAQ,EACRE,mBAAW,CAACC,GAAG,EACfC,mBAAW,CAACC,IACd,CAAC;MACD,OAAO,IAAIjB,wBAAe,CAACoC,SAAS,CAAC;IACvC;IACA,OAAO,IAAIpC,wBAAe,CAACN,MAAM,CAAC;EACpC;EAEA,MAAM;IAAEwB,IAAI;IAAE9B,MAAM;IAAEuB,IAAI;IAAEiB;EAAW,CAAC,GAAGnB,oBAAoB,CAACV,GAAG,EAAE,IAAI,CAAC;;EAE1E;EACA,IAAIwC,OAAgC;EACpC,IAAInD,MAAM,KAAK,KAAK,EAAEmD,OAAO,GAAGzB,mBAAW,CAAC0B,GAAG,CAAC,KAC3C,IAAIpD,MAAM,KAAK,KAAK,EAAEmD,OAAO,GAAGzB,mBAAW,CAACC,GAAG;;EAEpD;EACA,IAAI0B,KAA8B;EAClC,IAAI9B,IAAI,KAAK,MAAM,EAAE8B,KAAK,GAAGzB,mBAAW,CAACC,IAAI,CAAC,KACzC,IAAIN,IAAI,KAAK,OAAO,EAAE8B,KAAK,GAAGzB,mBAAW,CAAC0B,KAAK;EAEpD,OAAOnC,kBAAS,CAACC,eAAe,CAC9B,QAAQ,EACRU,IAAI,EACJqB,OAAO,EACPE,KAAK,EACLb,UACF,CAAC;AACH;AAEA,SAASe,gBAAgBA,CAAC5C,GAAa,EAAoB;EACzD,IAAI,OAAOA,GAAG,KAAK,QAAQ,IAAI,KAAK,IAAIA,GAAG,IAAIZ,WAAW,CAACY,GAAG,CAACX,MAAM,CAAC,EAAE;IACtE,IAAIW,GAAG,CAACX,MAAM,KAAK,YAAY,EAAE;MAC/B,MAAM,IAAIG,KAAK,CAAC,kDAAkD,CAAC;IACrE;IACA,OAAOU,uBAAuB,CAACF,GAAqB,CAAC;EACvD;EACA,IAAI,OAAOA,GAAG,KAAK,QAAQ,IAAI,KAAK,IAAIA,GAAG,IAAIA,GAAG,CAACX,MAAM,KAAK,KAAK,EAAE;IACnE,MAAMM,MAAM,GACVC,qCAAY,CAACC,kBAAkB,CAAkB,iBAAiB,CAAC;IACrE,MAAMoC,OAAO,GAAGtC,MAAM,CAACuC,OAAO,CAAClC,GAAG,CAACA,GAAU,CAAC;IAC9C,IAAIiC,OAAO,KAAKN,SAAS,IAAIM,OAAO,KAAKE,eAAO,CAACC,OAAO,EAAE;MACxD,MAAM,IAAI5C,KAAK,CAAC,uCAAuC,CAAC;IAC1D;IACA,OAAO,IAAIa,yBAAgB,CAACV,MAAM,CAAC;EACrC;EAEA,MAAM;IAAEwB,IAAI;IAAE9B,MAAM;IAAEuB,IAAI;IAAEiB;EAAW,CAAC,GAAGnB,oBAAoB,CAACV,GAAG,EAAE,KAAK,CAAC;;EAE3E;EACA,IAAIwC,OAAgC;EACpC,IAAInD,MAAM,KAAK,KAAK,EAAEmD,OAAO,GAAGzB,mBAAW,CAAC0B,GAAG,CAAC,KAC3C,IAAIpD,MAAM,KAAK,KAAK,EAAEmD,OAAO,GAAGzB,mBAAW,CAACC,GAAG;;EAEpD;EACA,IAAI0B,KAA8B;EAClC,IAAI9B,IAAI,KAAK,OAAO,EAAE8B,KAAK,GAAGzB,mBAAW,CAACG,KAAK,CAAC,KAC3C,IAAIR,IAAI,KAAK,OAAO,EAAE8B,KAAK,GAAGzB,mBAAW,CAAC0B,KAAK,CAAC,KAChD,IAAI/B,IAAI,KAAK,MAAM,EAAE8B,KAAK,GAAGzB,mBAAW,CAAC4B,IAAI;EAElD,OAAOrC,kBAAS,CAACC,eAAe,CAC9B,SAAS,EACTU,IAAI,EACJqB,OAAO,EACPE,KAAK,EACLb,UACF,CAAC;AACH;AAMA,SAASiB,eAAeA,CACtBlC,IAAoB,EACpBmC,OAA2B,EACV;EACjB,IAAI,OAAOnC,IAAI,KAAK,QAAQ,EAAE;IAC5B,MAAM,IAAIoC,SAAS,CAAC,sCAAsC,CAAC;EAC7D;EACA,IAAI,OAAOD,OAAO,KAAK,QAAQ,IAAIA,OAAO,KAAK,IAAI,EAAE;IACnD,MAAM,IAAIC,SAAS,CAAC,0CAA0C,CAAC;EACjE;EAEA,MAAM;IAAEC;EAAO,CAAC,GAAGF,OAAO;EAE1B,IAAI,OAAOE,MAAM,KAAK,QAAQ,IAAI,CAACC,MAAM,CAACC,SAAS,CAACF,MAAM,CAAC,EAAE;IAC3D,MAAM,IAAID,SAAS,CAAC,kDAAkD,CAAC;EACzE;EAEA,QAAQpC,IAAI;IACV,KAAK,MAAM;MACT,IAAIqC,MAAM,GAAG,CAAC,IAAIA,MAAM,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,EAAE;QACtC,MAAM,IAAIG,UAAU,CAClB,8DACF,CAAC;MACH;MACA;IACF,KAAK,KAAK;MACR,IAAIH,MAAM,KAAK,GAAG,IAAIA,MAAM,KAAK,GAAG,IAAIA,MAAM,KAAK,GAAG,EAAE;QACtD,MAAM,IAAIG,UAAU,CAClB,wDACF,CAAC;MACH;MACA;IACF;MACE,MAAM,IAAIJ,SAAS,CACjB,0DAA0DpC,IAAI,GAChE,CAAC;EACL;EAEA,MAAMyC,QAAQ,GAAGJ,MAAM,GAAG,CAAC;EAC3B,MAAMK,WAAW,GAAG,IAAAC,mBAAW,EAACF,QAAQ,CAAC;EACzC,OAAO/C,eAAe,CAACgD,WAAW,CAAC;AACrC;AAEA,SAASE,WAAWA,CAClB5C,IAAoB,EACpBmC,OAA2B,EAC3BU,QAA4D,EACtD;EACN,IAAI,OAAOA,QAAQ,KAAK,UAAU,EAAE;IAClC,MAAM,IAAIT,SAAS,CAAC,4CAA4C,CAAC;EACnE;EAEA,IAAI;IACF,MAAMhD,GAAG,GAAG8C,eAAe,CAAClC,IAAI,EAAEmC,OAAO,CAAC;IAC1CW,OAAO,CAACC,QAAQ,CAACF,QAAQ,EAAE,IAAI,EAAEzD,GAAG,CAAC;EACvC,CAAC,CAAC,OAAO4D,GAAG,EAAE;IACZF,OAAO,CAACC,QAAQ,CAACF,QAAQ,EAAEG,GAAY,CAAC;EAC1C;AACF","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":[]}
|
|
@@ -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"}
|
package/package.json
CHANGED
package/src/keys/classes.ts
CHANGED
|
@@ -150,6 +150,7 @@ export class KeyObject {
|
|
|
150
150
|
key: ArrayBuffer,
|
|
151
151
|
format?: KFormatType,
|
|
152
152
|
encoding?: KeyEncoding,
|
|
153
|
+
passphrase?: ArrayBuffer,
|
|
153
154
|
): KeyObject {
|
|
154
155
|
if (type !== 'secret' && type !== 'public' && type !== 'private')
|
|
155
156
|
throw new Error(`invalid KeyObject type: ${type}`);
|
|
@@ -172,12 +173,7 @@ export class KeyObject {
|
|
|
172
173
|
throw new Error('invalid key type');
|
|
173
174
|
}
|
|
174
175
|
|
|
175
|
-
|
|
176
|
-
if (format !== undefined) {
|
|
177
|
-
handle.init(keyType, key, format, encoding);
|
|
178
|
-
} else {
|
|
179
|
-
handle.init(keyType, key);
|
|
180
|
-
}
|
|
176
|
+
handle.init(keyType, key, format, encoding, passphrase);
|
|
181
177
|
|
|
182
178
|
// For asymmetric keys, return the appropriate subclass
|
|
183
179
|
if (type === 'public' || type === 'private') {
|
package/src/keys/index.ts
CHANGED
|
@@ -114,6 +114,7 @@ function prepareAsymmetricKey(
|
|
|
114
114
|
data: ArrayBuffer;
|
|
115
115
|
format?: 'pem' | 'der';
|
|
116
116
|
type?: 'pkcs1' | 'pkcs8' | 'spki' | 'sec1';
|
|
117
|
+
passphrase?: ArrayBuffer;
|
|
117
118
|
} {
|
|
118
119
|
if (key instanceof KeyObject) {
|
|
119
120
|
if (isPublic) {
|
|
@@ -147,7 +148,9 @@ function prepareAsymmetricKey(
|
|
|
147
148
|
|
|
148
149
|
if (typeof key === 'object' && 'key' in key) {
|
|
149
150
|
const keyObj = key as KeyInputObject;
|
|
150
|
-
const { key: data, format, type } = keyObj;
|
|
151
|
+
const { key: data, format, type, passphrase } = keyObj;
|
|
152
|
+
const passphraseAB =
|
|
153
|
+
passphrase !== undefined ? toAB(passphrase) : undefined;
|
|
151
154
|
|
|
152
155
|
if (data instanceof KeyObject) {
|
|
153
156
|
return prepareAsymmetricKey(data, isPublic);
|
|
@@ -167,14 +170,24 @@ function prepareAsymmetricKey(
|
|
|
167
170
|
(typeof data === 'string' && data.includes('-----BEGIN'))) &&
|
|
168
171
|
typeof data === 'string'
|
|
169
172
|
) {
|
|
170
|
-
return {
|
|
173
|
+
return {
|
|
174
|
+
data: toAB(data),
|
|
175
|
+
format: 'pem',
|
|
176
|
+
type,
|
|
177
|
+
passphrase: passphraseAB,
|
|
178
|
+
};
|
|
171
179
|
}
|
|
172
180
|
|
|
173
181
|
// Filter to only 'pem' or 'der' — JWK and raw formats are handled
|
|
174
182
|
// separately via dedicated paths.
|
|
175
183
|
const filteredFormat: 'pem' | 'der' | undefined =
|
|
176
184
|
format === 'pem' || format === 'der' ? format : undefined;
|
|
177
|
-
return {
|
|
185
|
+
return {
|
|
186
|
+
data: toAB(data),
|
|
187
|
+
format: filteredFormat,
|
|
188
|
+
type,
|
|
189
|
+
passphrase: passphraseAB,
|
|
190
|
+
};
|
|
178
191
|
}
|
|
179
192
|
|
|
180
193
|
throw new Error('Invalid key input');
|
|
@@ -212,7 +225,7 @@ function createPublicKey(key: KeyInput): PublicKeyObject {
|
|
|
212
225
|
return new PublicKeyObject(handle);
|
|
213
226
|
}
|
|
214
227
|
|
|
215
|
-
const { data, format, type } = prepareAsymmetricKey(key, true);
|
|
228
|
+
const { data, format, type, passphrase } = prepareAsymmetricKey(key, true);
|
|
216
229
|
|
|
217
230
|
// Map format string to KFormatType enum
|
|
218
231
|
let kFormat: KFormatType | undefined;
|
|
@@ -229,6 +242,7 @@ function createPublicKey(key: KeyInput): PublicKeyObject {
|
|
|
229
242
|
data,
|
|
230
243
|
kFormat,
|
|
231
244
|
kType,
|
|
245
|
+
passphrase,
|
|
232
246
|
) as PublicKeyObject;
|
|
233
247
|
}
|
|
234
248
|
|
|
@@ -249,7 +263,7 @@ function createPrivateKey(key: KeyInput): PrivateKeyObject {
|
|
|
249
263
|
return new PrivateKeyObject(handle);
|
|
250
264
|
}
|
|
251
265
|
|
|
252
|
-
const { data, format, type } = prepareAsymmetricKey(key, false);
|
|
266
|
+
const { data, format, type, passphrase } = prepareAsymmetricKey(key, false);
|
|
253
267
|
|
|
254
268
|
// Map format string to KFormatType enum
|
|
255
269
|
let kFormat: KFormatType | undefined;
|
|
@@ -267,6 +281,7 @@ function createPrivateKey(key: KeyInput): PrivateKeyObject {
|
|
|
267
281
|
data,
|
|
268
282
|
kFormat,
|
|
269
283
|
kType,
|
|
284
|
+
passphrase,
|
|
270
285
|
) as PrivateKeyObject;
|
|
271
286
|
}
|
|
272
287
|
|