react-native-quick-crypto 1.0.0-beta.16 → 1.0.0-beta.18

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.
Files changed (50) hide show
  1. package/android/CMakeLists.txt +2 -0
  2. package/app.plugin.js +3 -0
  3. package/cpp/cipher/ChaCha20Cipher.cpp +97 -0
  4. package/cpp/cipher/ChaCha20Cipher.hpp +25 -0
  5. package/cpp/cipher/ChaCha20Poly1305Cipher.cpp +170 -0
  6. package/cpp/cipher/ChaCha20Poly1305Cipher.hpp +30 -0
  7. package/cpp/cipher/HybridCipherFactory.hpp +19 -1
  8. package/deps/fastpbkdf2/fastpbkdf2.c +5 -1
  9. package/lib/commonjs/cipher.js.map +1 -1
  10. package/lib/commonjs/expo-plugin/@types.js +2 -0
  11. package/lib/commonjs/expo-plugin/@types.js.map +1 -0
  12. package/lib/commonjs/expo-plugin/withRNQC.js +25 -0
  13. package/lib/commonjs/expo-plugin/withRNQC.js.map +1 -0
  14. package/lib/commonjs/expo-plugin/withSodiumAndroid.js +25 -0
  15. package/lib/commonjs/expo-plugin/withSodiumAndroid.js.map +1 -0
  16. package/lib/commonjs/expo-plugin/withSodiumIos.js +26 -0
  17. package/lib/commonjs/expo-plugin/withSodiumIos.js.map +1 -0
  18. package/lib/commonjs/expo-plugin/withXCode.js +51 -0
  19. package/lib/commonjs/expo-plugin/withXCode.js.map +1 -0
  20. package/lib/module/cipher.js.map +1 -1
  21. package/lib/module/expo-plugin/@types.js +2 -0
  22. package/lib/module/expo-plugin/@types.js.map +1 -0
  23. package/lib/module/expo-plugin/withRNQC.js +21 -0
  24. package/lib/module/expo-plugin/withRNQC.js.map +1 -0
  25. package/lib/module/expo-plugin/withSodiumAndroid.js +20 -0
  26. package/lib/module/expo-plugin/withSodiumAndroid.js.map +1 -0
  27. package/lib/module/expo-plugin/withSodiumIos.js +20 -0
  28. package/lib/module/expo-plugin/withSodiumIos.js.map +1 -0
  29. package/lib/module/expo-plugin/withXCode.js +46 -0
  30. package/lib/module/expo-plugin/withXCode.js.map +1 -0
  31. package/lib/tsconfig.tsbuildinfo +1 -1
  32. package/lib/typescript/cipher.d.ts +3 -1
  33. package/lib/typescript/cipher.d.ts.map +1 -1
  34. package/lib/typescript/expo-plugin/@types.d.ts +8 -0
  35. package/lib/typescript/expo-plugin/@types.d.ts.map +1 -0
  36. package/lib/typescript/expo-plugin/withRNQC.d.ts +4 -0
  37. package/lib/typescript/expo-plugin/withRNQC.d.ts.map +1 -0
  38. package/lib/typescript/expo-plugin/withSodiumAndroid.d.ts +4 -0
  39. package/lib/typescript/expo-plugin/withSodiumAndroid.d.ts.map +1 -0
  40. package/lib/typescript/expo-plugin/withSodiumIos.d.ts +4 -0
  41. package/lib/typescript/expo-plugin/withSodiumIos.d.ts.map +1 -0
  42. package/lib/typescript/expo-plugin/withXCode.d.ts +9 -0
  43. package/lib/typescript/expo-plugin/withXCode.d.ts.map +1 -0
  44. package/package.json +18 -7
  45. package/src/cipher.ts +7 -0
  46. package/src/expo-plugin/@types.ts +7 -0
  47. package/src/expo-plugin/withRNQC.ts +23 -0
  48. package/src/expo-plugin/withSodiumAndroid.ts +24 -0
  49. package/src/expo-plugin/withSodiumIos.ts +30 -0
  50. package/src/expo-plugin/withXCode.ts +55 -0
@@ -13,6 +13,8 @@ add_library(
13
13
  ../cpp/cipher/HybridCipher.cpp
14
14
  ../cpp/cipher/OCBCipher.cpp
15
15
  ../cpp/cipher/XSalsa20Cipher.cpp
16
+ ../cpp/cipher/ChaCha20Cipher.cpp
17
+ ../cpp/cipher/ChaCha20Poly1305Cipher.cpp
16
18
  ../cpp/ed25519/HybridEdKeyPair.cpp
17
19
  ../cpp/hash/HybridHash.cpp
18
20
  ../cpp/hmac/HybridHmac.cpp
package/app.plugin.js ADDED
@@ -0,0 +1,3 @@
1
+ const { createRNQCPlugin } = require('./lib/commonjs/expo-plugin/withRNQC');
2
+ const pkg = require('./package.json');
3
+ module.exports = createRNQCPlugin(pkg.name, pkg.version);
@@ -0,0 +1,97 @@
1
+ #include "ChaCha20Cipher.hpp"
2
+ #include "Utils.hpp"
3
+ #include <openssl/err.h>
4
+ #include <openssl/evp.h>
5
+ #include <stdexcept>
6
+
7
+ namespace margelo::nitro::crypto {
8
+
9
+ void ChaCha20Cipher::init(const std::shared_ptr<ArrayBuffer> cipher_key, const std::shared_ptr<ArrayBuffer> iv) {
10
+ // Clean up any existing context
11
+ if (ctx) {
12
+ EVP_CIPHER_CTX_free(ctx);
13
+ ctx = nullptr;
14
+ }
15
+
16
+ // Get ChaCha20 cipher implementation
17
+ const EVP_CIPHER* cipher = EVP_chacha20();
18
+ if (!cipher) {
19
+ throw std::runtime_error("Failed to get ChaCha20 cipher implementation");
20
+ }
21
+
22
+ // Create a new context
23
+ ctx = EVP_CIPHER_CTX_new();
24
+ if (!ctx) {
25
+ throw std::runtime_error("Failed to create cipher context");
26
+ }
27
+
28
+ // Initialize the encryption/decryption operation
29
+ if (EVP_CipherInit_ex(ctx, cipher, nullptr, nullptr, nullptr, is_cipher) != 1) {
30
+ unsigned long err = ERR_get_error();
31
+ char err_buf[256];
32
+ ERR_error_string_n(err, err_buf, sizeof(err_buf));
33
+ EVP_CIPHER_CTX_free(ctx);
34
+ ctx = nullptr;
35
+ throw std::runtime_error("ChaCha20Cipher: Failed initial CipherInit setup: " + std::string(err_buf));
36
+ }
37
+
38
+ // Set key and IV
39
+ auto native_key = ToNativeArrayBuffer(cipher_key);
40
+ auto native_iv = ToNativeArrayBuffer(iv);
41
+
42
+ // Validate key size
43
+ if (native_key->size() != kKeySize) {
44
+ throw std::runtime_error("ChaCha20 key must be 32 bytes");
45
+ }
46
+
47
+ // Validate IV size
48
+ if (native_iv->size() != kIVSize) {
49
+ throw std::runtime_error("ChaCha20 IV must be 16 bytes");
50
+ }
51
+
52
+ const unsigned char* key_ptr = reinterpret_cast<const unsigned char*>(native_key->data());
53
+ const unsigned char* iv_ptr = reinterpret_cast<const unsigned char*>(native_iv->data());
54
+
55
+ if (EVP_CipherInit_ex(ctx, nullptr, nullptr, key_ptr, iv_ptr, is_cipher) != 1) {
56
+ unsigned long err = ERR_get_error();
57
+ char err_buf[256];
58
+ ERR_error_string_n(err, err_buf, sizeof(err_buf));
59
+ EVP_CIPHER_CTX_free(ctx);
60
+ ctx = nullptr;
61
+ throw std::runtime_error("ChaCha20Cipher: Failed to set key/IV: " + std::string(err_buf));
62
+ }
63
+ }
64
+
65
+ std::shared_ptr<ArrayBuffer> ChaCha20Cipher::update(const std::shared_ptr<ArrayBuffer>& data) {
66
+ checkCtx();
67
+ auto native_data = ToNativeArrayBuffer(data);
68
+ size_t in_len = native_data->size();
69
+ if (in_len > INT_MAX) {
70
+ throw std::runtime_error("Message too long");
71
+ }
72
+
73
+ // For ChaCha20, output size equals input size since it's a stream cipher
74
+ int out_len = in_len;
75
+ uint8_t* out = new uint8_t[out_len];
76
+
77
+ // Perform the cipher update operation
78
+ if (EVP_CipherUpdate(ctx, out, &out_len, native_data->data(), in_len) != 1) {
79
+ delete[] out;
80
+ unsigned long err = ERR_get_error();
81
+ char err_buf[256];
82
+ ERR_error_string_n(err, err_buf, sizeof(err_buf));
83
+ throw std::runtime_error("ChaCha20Cipher: Failed to update: " + std::string(err_buf));
84
+ }
85
+
86
+ // Create and return a new buffer of exact size needed
87
+ return std::make_shared<NativeArrayBuffer>(out, out_len, [=]() { delete[] out; });
88
+ }
89
+
90
+ std::shared_ptr<ArrayBuffer> ChaCha20Cipher::final() {
91
+ checkCtx();
92
+ // For ChaCha20, final() should return an empty buffer since it's a stream cipher
93
+ unsigned char* empty_output = new unsigned char[0];
94
+ return std::make_shared<NativeArrayBuffer>(empty_output, 0, [=]() { delete[] empty_output; });
95
+ }
96
+
97
+ } // namespace margelo::nitro::crypto
@@ -0,0 +1,25 @@
1
+ #pragma once
2
+
3
+ #include "HybridCipher.hpp"
4
+
5
+ namespace margelo::nitro::crypto {
6
+
7
+ class ChaCha20Cipher : public HybridCipher {
8
+ public:
9
+ ChaCha20Cipher() : HybridObject(TAG) {}
10
+ ~ChaCha20Cipher() {
11
+ // Let parent destructor free the context
12
+ ctx = nullptr;
13
+ }
14
+
15
+ void init(const std::shared_ptr<ArrayBuffer> cipher_key, const std::shared_ptr<ArrayBuffer> iv) override;
16
+ std::shared_ptr<ArrayBuffer> update(const std::shared_ptr<ArrayBuffer>& data) override;
17
+ std::shared_ptr<ArrayBuffer> final() override;
18
+
19
+ private:
20
+ // ChaCha20 uses a 256-bit key (32 bytes) and a 128-bit IV (16 bytes)
21
+ static constexpr int kKeySize = 32;
22
+ static constexpr int kIVSize = 16;
23
+ };
24
+
25
+ } // namespace margelo::nitro::crypto
@@ -0,0 +1,170 @@
1
+ #include "ChaCha20Poly1305Cipher.hpp"
2
+ #include "Utils.hpp"
3
+ #include <openssl/err.h>
4
+ #include <openssl/evp.h>
5
+ #include <stdexcept>
6
+
7
+ namespace margelo::nitro::crypto {
8
+
9
+ void ChaCha20Poly1305Cipher::init(const std::shared_ptr<ArrayBuffer> cipher_key, const std::shared_ptr<ArrayBuffer> iv) {
10
+ // Clean up any existing context
11
+ if (ctx) {
12
+ EVP_CIPHER_CTX_free(ctx);
13
+ ctx = nullptr;
14
+ }
15
+
16
+ // Get ChaCha20-Poly1305 cipher implementation
17
+ const EVP_CIPHER* cipher = EVP_chacha20_poly1305();
18
+ if (!cipher) {
19
+ throw std::runtime_error("Failed to get ChaCha20-Poly1305 cipher implementation");
20
+ }
21
+
22
+ // Create a new context
23
+ ctx = EVP_CIPHER_CTX_new();
24
+ if (!ctx) {
25
+ throw std::runtime_error("Failed to create cipher context");
26
+ }
27
+
28
+ // Initialize the encryption/decryption operation
29
+ if (EVP_CipherInit_ex(ctx, cipher, nullptr, nullptr, nullptr, is_cipher) != 1) {
30
+ unsigned long err = ERR_get_error();
31
+ char err_buf[256];
32
+ ERR_error_string_n(err, err_buf, sizeof(err_buf));
33
+ EVP_CIPHER_CTX_free(ctx);
34
+ ctx = nullptr;
35
+ throw std::runtime_error("ChaCha20Poly1305Cipher: Failed initial CipherInit setup: " + std::string(err_buf));
36
+ }
37
+
38
+ // Set key and IV
39
+ auto native_key = ToNativeArrayBuffer(cipher_key);
40
+ auto native_iv = ToNativeArrayBuffer(iv);
41
+
42
+ // Validate key size
43
+ if (native_key->size() != kKeySize) {
44
+ throw std::runtime_error("ChaCha20-Poly1305 key must be 32 bytes");
45
+ }
46
+
47
+ // Validate nonce size
48
+ if (native_iv->size() != kNonceSize) {
49
+ throw std::runtime_error("ChaCha20-Poly1305 nonce must be 12 bytes");
50
+ }
51
+
52
+ const unsigned char* key_ptr = reinterpret_cast<const unsigned char*>(native_key->data());
53
+ const unsigned char* iv_ptr = reinterpret_cast<const unsigned char*>(native_iv->data());
54
+
55
+ if (EVP_CipherInit_ex(ctx, nullptr, nullptr, key_ptr, iv_ptr, is_cipher) != 1) {
56
+ unsigned long err = ERR_get_error();
57
+ char err_buf[256];
58
+ ERR_error_string_n(err, err_buf, sizeof(err_buf));
59
+ EVP_CIPHER_CTX_free(ctx);
60
+ ctx = nullptr;
61
+ throw std::runtime_error("ChaCha20Poly1305Cipher: Failed to set key/IV: " + std::string(err_buf));
62
+ }
63
+
64
+ // Reset final_called flag
65
+ final_called = false;
66
+ }
67
+
68
+ std::shared_ptr<ArrayBuffer> ChaCha20Poly1305Cipher::update(const std::shared_ptr<ArrayBuffer>& data) {
69
+ checkCtx();
70
+ auto native_data = ToNativeArrayBuffer(data);
71
+ size_t in_len = native_data->size();
72
+ if (in_len > INT_MAX) {
73
+ throw std::runtime_error("Message too long");
74
+ }
75
+
76
+ // For ChaCha20-Poly1305, output size equals input size since it's a stream cipher
77
+ int out_len = in_len;
78
+ uint8_t* out = new uint8_t[out_len];
79
+
80
+ // Perform the cipher update operation
81
+ if (EVP_CipherUpdate(ctx, out, &out_len, native_data->data(), in_len) != 1) {
82
+ delete[] out;
83
+ unsigned long err = ERR_get_error();
84
+ char err_buf[256];
85
+ ERR_error_string_n(err, err_buf, sizeof(err_buf));
86
+ throw std::runtime_error("ChaCha20Poly1305Cipher: Failed to update: " + std::string(err_buf));
87
+ }
88
+
89
+ // Create and return a new buffer of exact size needed
90
+ return std::make_shared<NativeArrayBuffer>(out, out_len, [=]() { delete[] out; });
91
+ }
92
+
93
+ std::shared_ptr<ArrayBuffer> ChaCha20Poly1305Cipher::final() {
94
+ checkCtx();
95
+
96
+ // For ChaCha20-Poly1305, we need to call final to generate the tag
97
+ int out_len = 0;
98
+ unsigned char* out = new unsigned char[0];
99
+
100
+ if (EVP_CipherFinal_ex(ctx, out, &out_len) != 1) {
101
+ delete[] out;
102
+ unsigned long err = ERR_get_error();
103
+ char err_buf[256];
104
+ ERR_error_string_n(err, err_buf, sizeof(err_buf));
105
+ throw std::runtime_error("ChaCha20Poly1305Cipher: Failed to finalize: " + std::string(err_buf));
106
+ }
107
+
108
+ final_called = true;
109
+ return std::make_shared<NativeArrayBuffer>(out, out_len, [=]() { delete[] out; });
110
+ }
111
+
112
+ bool ChaCha20Poly1305Cipher::setAAD(const std::shared_ptr<ArrayBuffer>& data, std::optional<double> plaintextLength) {
113
+ checkCtx();
114
+ auto native_aad = ToNativeArrayBuffer(data);
115
+ size_t aad_len = native_aad->size();
116
+
117
+ // Set AAD data
118
+ int out_len = 0;
119
+ if (EVP_CipherUpdate(ctx, nullptr, &out_len, native_aad->data(), aad_len) != 1) {
120
+ unsigned long err = ERR_get_error();
121
+ char err_buf[256];
122
+ ERR_error_string_n(err, err_buf, sizeof(err_buf));
123
+ throw std::runtime_error("ChaCha20Poly1305Cipher: Failed to set AAD: " + std::string(err_buf));
124
+ }
125
+ return true;
126
+ }
127
+
128
+ std::shared_ptr<ArrayBuffer> ChaCha20Poly1305Cipher::getAuthTag() {
129
+ checkCtx();
130
+ if (!is_cipher) {
131
+ throw std::runtime_error("getAuthTag can only be called during encryption");
132
+ }
133
+ if (!final_called) {
134
+ throw std::runtime_error("getAuthTag must be called after final()");
135
+ }
136
+
137
+ // Get the authentication tag
138
+ auto tag_buf = std::make_unique<uint8_t[]>(kTagSize);
139
+ if (EVP_CIPHER_CTX_ctrl(ctx, EVP_CTRL_AEAD_GET_TAG, kTagSize, tag_buf.get()) != 1) {
140
+ unsigned long err = ERR_get_error();
141
+ char err_buf[256];
142
+ ERR_error_string_n(err, err_buf, sizeof(err_buf));
143
+ throw std::runtime_error("ChaCha20Poly1305Cipher: Failed to get auth tag: " + std::string(err_buf));
144
+ }
145
+
146
+ uint8_t* raw_ptr = tag_buf.get();
147
+ return std::make_shared<NativeArrayBuffer>(tag_buf.release(), kTagSize, [raw_ptr]() { delete[] raw_ptr; });
148
+ }
149
+
150
+ bool ChaCha20Poly1305Cipher::setAuthTag(const std::shared_ptr<ArrayBuffer>& tag) {
151
+ checkCtx();
152
+ if (is_cipher) {
153
+ throw std::runtime_error("setAuthTag can only be called during decryption");
154
+ }
155
+
156
+ auto native_tag = ToNativeArrayBuffer(tag);
157
+ if (native_tag->size() != kTagSize) {
158
+ throw std::runtime_error("ChaCha20-Poly1305 tag must be 16 bytes");
159
+ }
160
+
161
+ if (EVP_CIPHER_CTX_ctrl(ctx, EVP_CTRL_AEAD_SET_TAG, kTagSize, native_tag->data()) != 1) {
162
+ unsigned long err = ERR_get_error();
163
+ char err_buf[256];
164
+ ERR_error_string_n(err, err_buf, sizeof(err_buf));
165
+ throw std::runtime_error("ChaCha20Poly1305Cipher: Failed to set auth tag: " + std::string(err_buf));
166
+ }
167
+ return true;
168
+ }
169
+
170
+ } // namespace margelo::nitro::crypto
@@ -0,0 +1,30 @@
1
+ #pragma once
2
+
3
+ #include "HybridCipher.hpp"
4
+
5
+ namespace margelo::nitro::crypto {
6
+
7
+ class ChaCha20Poly1305Cipher : public HybridCipher {
8
+ public:
9
+ ChaCha20Poly1305Cipher() : HybridObject(TAG), final_called(false) {}
10
+ ~ChaCha20Poly1305Cipher() {
11
+ // Let parent destructor free the context
12
+ ctx = nullptr;
13
+ }
14
+
15
+ void init(const std::shared_ptr<ArrayBuffer> cipher_key, const std::shared_ptr<ArrayBuffer> iv) override;
16
+ std::shared_ptr<ArrayBuffer> update(const std::shared_ptr<ArrayBuffer>& data) override;
17
+ std::shared_ptr<ArrayBuffer> final() override;
18
+ bool setAAD(const std::shared_ptr<ArrayBuffer>& data, std::optional<double> plaintextLength) override;
19
+ std::shared_ptr<ArrayBuffer> getAuthTag() override;
20
+ bool setAuthTag(const std::shared_ptr<ArrayBuffer>& tag) override;
21
+
22
+ private:
23
+ // ChaCha20-Poly1305 uses a 256-bit key (32 bytes) and a 96-bit nonce (12 bytes)
24
+ static constexpr int kKeySize = 32;
25
+ static constexpr int kNonceSize = 12;
26
+ static constexpr int kTagSize = 16; // Poly1305 tag is always 16 bytes
27
+ bool final_called;
28
+ };
29
+
30
+ } // namespace margelo::nitro::crypto
@@ -5,6 +5,8 @@
5
5
  #include <string>
6
6
 
7
7
  #include "CCMCipher.hpp"
8
+ #include "ChaCha20Cipher.hpp"
9
+ #include "ChaCha20Poly1305Cipher.hpp"
8
10
  #include "HybridCipherFactorySpec.hpp"
9
11
  #include "OCBCipher.hpp"
10
12
  #include "Utils.hpp"
@@ -22,7 +24,6 @@ class HybridCipherFactory : public HybridCipherFactorySpec {
22
24
  public:
23
25
  // Factory method exposed to JS
24
26
  inline std::shared_ptr<HybridCipherSpec> createCipher(const CipherArgs& args) {
25
-
26
27
  // Create the appropriate cipher instance based on mode
27
28
  std::shared_ptr<HybridCipher> cipherInstance;
28
29
 
@@ -47,7 +48,24 @@ class HybridCipherFactory : public HybridCipherFactorySpec {
47
48
  cipherInstance->init(args.cipherKey, args.iv);
48
49
  return cipherInstance;
49
50
  }
51
+ case EVP_CIPH_STREAM_CIPHER: {
52
+ // Check for ChaCha20 variants specifically
53
+ std::string cipherName = toLower(args.cipherType);
54
+ if (cipherName == "chacha20") {
55
+ cipherInstance = std::make_shared<ChaCha20Cipher>();
56
+ cipherInstance->setArgs(args);
57
+ cipherInstance->init(args.cipherKey, args.iv);
58
+ return cipherInstance;
59
+ }
60
+ if (cipherName == "chacha20-poly1305") {
61
+ cipherInstance = std::make_shared<ChaCha20Poly1305Cipher>();
62
+ cipherInstance->setArgs(args);
63
+ cipherInstance->init(args.cipherKey, args.iv);
64
+ return cipherInstance;
65
+ }
66
+ }
50
67
  default: {
68
+ // Default case for other ciphers
51
69
  cipherInstance = std::make_shared<HybridCipher>();
52
70
  cipherInstance->setArgs(args);
53
71
  cipherInstance->init(args.cipherKey, args.iv);
@@ -17,7 +17,11 @@
17
17
  #include <assert.h>
18
18
  #include <string.h>
19
19
  #if defined(__GNUC__)
20
- #include <endian.h>
20
+ #if TARGET_OS_MACCATALYST
21
+ #include <machine/endian.h> // Mac Catalyst
22
+ #else
23
+ #include <endian.h> // iOS
24
+ #endif
21
25
  #endif
22
26
 
23
27
  #include <openssl/sha.h>
@@ -1 +1 @@
1
- {"version":3,"names":["_reactNativeNitroModules","require","_readableStream","_interopRequireDefault","_reactNativeBuffer","_utils","_cipher","e","__esModule","default","CipherUtils","native","NitroModules","createHybridObject","getSupportedCiphers","getCiphers","CipherCommon","Stream","Transform","constructor","isCipher","cipherType","cipherKey","iv","options","streamOptions","transformKeys","key","authTagLen","getUIntOption","factory","createCipher","binaryLikeToArrayBuffer","update","data","inputEncoding","outputEncoding","defaultEncoding","getDefaultEncoding","validateEncoding","ArrayBuffer","isView","Error","ret","ab2str","Buffer","from","final","_transform","chunk","encoding","callback","push","normalizeEncoding","_flush","setAutoPadding","autoPadding","res","setAAD","buffer","plaintextLength","getAuthTag","setAuthTag","tag","Cipheriv","Decipheriv","createDecipheriv","algorithm","createCipheriv","xsalsa20","nonce","output","counter","result","Uint8Array"],"sourceRoot":"../../src","sources":["cipher.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_reactNativeNitroModules","require","_readableStream","_interopRequireDefault","_reactNativeBuffer","_utils","_cipher","e","__esModule","default","CipherUtils","native","NitroModules","createHybridObject","getSupportedCiphers","getCiphers","CipherCommon","Stream","Transform","constructor","isCipher","cipherType","cipherKey","iv","options","streamOptions","transformKeys","key","authTagLen","getUIntOption","factory","createCipher","binaryLikeToArrayBuffer","update","data","inputEncoding","outputEncoding","defaultEncoding","getDefaultEncoding","validateEncoding","ArrayBuffer","isView","Error","ret","ab2str","Buffer","from","final","_transform","chunk","encoding","callback","push","normalizeEncoding","_flush","setAutoPadding","autoPadding","res","setAAD","buffer","plaintextLength","getAuthTag","setAuthTag","tag","Cipheriv","Decipheriv","createDecipheriv","algorithm","createCipheriv","xsalsa20","nonce","output","counter","result","Uint8Array"],"sourceRoot":"../../src","sources":["cipher.ts"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ //# sourceMappingURL=@types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sourceRoot":"../../../src","sources":["expo-plugin/@types.ts"],"mappings":"","ignoreList":[]}
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.createRNQCPlugin = createRNQCPlugin;
7
+ var _configPlugins = require("expo/config-plugins");
8
+ var _withSodiumIos = require("./withSodiumIos");
9
+ var _withSodiumAndroid = require("./withSodiumAndroid");
10
+ var _withXCode = require("./withXCode");
11
+ const withRNQCInternal = (config, props = {}) => {
12
+ // add XCode workarounds for some 16.x releases that are not RN-friendly
13
+ config = (0, _withXCode.withXCode)(config, props);
14
+
15
+ // enable libsodium algorithms
16
+ if (props.sodiumEnabled) {
17
+ config = (0, _withSodiumIos.withSodiumIos)(config, props);
18
+ config = (0, _withSodiumAndroid.withSodiumAndroid)(config, props);
19
+ }
20
+ return config;
21
+ };
22
+ function createRNQCPlugin(name, version) {
23
+ return (0, _configPlugins.createRunOncePlugin)(withRNQCInternal, name, version);
24
+ }
25
+ //# sourceMappingURL=withRNQC.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_configPlugins","require","_withSodiumIos","_withSodiumAndroid","_withXCode","withRNQCInternal","config","props","withXCode","sodiumEnabled","withSodiumIos","withSodiumAndroid","createRNQCPlugin","name","version","createRunOncePlugin"],"sourceRoot":"../../../src","sources":["expo-plugin/withRNQC.ts"],"mappings":";;;;;;AAAA,IAAAA,cAAA,GAAAC,OAAA;AAGA,IAAAC,cAAA,GAAAD,OAAA;AACA,IAAAE,kBAAA,GAAAF,OAAA;AACA,IAAAG,UAAA,GAAAH,OAAA;AAEA,MAAMI,gBAA2C,GAAGA,CAACC,MAAM,EAAEC,KAAK,GAAG,CAAC,CAAC,KAAK;EAC1E;EACAD,MAAM,GAAG,IAAAE,oBAAS,EAACF,MAAM,EAAEC,KAAK,CAAC;;EAEjC;EACA,IAAIA,KAAK,CAACE,aAAa,EAAE;IACvBH,MAAM,GAAG,IAAAI,4BAAa,EAACJ,MAAM,EAAEC,KAAK,CAAC;IACrCD,MAAM,GAAG,IAAAK,oCAAiB,EAACL,MAAM,EAAEC,KAAK,CAAC;EAC3C;EAEA,OAAOD,MAAM;AACf,CAAC;AAEM,SAASM,gBAAgBA,CAACC,IAAY,EAAEC,OAAe,EAAE;EAC9D,OAAO,IAAAC,kCAAmB,EAACV,gBAAgB,EAAEQ,IAAI,EAAEC,OAAO,CAAC;AAC7D","ignoreList":[]}
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.withSodiumAndroid = void 0;
7
+ var _configPlugins = require("expo/config-plugins");
8
+ const withSodiumAndroid = config => {
9
+ return (0, _configPlugins.withGradleProperties)(config, config => {
10
+ config.modResults = config.modResults || [];
11
+
12
+ // Check if the property already exists
13
+ const existingProperty = config.modResults.find(item => item.type === 'property' && item.key === 'sodiumEnabled');
14
+ if (!existingProperty) {
15
+ config.modResults.push({
16
+ type: 'property',
17
+ key: 'sodiumEnabled',
18
+ value: 'true'
19
+ });
20
+ }
21
+ return config;
22
+ });
23
+ };
24
+ exports.withSodiumAndroid = withSodiumAndroid;
25
+ //# sourceMappingURL=withSodiumAndroid.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_configPlugins","require","withSodiumAndroid","config","withGradleProperties","modResults","existingProperty","find","item","type","key","push","value","exports"],"sourceRoot":"../../../src","sources":["expo-plugin/withSodiumAndroid.ts"],"mappings":";;;;;;AACA,IAAAA,cAAA,GAAAC,OAAA;AAGO,MAAMC,iBAA4C,GAAGC,MAAM,IAAI;EACpE,OAAO,IAAAC,mCAAoB,EAACD,MAAM,EAAEA,MAAM,IAAI;IAC5CA,MAAM,CAACE,UAAU,GAAGF,MAAM,CAACE,UAAU,IAAI,EAAE;;IAE3C;IACA,MAAMC,gBAAgB,GAAGH,MAAM,CAACE,UAAU,CAACE,IAAI,CAC7CC,IAAI,IAAIA,IAAI,CAACC,IAAI,KAAK,UAAU,IAAID,IAAI,CAACE,GAAG,KAAK,eACnD,CAAC;IAED,IAAI,CAACJ,gBAAgB,EAAE;MACrBH,MAAM,CAACE,UAAU,CAACM,IAAI,CAAC;QACrBF,IAAI,EAAE,UAAU;QAChBC,GAAG,EAAE,eAAe;QACpBE,KAAK,EAAE;MACT,CAAC,CAAC;IACJ;IAEA,OAAOT,MAAM;EACf,CAAC,CAAC;AACJ,CAAC;AAACU,OAAA,CAAAX,iBAAA,GAAAA,iBAAA","ignoreList":[]}
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.withSodiumIos = void 0;
7
+ var _configPlugins = require("expo/config-plugins");
8
+ var _fs = _interopRequireDefault(require("fs"));
9
+ var _path = _interopRequireDefault(require("path"));
10
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
11
+ const withSodiumIos = config => {
12
+ return (0, _configPlugins.withDangerousMod)(config, ['ios', config => {
13
+ const podfilePath = _path.default.join(config.modRequest.platformProjectRoot, 'Podfile');
14
+ let contents = _fs.default.readFileSync(podfilePath, 'utf-8');
15
+
16
+ // Check if SODIUM_ENABLED is already set
17
+ if (!contents.includes("ENV['SODIUM_ENABLED']")) {
18
+ // Add it right after the RCT_NEW_ARCH_ENABLED ENV variable
19
+ contents = contents.replace(/^(ENV\['RCT_NEW_ARCH_ENABLED'\].*$)/m, `$1\nENV['SODIUM_ENABLED'] = '1'`);
20
+ _fs.default.writeFileSync(podfilePath, contents);
21
+ }
22
+ return config;
23
+ }]);
24
+ };
25
+ exports.withSodiumIos = withSodiumIos;
26
+ //# sourceMappingURL=withSodiumIos.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_configPlugins","require","_fs","_interopRequireDefault","_path","e","__esModule","default","withSodiumIos","config","withDangerousMod","podfilePath","path","join","modRequest","platformProjectRoot","contents","fs","readFileSync","includes","replace","writeFileSync","exports"],"sourceRoot":"../../../src","sources":["expo-plugin/withSodiumIos.ts"],"mappings":";;;;;;AACA,IAAAA,cAAA,GAAAC,OAAA;AACA,IAAAC,GAAA,GAAAC,sBAAA,CAAAF,OAAA;AACA,IAAAG,KAAA,GAAAD,sBAAA,CAAAF,OAAA;AAAwB,SAAAE,uBAAAE,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAGjB,MAAMG,aAAwC,GAAGC,MAAM,IAAI;EAChE,OAAO,IAAAC,+BAAgB,EAACD,MAAM,EAAE,CAC9B,KAAK,EACLA,MAAM,IAAI;IACR,MAAME,WAAW,GAAGC,aAAI,CAACC,IAAI,CAC3BJ,MAAM,CAACK,UAAU,CAACC,mBAAmB,EACrC,SACF,CAAC;IACD,IAAIC,QAAQ,GAAGC,WAAE,CAACC,YAAY,CAACP,WAAW,EAAE,OAAO,CAAC;;IAEpD;IACA,IAAI,CAACK,QAAQ,CAACG,QAAQ,CAAC,uBAAuB,CAAC,EAAE;MAC/C;MACAH,QAAQ,GAAGA,QAAQ,CAACI,OAAO,CACzB,sCAAsC,EACtC,iCACF,CAAC;MACDH,WAAE,CAACI,aAAa,CAACV,WAAW,EAAEK,QAAQ,CAAC;IACzC;IAEA,OAAOP,MAAM;EACf,CAAC,CACF,CAAC;AACJ,CAAC;AAACa,OAAA,CAAAd,aAAA,GAAAA,aAAA","ignoreList":[]}
@@ -0,0 +1,51 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.withXCode = void 0;
7
+ var _expoBuildProperties = require("expo-build-properties");
8
+ var _configPlugins = require("expo/config-plugins");
9
+ var _fs = _interopRequireDefault(require("fs"));
10
+ var _path = _interopRequireDefault(require("path"));
11
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
12
+ /**
13
+ * Workaround for some jank XCode releases that break React Native native modules
14
+ *
15
+ * see: https://github.com/mrousavy/nitro/issues/422#issuecomment-2545988256
16
+ */
17
+ const withXCode = config => {
18
+ // Use expo-build-properties to bump iOS deployment target
19
+ config = (0, _expoBuildProperties.withBuildProperties)(config, {
20
+ ios: {
21
+ deploymentTarget: '16.0'
22
+ }
23
+ });
24
+ // Patch the generated Podfile fallback to ensure platform is always 16.0
25
+ config = (0, _configPlugins.withDangerousMod)(config, ['ios', modConfig => {
26
+ const podfilePath = _path.default.join(modConfig.modRequest.platformProjectRoot, 'Podfile');
27
+ let contents = _fs.default.readFileSync(podfilePath, 'utf-8');
28
+
29
+ // Check if the IPHONEOS_DEPLOYMENT_TARGET setting is already present
30
+ // We search for the key being assigned, e.g., config.build_settings['IPHONEOS_DEPLOYMENT_TARGET'] =
31
+ const deploymentTargetSettingExists = /\.build_settings\s*\[\s*['"]IPHONEOS_DEPLOYMENT_TARGET['"]\s*\]\s*=/.test(contents);
32
+ if (!deploymentTargetSettingExists) {
33
+ // IPHONEOS_DEPLOYMENT_TARGET setting not found, proceed to add it.
34
+ contents = contents.replace(/(post_install\s+do\s+\|installer\|[\s\S]*?)(\r?\n\s\send\s*)$/m, `$1
35
+
36
+ # Expo Build Properties: force deployment target
37
+ # https://github.com/mrousavy/nitro/issues/422#issuecomment-2545988256
38
+ installer.pods_project.targets.each do |target|
39
+ target.build_configurations.each do |config|
40
+ config.build_settings['IPHONEOS_DEPLOYMENT_TARGET'] = '16.0'
41
+ end
42
+ end
43
+ $2`);
44
+ }
45
+ _fs.default.writeFileSync(podfilePath, contents);
46
+ return modConfig;
47
+ }]);
48
+ return config;
49
+ };
50
+ exports.withXCode = withXCode;
51
+ //# sourceMappingURL=withXCode.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_expoBuildProperties","require","_configPlugins","_fs","_interopRequireDefault","_path","e","__esModule","default","withXCode","config","withBuildProperties","ios","deploymentTarget","withDangerousMod","modConfig","podfilePath","path","join","modRequest","platformProjectRoot","contents","fs","readFileSync","deploymentTargetSettingExists","test","replace","writeFileSync","exports"],"sourceRoot":"../../../src","sources":["expo-plugin/withXCode.ts"],"mappings":";;;;;;AAEA,IAAAA,oBAAA,GAAAC,OAAA;AACA,IAAAC,cAAA,GAAAD,OAAA;AACA,IAAAE,GAAA,GAAAC,sBAAA,CAAAH,OAAA;AACA,IAAAI,KAAA,GAAAD,sBAAA,CAAAH,OAAA;AAAwB,SAAAG,uBAAAE,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAExB;AACA;AACA;AACA;AACA;AACO,MAAMG,SAAoC,GAAGC,MAAM,IAAI;EAC5D;EACAA,MAAM,GAAG,IAAAC,wCAAmB,EAACD,MAAM,EAAE;IAAEE,GAAG,EAAE;MAAEC,gBAAgB,EAAE;IAAO;EAAE,CAAC,CAAC;EAC3E;EACAH,MAAM,GAAG,IAAAI,+BAAgB,EAACJ,MAAM,EAAE,CAChC,KAAK,EACLK,SAAS,IAAI;IACX,MAAMC,WAAW,GAAGC,aAAI,CAACC,IAAI,CAC3BH,SAAS,CAACI,UAAU,CAACC,mBAAmB,EACxC,SACF,CAAC;IACD,IAAIC,QAAQ,GAAGC,WAAE,CAACC,YAAY,CAACP,WAAW,EAAE,OAAO,CAAC;;IAEpD;IACA;IACA,MAAMQ,6BAA6B,GACjC,qEAAqE,CAACC,IAAI,CACxEJ,QACF,CAAC;IAEH,IAAI,CAACG,6BAA6B,EAAE;MAClC;MACAH,QAAQ,GAAGA,QAAQ,CAACK,OAAO,CACzB,gEAAgE,EAChE;AACV;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GACQ,CAAC;IACH;IAEAJ,WAAE,CAACK,aAAa,CAACX,WAAW,EAAEK,QAAQ,CAAC;IACvC,OAAON,SAAS;EAClB,CAAC,CACF,CAAC;EACF,OAAOL,MAAM;AACf,CAAC;AAACkB,OAAA,CAAAnB,SAAA,GAAAA,SAAA","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["NitroModules","Stream","Buffer","ab2str","binaryLikeToArrayBuffer","getDefaultEncoding","getUIntOption","normalizeEncoding","validateEncoding","CipherUtils","native","createHybridObject","getSupportedCiphers","getCiphers","CipherCommon","Transform","constructor","isCipher","cipherType","cipherKey","iv","options","streamOptions","transformKeys","key","authTagLen","factory","createCipher","update","data","inputEncoding","outputEncoding","defaultEncoding","ArrayBuffer","isView","Error","ret","from","final","_transform","chunk","encoding","callback","push","_flush","setAutoPadding","autoPadding","res","setAAD","buffer","plaintextLength","getAuthTag","setAuthTag","tag","Cipheriv","Decipheriv","createDecipheriv","algorithm","createCipheriv","xsalsa20","nonce","output","counter","result","Uint8Array"],"sourceRoot":"../../src","sources":["cipher.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["NitroModules","Stream","Buffer","ab2str","binaryLikeToArrayBuffer","getDefaultEncoding","getUIntOption","normalizeEncoding","validateEncoding","CipherUtils","native","createHybridObject","getSupportedCiphers","getCiphers","CipherCommon","Transform","constructor","isCipher","cipherType","cipherKey","iv","options","streamOptions","transformKeys","key","authTagLen","factory","createCipher","update","data","inputEncoding","outputEncoding","defaultEncoding","ArrayBuffer","isView","Error","ret","from","final","_transform","chunk","encoding","callback","push","_flush","setAutoPadding","autoPadding","res","setAAD","buffer","plaintextLength","getAuthTag","setAuthTag","tag","Cipheriv","Decipheriv","createDecipheriv","algorithm","createCipheriv","xsalsa20","nonce","output","counter","result","Uint8Array"],"sourceRoot":"../../src","sources":["cipher.ts"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ //# sourceMappingURL=@types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sourceRoot":"../../../src","sources":["expo-plugin/@types.ts"],"mappings":"","ignoreList":[]}
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+
3
+ import { createRunOncePlugin } from 'expo/config-plugins';
4
+ import { withSodiumIos } from './withSodiumIos';
5
+ import { withSodiumAndroid } from './withSodiumAndroid';
6
+ import { withXCode } from './withXCode';
7
+ const withRNQCInternal = (config, props = {}) => {
8
+ // add XCode workarounds for some 16.x releases that are not RN-friendly
9
+ config = withXCode(config, props);
10
+
11
+ // enable libsodium algorithms
12
+ if (props.sodiumEnabled) {
13
+ config = withSodiumIos(config, props);
14
+ config = withSodiumAndroid(config, props);
15
+ }
16
+ return config;
17
+ };
18
+ export function createRNQCPlugin(name, version) {
19
+ return createRunOncePlugin(withRNQCInternal, name, version);
20
+ }
21
+ //# sourceMappingURL=withRNQC.js.map