react-native-quick-crypto 1.0.1 → 1.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -23,63 +23,21 @@ Pod::Spec.new do |s|
23
23
  Pod::UI.puts("[QuickCrypto] 🧂 has libsodium #{sodium_enabled ? "enabled" : "disabled"}!")
24
24
 
25
25
  if sodium_enabled
26
- # cocoapod for Sodium has not been updated for a while, so we need to build it ourselves
27
- # https://github.com/jedisct1/swift-sodium/issues/264#issuecomment-2864963850
26
+ # Build libsodium from source for XSalsa20 cipher support
27
+ # CocoaPods packages are outdated (1.0.12) and SPM causes module conflicts
28
28
  s.prepare_command = <<-CMD
29
- set -e # Exit on any error
30
- set -x # Print commands as they execute
31
-
32
- # Create ios directory if it doesn't exist
29
+ set -e
33
30
  mkdir -p ios
34
-
35
- # Download libsodium with verbose output
36
- echo "Downloading libsodium..."
37
- curl -L -v -o ios/libsodium.tar.gz https://download.libsodium.org/libsodium/releases/libsodium-1.0.20-stable.tar.gz
38
-
39
- # Verify download
40
- if [ ! -f ios/libsodium.tar.gz ]; then
41
- echo "ERROR: Failed to download libsodium.tar.gz"
42
- exit 1
43
- fi
44
-
45
- echo "Download size: $(wc -c < ios/libsodium.tar.gz) bytes"
46
-
47
- # Clean previous extraction
48
- rm -rf ios/libsodium-stable
49
-
50
- # Extract the full tarball
51
- echo "Extracting libsodium..."
31
+ curl -L -o ios/libsodium.tar.gz https://download.libsodium.org/libsodium/releases/libsodium-1.0.20-stable.tar.gz
52
32
  tar -xzf ios/libsodium.tar.gz -C ios
53
-
54
- # Verify extraction
55
- if [ ! -d ios/libsodium-stable ]; then
56
- echo "ERROR: Failed to extract libsodium"
57
- exit 1
58
- fi
59
-
60
- # Run configure and make to generate all headers including private ones
61
- echo "Configuring libsodium..."
62
33
  cd ios/libsodium-stable
63
34
  ./configure --disable-shared --enable-static
64
-
65
- echo "Building libsodium..."
66
35
  make -j$(sysctl -n hw.ncpu)
67
-
68
- # Verify build success
69
- if [ ! -f src/libsodium/.libs/libsodium.a ]; then
70
- echo "ERROR: libsodium build failed - static library not found"
71
- exit 1
72
- fi
73
-
74
- echo "libsodium build completed successfully"
75
-
76
- # Cleanup
77
36
  cd ../../
78
37
  rm -f ios/libsodium.tar.gz
79
38
  CMD
80
39
  else
81
40
  s.prepare_command = <<-CMD
82
- # Clean up libsodium files if they exist
83
41
  rm -rf ios/libsodium-stable
84
42
  rm -f ios/libsodium.tar.gz
85
43
  CMD
@@ -164,7 +122,7 @@ Pod::Spec.new do |s|
164
122
  "\"$(PODS_ROOT)/../../packages/react-native-quick-crypto/ios/libsodium-stable/src/libsodium/include/sodium\""
165
123
  ]
166
124
  xcconfig["HEADER_SEARCH_PATHS"] = (cpp_headers + sodium_headers).join(' ')
167
- xcconfig["GCC_PREPROCESSOR_DEFINITIONS"] = "$(inherited) BLSALLOC_SODIUM=1"
125
+ xcconfig["GCC_PREPROCESSOR_DEFINITIONS"] = "$(inherited) FOLLY_NO_CONFIG FOLLY_CFG_NO_COROUTINES BLSALLOC_SODIUM=1"
168
126
  else
169
127
  xcconfig["HEADER_SEARCH_PATHS"] = cpp_headers.join(' ')
170
128
  end
@@ -86,6 +86,14 @@ void HybridCipher::init(const std::shared_ptr<ArrayBuffer> cipher_key, const std
86
86
  ctx = nullptr;
87
87
  throw std::runtime_error("HybridCipher: Failed to set key/IV: " + std::string(err_buf));
88
88
  }
89
+
90
+ // For AES-KW (wrap ciphers), set the WRAP_ALLOW flag and disable padding
91
+ std::string cipher_name(cipher_type);
92
+ if (cipher_name.find("-wrap") != std::string::npos) {
93
+ // This flag is required for AES-KW in OpenSSL 3.x
94
+ EVP_CIPHER_CTX_set_flags(ctx, EVP_CIPHER_CTX_FLAG_WRAP_ALLOW);
95
+ EVP_CIPHER_CTX_set_padding(ctx, 0);
96
+ }
89
97
  }
90
98
 
91
99
  std::shared_ptr<ArrayBuffer> HybridCipher::update(const std::shared_ptr<ArrayBuffer>& data) {
@@ -100,7 +108,15 @@ std::shared_ptr<ArrayBuffer> HybridCipher::update(const std::shared_ptr<ArrayBuf
100
108
  uint8_t* out = new uint8_t[out_len];
101
109
  // Perform the cipher update operation. The real size of the output is
102
110
  // returned in out_len
103
- EVP_CipherUpdate(ctx, out, &out_len, native_data->data(), in_len);
111
+ int ret = EVP_CipherUpdate(ctx, out, &out_len, native_data->data(), in_len);
112
+
113
+ if (!ret) {
114
+ unsigned long err = ERR_get_error();
115
+ char err_buf[256];
116
+ ERR_error_string_n(err, err_buf, sizeof(err_buf));
117
+ delete[] out;
118
+ throw std::runtime_error("Cipher update failed: " + std::string(err_buf));
119
+ }
104
120
 
105
121
  // Create and return a new buffer of exact size needed
106
122
  return std::make_shared<NativeArrayBuffer>(out, out_len, [=]() { delete[] out; });
@@ -14,14 +14,20 @@ std::shared_ptr<ArrayBuffer> HybridEdKeyPair::diffieHellman(const std::shared_pt
14
14
  using EVP_PKEY_ptr = std::unique_ptr<EVP_PKEY, decltype(&EVP_PKEY_free)>;
15
15
  using EVP_PKEY_CTX_ptr = std::unique_ptr<EVP_PKEY_CTX, decltype(&EVP_PKEY_CTX_free)>;
16
16
 
17
+ // Determine key type from curve name
18
+ int keyType = EVP_PKEY_X25519;
19
+ if (this->curve == "x448" || this->curve == "X448") {
20
+ keyType = EVP_PKEY_X448;
21
+ }
22
+
17
23
  // 1. Create EVP_PKEY for private key (our key)
18
- EVP_PKEY_ptr pkey_priv(EVP_PKEY_new_raw_private_key(EVP_PKEY_X25519, NULL, privateKey->data(), privateKey->size()), EVP_PKEY_free);
24
+ EVP_PKEY_ptr pkey_priv(EVP_PKEY_new_raw_private_key(keyType, NULL, privateKey->data(), privateKey->size()), EVP_PKEY_free);
19
25
  if (!pkey_priv) {
20
26
  throw std::runtime_error("Failed to create private key: " + getOpenSSLError());
21
27
  }
22
28
 
23
29
  // 2. Create EVP_PKEY for public key (peer's key)
24
- EVP_PKEY_ptr pkey_pub(EVP_PKEY_new_raw_public_key(EVP_PKEY_X25519, NULL, publicKey->data(), publicKey->size()), EVP_PKEY_free);
30
+ EVP_PKEY_ptr pkey_pub(EVP_PKEY_new_raw_public_key(keyType, NULL, publicKey->data(), publicKey->size()), EVP_PKEY_free);
25
31
  if (!pkey_pub) {
26
32
  throw std::runtime_error("Failed to create public key: " + getOpenSSLError());
27
33
  }
@@ -7,6 +7,8 @@ exports.Ed = void 0;
7
7
  exports.diffieHellman = diffieHellman;
8
8
  exports.ed_generateKeyPair = ed_generateKeyPair;
9
9
  exports.ed_generateKeyPairWebCrypto = ed_generateKeyPairWebCrypto;
10
+ exports.xDeriveBits = xDeriveBits;
11
+ exports.x_generateKeyPairWebCrypto = x_generateKeyPairWebCrypto;
10
12
  var _reactNativeNitroModules = require("react-native-nitro-modules");
11
13
  var _reactNativeBuffer = require("@craftzdog/react-native-buffer");
12
14
  var _keys = require("./keys");
@@ -251,4 +253,70 @@ async function ed_generateKeyPairWebCrypto(type, extractable, keyUsages) {
251
253
  privateKey
252
254
  };
253
255
  }
256
+ async function x_generateKeyPairWebCrypto(type, extractable, keyUsages) {
257
+ if ((0, _utils.hasAnyNotIn)(keyUsages, ['deriveKey', 'deriveBits'])) {
258
+ throw (0, _utils.lazyDOMException)(`Unsupported key usage for ${type}`, 'SyntaxError');
259
+ }
260
+ const publicUsages = (0, _utils.getUsagesUnion)(keyUsages);
261
+ const privateUsages = (0, _utils.getUsagesUnion)(keyUsages, 'deriveKey', 'deriveBits');
262
+ if (privateUsages.length === 0) {
263
+ throw (0, _utils.lazyDOMException)('Usages cannot be empty', 'SyntaxError');
264
+ }
265
+
266
+ // Request DER-encoded SPKI for public key, PKCS8 for private key
267
+ const config = {
268
+ publicFormat: _utils.KFormatType.DER,
269
+ publicType: _utils.KeyEncoding.SPKI,
270
+ privateFormat: _utils.KFormatType.DER,
271
+ privateType: _utils.KeyEncoding.PKCS8
272
+ };
273
+ const ed = new Ed(type, config);
274
+ await ed.generateKeyPair();
275
+ const algorithmName = type === 'x25519' ? 'X25519' : 'X448';
276
+ const publicKeyData = ed.getPublicKey();
277
+ const privateKeyData = ed.getPrivateKey();
278
+ const pub = _keys.KeyObject.createKeyObject('public', publicKeyData, _utils.KFormatType.DER, _utils.KeyEncoding.SPKI);
279
+ const publicKey = new _keys.CryptoKey(pub, {
280
+ name: algorithmName
281
+ }, publicUsages, true);
282
+ const priv = _keys.KeyObject.createKeyObject('private', privateKeyData, _utils.KFormatType.DER, _utils.KeyEncoding.PKCS8);
283
+ const privateKey = new _keys.CryptoKey(priv, {
284
+ name: algorithmName
285
+ }, privateUsages, extractable);
286
+ return {
287
+ publicKey,
288
+ privateKey
289
+ };
290
+ }
291
+ function xDeriveBits(algorithm, baseKey, length) {
292
+ const publicParams = algorithm;
293
+ const publicKey = publicParams.public;
294
+ if (!publicKey) {
295
+ throw new Error('Public key is required for X25519/X448 derivation');
296
+ }
297
+ if (baseKey.algorithm.name !== publicKey.algorithm.name) {
298
+ throw new Error('Keys must be of the same algorithm');
299
+ }
300
+ const type = baseKey.algorithm.name.toLowerCase();
301
+ const ed = new Ed(type, {});
302
+
303
+ // Export raw keys
304
+ const privateKeyBytes = baseKey.keyObject.handle.exportKey();
305
+ const publicKeyBytes = publicKey.keyObject.handle.exportKey();
306
+ const privateKeyTyped = new Uint8Array(privateKeyBytes);
307
+ const publicKeyTyped = new Uint8Array(publicKeyBytes);
308
+ const secret = ed.getSharedSecret(privateKeyTyped, publicKeyTyped);
309
+
310
+ // If length is null, return the full secret
311
+ if (length === null) {
312
+ return secret;
313
+ }
314
+
315
+ // If length is specified, truncate
316
+ const byteLength = Math.ceil(length / 8);
317
+ if (secret.byteLength >= byteLength) {
318
+ return secret.slice(0, byteLength);
319
+ }
320
+ throw new Error('Derived key is shorter than requested length');
321
+ }
254
322
  //# sourceMappingURL=ed.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_reactNativeNitroModules","require","_reactNativeBuffer","_keys","_utils","Ed","constructor","type","config","native","NitroModules","createHybridObject","setCurve","diffieHellman","options","callback","checkDiffieHellmanOptions","keyType","privateKey","asymmetricKeyType","Error","toAB","publicKey","ret","Buffer","from","e","err","undefined","generateKeyPair","publicFormat","publicType","privateFormat","privateType","cipher","passphrase","generateKeyPairSync","getPublicKey","getPrivateKey","getSharedSecret","sign","message","key","signSync","verify","signature","verifySync","exports","ed","ed_generateKeyPair","isAsync","encoding","formatKeys","publicKeyRaw","privateKeyRaw","isPemPublic","KFormatType","PEM","isPemPrivate","arrayBufferToString","ab","Uint8Array","toString","then","catch","String","privateKeyAsym","publicKeyAsym","ed_generateKeyPairWebCrypto","extractable","keyUsages","hasAnyNotIn","lazyDOMException","publicUsages","getUsagesUnion","privateUsages","length","DER","KeyEncoding","SPKI","PKCS8","algorithmName","publicKeyData","privateKeyData","pub","KeyObject","createKeyObject","CryptoKey","name","priv"],"sourceRoot":"../../src","sources":["ed.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_reactNativeNitroModules","require","_reactNativeBuffer","_keys","_utils","Ed","constructor","type","config","native","NitroModules","createHybridObject","setCurve","diffieHellman","options","callback","checkDiffieHellmanOptions","keyType","privateKey","asymmetricKeyType","Error","toAB","publicKey","ret","Buffer","from","e","err","undefined","generateKeyPair","publicFormat","publicType","privateFormat","privateType","cipher","passphrase","generateKeyPairSync","getPublicKey","getPrivateKey","getSharedSecret","sign","message","key","signSync","verify","signature","verifySync","exports","ed","ed_generateKeyPair","isAsync","encoding","formatKeys","publicKeyRaw","privateKeyRaw","isPemPublic","KFormatType","PEM","isPemPrivate","arrayBufferToString","ab","Uint8Array","toString","then","catch","String","privateKeyAsym","publicKeyAsym","ed_generateKeyPairWebCrypto","extractable","keyUsages","hasAnyNotIn","lazyDOMException","publicUsages","getUsagesUnion","privateUsages","length","DER","KeyEncoding","SPKI","PKCS8","algorithmName","publicKeyData","privateKeyData","pub","KeyObject","createKeyObject","CryptoKey","name","priv","x_generateKeyPairWebCrypto","xDeriveBits","algorithm","baseKey","publicParams","public","toLowerCase","privateKeyBytes","keyObject","handle","exportKey","publicKeyBytes","privateKeyTyped","publicKeyTyped","secret","byteLength","Math","ceil","slice"],"sourceRoot":"../../src","sources":["ed.ts"],"mappings":"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","ignoreList":[]}