react-native-quick-crypto 1.1.3 → 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 +3 -3
- package/android/build.gradle +2 -2
- package/cpp/keys/HybridKeyObjectHandle.cpp +2 -1
- package/cpp/keys/KeyObjectData.cpp +47 -17
- package/lib/commonjs/index.js +4 -3
- package/lib/commonjs/index.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/commonjs/subtle.js +692 -12
- package/lib/commonjs/subtle.js.map +1 -1
- package/lib/commonjs/utils/types.js.map +1 -1
- package/lib/module/index.js +4 -4
- package/lib/module/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/module/subtle.js +693 -13
- package/lib/module/subtle.js.map +1 -1
- package/lib/module/utils/types.js.map +1 -1
- package/lib/typescript/index.d.ts +6 -1
- 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/subtle.d.ts.map +1 -1
- package/lib/typescript/utils/types.d.ts +3 -1
- package/lib/typescript/utils/types.d.ts.map +1 -1
- package/package.json +3 -3
- package/src/index.ts +16 -3
- package/src/keys/classes.ts +2 -6
- package/src/keys/index.ts +20 -5
- package/src/subtle.ts +736 -26
- package/src/utils/types.ts +5 -0
package/QuickCrypto.podspec
CHANGED
|
@@ -25,7 +25,7 @@ Pod::Spec.new do |s|
|
|
|
25
25
|
# Ensure libsodium source is present during podspec evaluation when enabled.
|
|
26
26
|
# This is necessary because prepare_command is skipped for :path pods.
|
|
27
27
|
if sodium_enabled
|
|
28
|
-
sodium_version = "1.0.
|
|
28
|
+
sodium_version = "1.0.22"
|
|
29
29
|
sodium_dir = File.join(__dir__, "ios", "libsodium-stable")
|
|
30
30
|
sodium_header = File.join(sodium_dir, "src", "libsodium", "include", "sodium.h")
|
|
31
31
|
unless File.exist?(sodium_header)
|
|
@@ -52,7 +52,7 @@ Pod::Spec.new do |s|
|
|
|
52
52
|
rm -f OpenSSL.xcframework.zip
|
|
53
53
|
# Build libsodium
|
|
54
54
|
mkdir -p ios
|
|
55
|
-
curl -L -o ios/libsodium.tar.gz https://download.libsodium.org/libsodium/releases/libsodium-1.0.
|
|
55
|
+
curl -L -o ios/libsodium.tar.gz https://download.libsodium.org/libsodium/releases/libsodium-1.0.22-stable.tar.gz
|
|
56
56
|
tar -xzf ios/libsodium.tar.gz -C ios
|
|
57
57
|
cd ios/libsodium-stable
|
|
58
58
|
./configure --disable-shared --enable-static
|
|
@@ -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
|
|
package/android/build.gradle
CHANGED
|
@@ -150,11 +150,11 @@ dependencies {
|
|
|
150
150
|
implementation project(":react-native-nitro-modules")
|
|
151
151
|
|
|
152
152
|
// Add a dependency on OpenSSL
|
|
153
|
-
implementation 'io.github.ronickg:openssl:3.6.
|
|
153
|
+
implementation 'io.github.ronickg:openssl:3.6.2-1'
|
|
154
154
|
|
|
155
155
|
if (sodiumEnabled) {
|
|
156
156
|
// Add a dependency on libsodium
|
|
157
|
-
implementation 'io.github.ronickg:sodium:1.0.
|
|
157
|
+
implementation 'io.github.ronickg:sodium:1.0.22-1'
|
|
158
158
|
}
|
|
159
159
|
}
|
|
160
160
|
|
|
@@ -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
|
}
|
package/lib/commonjs/index.js
CHANGED
|
@@ -58,6 +58,7 @@ Object.defineProperty(exports, "subtle", {
|
|
|
58
58
|
}
|
|
59
59
|
});
|
|
60
60
|
var _reactNativeBuffer = require("@craftzdog/react-native-buffer");
|
|
61
|
+
var _reactNativeQuickBase = require("react-native-quick-base64");
|
|
61
62
|
var argon2Module = _interopRequireWildcard(require("./argon2"));
|
|
62
63
|
Object.keys(argon2Module).forEach(function (key) {
|
|
63
64
|
if (key === "default" || key === "__esModule") return;
|
|
@@ -313,9 +314,9 @@ const install = () => {
|
|
|
313
314
|
// @ts-expect-error subtle isn't fully implemented and Cryptokey is missing
|
|
314
315
|
global.crypto = QuickCrypto;
|
|
315
316
|
|
|
316
|
-
//
|
|
317
|
-
|
|
318
|
-
|
|
317
|
+
// react-native-quick-base64 v3 no longer installs these globals on import.
|
|
318
|
+
global.base64ToArrayBuffer = (s, removeLinebreaks) => (0, _reactNativeQuickBase.toByteArray)(s, removeLinebreaks).buffer;
|
|
319
|
+
global.base64FromArrayBuffer = (b, urlSafe) => (0, _reactNativeQuickBase.fromByteArray)(new Uint8Array(b), urlSafe);
|
|
319
320
|
};
|
|
320
321
|
|
|
321
322
|
// random, cipher, hash use nextTick
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_reactNativeBuffer","require","argon2Module","_interopRequireWildcard","Object","keys","forEach","key","prototype","hasOwnProperty","call","_exportNames","exports","defineProperty","enumerable","get","blake3","cipher","ed","_hash","_hmac","hkdf","pbkdf2","prime","scrypt","random","ecdh","dh","mlkem","_certificate","_x509certificate","_ec","_constants","utils","subtle","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","set","getOwnPropertyDescriptor","QuickCrypto","hash","hmac","Certificate","X509Certificate","getCurves","constants","Buffer","install","global","crypto","process","nextTick","setImmediate","_default","module"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,IAAAA,kBAAA,GAAAC,OAAA;
|
|
1
|
+
{"version":3,"names":["_reactNativeBuffer","require","_reactNativeQuickBase","argon2Module","_interopRequireWildcard","Object","keys","forEach","key","prototype","hasOwnProperty","call","_exportNames","exports","defineProperty","enumerable","get","blake3","cipher","ed","_hash","_hmac","hkdf","pbkdf2","prime","scrypt","random","ecdh","dh","mlkem","_certificate","_x509certificate","_ec","_constants","utils","subtle","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","set","getOwnPropertyDescriptor","QuickCrypto","hash","hmac","Certificate","X509Certificate","getCurves","constants","Buffer","install","global","crypto","base64ToArrayBuffer","s","removeLinebreaks","toByteArray","buffer","base64FromArrayBuffer","b","urlSafe","fromByteArray","Uint8Array","process","nextTick","setImmediate","_default","module"],"sourceRoot":"../../src","sources":["index.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","
|
|
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":"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","ignoreList":[]}
|