react-native-quick-crypto 1.0.16 → 1.0.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.
@@ -13,6 +13,8 @@
13
13
  #include <stdexcept>
14
14
  #include <string>
15
15
 
16
+ #include "../sign/SignUtils.hpp"
17
+
16
18
  // OpenSSL EC parameter encoding constants
17
19
  #ifndef OPENSSL_EC_EXPLICIT_CURVE
18
20
  #define OPENSSL_EC_EXPLICIT_CURVE 0x000
@@ -24,6 +26,8 @@
24
26
  #include "HybridEcKeyPair.hpp"
25
27
  #include "QuickCryptoUtils.hpp"
26
28
 
29
+ using margelo::nitro::NativeArrayBuffer;
30
+
27
31
  namespace margelo::nitro::crypto {
28
32
 
29
33
  std::shared_ptr<Promise<void>> HybridEcKeyPair::generateKeyPair() {
@@ -372,8 +376,18 @@ std::shared_ptr<ArrayBuffer> HybridEcKeyPair::sign(const std::shared_ptr<ArrayBu
372
376
  // Resize to actual signature length
373
377
  signature.resize(sig_len);
374
378
 
375
- // Convert to ArrayBuffer
376
- return ToNativeArrayBuffer(std::string(signature.begin(), signature.end()));
379
+ // Web Crypto API requires IEEE P1363 format for ECDSA signatures
380
+ unsigned int n = getBytesOfRS(this->pkey);
381
+ if (n == 0) {
382
+ throw std::runtime_error("Failed to determine EC key order size for P1363 conversion");
383
+ }
384
+ auto p1363_buf = std::make_unique<uint8_t[]>(2 * n);
385
+ std::memset(p1363_buf.get(), 0, 2 * n);
386
+ if (!convertSignatureToP1363(signature.data(), sig_len, p1363_buf.get(), n)) {
387
+ throw std::runtime_error("Failed to convert ECDSA signature from DER to P1363 format");
388
+ }
389
+ uint8_t* raw_ptr = p1363_buf.get();
390
+ return std::make_shared<NativeArrayBuffer>(p1363_buf.release(), 2 * n, [raw_ptr]() { delete[] raw_ptr; });
377
391
  }
378
392
 
379
393
  bool HybridEcKeyPair::verify(const std::shared_ptr<ArrayBuffer>& data, const std::shared_ptr<ArrayBuffer>& signature,
@@ -410,8 +424,24 @@ bool HybridEcKeyPair::verify(const std::shared_ptr<ArrayBuffer>& data, const std
410
424
  throw std::runtime_error("Failed to update ECDSA verification with data");
411
425
  }
412
426
 
413
- // Verify signature
414
- int result = EVP_DigestVerifyFinal(md_ctx.get(), static_cast<const unsigned char*>(signature->data()), signature->size());
427
+ // Web Crypto API passes IEEE P1363 format, OpenSSL expects DER
428
+ const unsigned char* sig_data = static_cast<const unsigned char*>(signature->data());
429
+ size_t sig_len = signature->size();
430
+ std::unique_ptr<uint8_t[]> der_sig_buf;
431
+
432
+ unsigned int n = getBytesOfRS(this->pkey);
433
+ if (n == 0) {
434
+ throw std::runtime_error("Failed to determine EC key order size for DER conversion");
435
+ }
436
+ size_t der_len = 0;
437
+ der_sig_buf = convertSignatureToDER(sig_data, sig_len, n, &der_len);
438
+ if (!der_sig_buf) {
439
+ throw std::runtime_error("Failed to convert ECDSA signature from P1363 to DER format");
440
+ }
441
+ sig_data = der_sig_buf.get();
442
+ sig_len = der_len;
443
+
444
+ int result = EVP_DigestVerifyFinal(md_ctx.get(), sig_data, sig_len);
415
445
 
416
446
  if (result < 0) {
417
447
  throw std::runtime_error("ECDSA verification failed with error");
@@ -1,10 +1,167 @@
1
1
  #include "HybridUtils.hpp"
2
2
 
3
+ #include <limits>
3
4
  #include <openssl/crypto.h>
5
+ #include <openssl/evp.h>
4
6
  #include <stdexcept>
7
+ #include <string>
8
+
9
+ #include "QuickCryptoUtils.hpp"
5
10
 
6
11
  namespace margelo::nitro::crypto {
7
12
 
13
+ namespace {
14
+
15
+ constexpr char kHexChars[] = "0123456789abcdef";
16
+
17
+ int hexCharToVal(char c) {
18
+ if (c >= '0' && c <= '9')
19
+ return c - '0';
20
+ if (c >= 'a' && c <= 'f')
21
+ return c - 'a' + 10;
22
+ if (c >= 'A' && c <= 'F')
23
+ return c - 'A' + 10;
24
+ return -1;
25
+ }
26
+
27
+ std::string encodeHex(const uint8_t* data, size_t len) {
28
+ std::string result;
29
+ result.reserve(len * 2);
30
+ for (size_t i = 0; i < len; i++) {
31
+ result.push_back(kHexChars[data[i] >> 4]);
32
+ result.push_back(kHexChars[data[i] & 0x0F]);
33
+ }
34
+ return result;
35
+ }
36
+
37
+ std::vector<uint8_t> decodeHex(const std::string& hex) {
38
+ if (hex.length() % 2 != 0) {
39
+ throw std::runtime_error("Invalid hex string length");
40
+ }
41
+ std::vector<uint8_t> result;
42
+ result.reserve(hex.length() / 2);
43
+ for (size_t i = 0; i < hex.length(); i += 2) {
44
+ int hi = hexCharToVal(hex[i]);
45
+ int lo = hexCharToVal(hex[i + 1]);
46
+ if (hi < 0 || lo < 0) {
47
+ throw std::runtime_error("Invalid hex character");
48
+ }
49
+ result.push_back(static_cast<uint8_t>((hi << 4) | lo));
50
+ }
51
+ return result;
52
+ }
53
+
54
+ std::string encodeBase64(const uint8_t* data, size_t len) {
55
+ if (len > static_cast<size_t>(std::numeric_limits<int>::max())) {
56
+ throw std::runtime_error("Input too large for base64 encoding");
57
+ }
58
+ size_t encodedLen = ((len + 2) / 3) * 4;
59
+ std::string result(encodedLen + 1, '\0');
60
+ int written = EVP_EncodeBlock(reinterpret_cast<unsigned char*>(result.data()), data, static_cast<int>(len));
61
+ if (written < 0) {
62
+ throw std::runtime_error("Base64 encoding failed");
63
+ }
64
+ result.resize(static_cast<size_t>(written));
65
+ return result;
66
+ }
67
+
68
+ std::vector<uint8_t> decodeBase64(const std::string& b64) {
69
+ if (b64.length() > static_cast<size_t>(std::numeric_limits<int>::max())) {
70
+ throw std::runtime_error("Input too large for base64 decoding");
71
+ }
72
+ size_t maxLen = ((b64.length() + 3) / 4) * 3;
73
+ std::vector<uint8_t> result(maxLen);
74
+ int written = EVP_DecodeBlock(result.data(), reinterpret_cast<const unsigned char*>(b64.data()), static_cast<int>(b64.length()));
75
+ if (written < 0) {
76
+ throw std::runtime_error("Base64 decoding failed");
77
+ }
78
+ // EVP_DecodeBlock doesn't account for padding — trim trailing zeros from padding
79
+ size_t padding = 0;
80
+ if (b64.length() >= 1 && b64[b64.length() - 1] == '=')
81
+ padding++;
82
+ if (b64.length() >= 2 && b64[b64.length() - 2] == '=')
83
+ padding++;
84
+ result.resize(static_cast<size_t>(written) - padding);
85
+ return result;
86
+ }
87
+
88
+ std::string encodeBase64Url(const uint8_t* data, size_t len) {
89
+ std::string b64 = encodeBase64(data, len);
90
+ for (auto& c : b64) {
91
+ if (c == '+')
92
+ c = '-';
93
+ else if (c == '/')
94
+ c = '_';
95
+ }
96
+ // Remove trailing '=' padding
97
+ while (!b64.empty() && b64.back() == '=') {
98
+ b64.pop_back();
99
+ }
100
+ return b64;
101
+ }
102
+
103
+ std::vector<uint8_t> decodeBase64Url(const std::string& b64url) {
104
+ std::string b64 = b64url;
105
+ for (auto& c : b64) {
106
+ if (c == '-')
107
+ c = '+';
108
+ else if (c == '_')
109
+ c = '/';
110
+ }
111
+ // Add back padding
112
+ while (b64.length() % 4 != 0) {
113
+ b64.push_back('=');
114
+ }
115
+ return decodeBase64(b64);
116
+ }
117
+
118
+ std::vector<uint8_t> decodeLatin1(const std::string& str) {
119
+ std::vector<uint8_t> result;
120
+ result.reserve(str.size());
121
+ size_t i = 0;
122
+ while (i < str.size()) {
123
+ auto byte = static_cast<uint8_t>(str[i]);
124
+ uint32_t cp;
125
+ if (byte < 0x80) {
126
+ cp = byte;
127
+ i += 1;
128
+ } else if ((byte & 0xE0) == 0xC0 && i + 1 < str.size()) {
129
+ cp = ((byte & 0x1F) << 6) | (static_cast<uint8_t>(str[i + 1]) & 0x3F);
130
+ i += 2;
131
+ } else if ((byte & 0xF0) == 0xE0 && i + 2 < str.size()) {
132
+ cp = ((byte & 0x0F) << 12) | ((static_cast<uint8_t>(str[i + 1]) & 0x3F) << 6) | (static_cast<uint8_t>(str[i + 2]) & 0x3F);
133
+ i += 3;
134
+ } else if ((byte & 0xF8) == 0xF0 && i + 3 < str.size()) {
135
+ cp = ((byte & 0x07) << 18) | ((static_cast<uint8_t>(str[i + 1]) & 0x3F) << 12) | ((static_cast<uint8_t>(str[i + 2]) & 0x3F) << 6) |
136
+ (static_cast<uint8_t>(str[i + 3]) & 0x3F);
137
+ i += 4;
138
+ } else {
139
+ cp = byte;
140
+ i += 1;
141
+ }
142
+ result.push_back(static_cast<uint8_t>(cp & 0xFF));
143
+ }
144
+ return result;
145
+ }
146
+
147
+ std::string encodeLatin1(const uint8_t* data, size_t len) {
148
+ std::string result;
149
+ result.reserve(len * 2);
150
+ for (size_t i = 0; i < len; i++) {
151
+ uint8_t byte = data[i];
152
+ if (byte < 0x80) {
153
+ result.push_back(static_cast<char>(byte));
154
+ } else {
155
+ // Latin1 byte 0x80-0xFF → UTF-8 two-byte sequence
156
+ result.push_back(static_cast<char>(0xC0 | (byte >> 6)));
157
+ result.push_back(static_cast<char>(0x80 | (byte & 0x3F)));
158
+ }
159
+ }
160
+ return result;
161
+ }
162
+
163
+ } // anonymous namespace
164
+
8
165
  bool HybridUtils::timingSafeEqual(const std::shared_ptr<ArrayBuffer>& a, const std::shared_ptr<ArrayBuffer>& b) {
9
166
  size_t aLen = a->size();
10
167
  size_t bLen = b->size();
@@ -16,4 +173,63 @@ bool HybridUtils::timingSafeEqual(const std::shared_ptr<ArrayBuffer>& a, const s
16
173
  return CRYPTO_memcmp(a->data(), b->data(), aLen) == 0;
17
174
  }
18
175
 
176
+ std::string HybridUtils::bufferToString(const std::shared_ptr<ArrayBuffer>& buffer, const std::string& encoding) {
177
+ const auto* data = reinterpret_cast<const uint8_t*>(buffer->data());
178
+ size_t len = buffer->size();
179
+
180
+ if (encoding == "hex") {
181
+ return encodeHex(data, len);
182
+ }
183
+ if (encoding == "base64") {
184
+ return encodeBase64(data, len);
185
+ }
186
+ if (encoding == "base64url") {
187
+ return encodeBase64Url(data, len);
188
+ }
189
+ if (encoding == "utf8" || encoding == "utf-8") {
190
+ return std::string(reinterpret_cast<const char*>(data), len);
191
+ }
192
+ if (encoding == "latin1" || encoding == "binary") {
193
+ return encodeLatin1(data, len);
194
+ }
195
+ if (encoding == "ascii") {
196
+ std::string result(reinterpret_cast<const char*>(data), len);
197
+ for (auto& c : result) {
198
+ c &= 0x7F;
199
+ }
200
+ return result;
201
+ }
202
+ throw std::runtime_error("Unsupported encoding: " + encoding);
203
+ }
204
+
205
+ std::shared_ptr<ArrayBuffer> HybridUtils::stringToBuffer(const std::string& str, const std::string& encoding) {
206
+ if (encoding == "hex") {
207
+ auto decoded = decodeHex(str);
208
+ return ToNativeArrayBuffer(decoded);
209
+ }
210
+ if (encoding == "base64") {
211
+ auto decoded = decodeBase64(str);
212
+ return ToNativeArrayBuffer(decoded);
213
+ }
214
+ if (encoding == "base64url") {
215
+ auto decoded = decodeBase64Url(str);
216
+ return ToNativeArrayBuffer(decoded);
217
+ }
218
+ if (encoding == "utf8" || encoding == "utf-8") {
219
+ return ToNativeArrayBuffer(str);
220
+ }
221
+ if (encoding == "latin1" || encoding == "binary") {
222
+ auto decoded = decodeLatin1(str);
223
+ return ToNativeArrayBuffer(decoded);
224
+ }
225
+ if (encoding == "ascii") {
226
+ auto decoded = decodeLatin1(str);
227
+ for (auto& b : decoded) {
228
+ b &= 0x7F;
229
+ }
230
+ return ToNativeArrayBuffer(decoded);
231
+ }
232
+ throw std::runtime_error("Unsupported encoding: " + encoding);
233
+ }
234
+
19
235
  } // namespace margelo::nitro::crypto
@@ -10,6 +10,8 @@ class HybridUtils : public HybridUtilsSpec {
10
10
 
11
11
  public:
12
12
  bool timingSafeEqual(const std::shared_ptr<ArrayBuffer>& a, const std::shared_ptr<ArrayBuffer>& b) override;
13
+ std::string bufferToString(const std::shared_ptr<ArrayBuffer>& buffer, const std::string& encoding) override;
14
+ std::shared_ptr<ArrayBuffer> stringToBuffer(const std::string& str, const std::string& encoding) override;
13
15
  };
14
16
 
15
17
  } // namespace margelo::nitro::crypto
@@ -34,9 +34,11 @@ class Ed {
34
34
  * @returns `Buffer` if no callback, or `void` if callback is provided
35
35
  */
36
36
  diffieHellman(options, callback) {
37
- // extract the private and public keys as ArrayBuffers
38
- const privateKey = (0, _utils.binaryLikeToArrayBuffer)(options.privateKey);
39
- const publicKey = (0, _utils.binaryLikeToArrayBuffer)(options.publicKey);
37
+ // extract raw key bytes from KeyObject instances
38
+ const privKeyObj = options.privateKey;
39
+ const pubKeyObj = options.publicKey;
40
+ const privateKey = privKeyObj.handle.exportKey();
41
+ const publicKey = pubKeyObj.handle.exportKey();
40
42
  try {
41
43
  const ret = this.native.diffieHellman(privateKey, publicKey);
42
44
  if (!ret) {
@@ -109,51 +111,82 @@ function diffieHellman(options, callback) {
109
111
  const ed = new Ed(type, {});
110
112
  return ed.diffieHellman(options, callback);
111
113
  }
114
+ function ed_createKeyObjects(ed) {
115
+ const publicKeyData = ed.getPublicKey();
116
+ const privateKeyData = ed.getPrivateKey();
117
+ const pub = _classes.KeyObject.createKeyObject('public', publicKeyData, _utils.KFormatType.DER, _utils.KeyEncoding.SPKI);
118
+ const priv = _classes.KeyObject.createKeyObject('private', privateKeyData, _utils.KFormatType.DER, _utils.KeyEncoding.PKCS8);
119
+ return {
120
+ pub,
121
+ priv
122
+ };
123
+ }
112
124
 
113
125
  // Node API
126
+ function ed_formatKeyPairOutput(ed, encoding) {
127
+ const {
128
+ publicFormat,
129
+ privateFormat,
130
+ cipher,
131
+ passphrase
132
+ } = encoding;
133
+ const {
134
+ pub,
135
+ priv
136
+ } = ed_createKeyObjects(ed);
137
+ let publicKey;
138
+ let privateKey;
139
+ if (publicFormat == null || publicFormat === -1) {
140
+ publicKey = pub;
141
+ } else {
142
+ const format = publicFormat === _utils.KFormatType.PEM ? _utils.KFormatType.PEM : _utils.KFormatType.DER;
143
+ const exported = pub.handle.exportKey(format, _utils.KeyEncoding.SPKI);
144
+ if (format === _utils.KFormatType.PEM) {
145
+ publicKey = _reactNativeBuffer.Buffer.from(new Uint8Array(exported)).toString('utf-8');
146
+ } else {
147
+ publicKey = exported;
148
+ }
149
+ }
150
+ if (privateFormat == null || privateFormat === -1) {
151
+ privateKey = priv;
152
+ } else {
153
+ const format = privateFormat === _utils.KFormatType.PEM ? _utils.KFormatType.PEM : _utils.KFormatType.DER;
154
+ const exported = priv.handle.exportKey(format, _utils.KeyEncoding.PKCS8, cipher, passphrase);
155
+ if (format === _utils.KFormatType.PEM) {
156
+ privateKey = _reactNativeBuffer.Buffer.from(new Uint8Array(exported)).toString('utf-8');
157
+ } else {
158
+ privateKey = exported;
159
+ }
160
+ }
161
+ return {
162
+ publicKey,
163
+ privateKey
164
+ };
165
+ }
114
166
  function ed_generateKeyPair(isAsync, type, encoding, callback) {
115
- const ed = new Ed(type, encoding);
116
-
117
- // Helper to convert keys to proper output format
118
- const formatKeys = () => {
119
- const publicKeyRaw = ed.getPublicKey();
120
- const privateKeyRaw = ed.getPrivateKey();
121
-
122
- // Check if PEM format was requested (KFormatType.PEM = 1)
123
- const isPemPublic = encoding.publicFormat === _utils.KFormatType.PEM;
124
- const isPemPrivate = encoding.privateFormat === _utils.KFormatType.PEM;
125
-
126
- // Convert ArrayBuffer to string for PEM format
127
- const arrayBufferToString = ab => {
128
- return _reactNativeBuffer.Buffer.from(new Uint8Array(ab)).toString('utf-8');
129
- };
130
- const publicKey = isPemPublic ? arrayBufferToString(publicKeyRaw) : publicKeyRaw;
131
- const privateKey = isPemPrivate ? arrayBufferToString(privateKeyRaw) : privateKeyRaw;
132
- return {
133
- publicKey,
134
- privateKey
135
- };
167
+ const derConfig = {
168
+ ...encoding,
169
+ publicFormat: _utils.KFormatType.DER,
170
+ publicType: _utils.KeyEncoding.SPKI,
171
+ privateFormat: _utils.KFormatType.DER,
172
+ privateType: _utils.KeyEncoding.PKCS8
136
173
  };
137
-
138
- // Async path
174
+ const ed = new Ed(type, derConfig);
139
175
  if (isAsync) {
140
176
  if (!callback) {
141
- // This should not happen if called from public API
142
177
  throw new Error('A callback is required for async key generation.');
143
178
  }
144
179
  ed.generateKeyPair().then(() => {
145
180
  const {
146
181
  publicKey,
147
182
  privateKey
148
- } = formatKeys();
183
+ } = ed_formatKeyPairOutput(ed, encoding);
149
184
  callback(undefined, publicKey, privateKey);
150
185
  }).catch(err => {
151
186
  callback(err, undefined, undefined);
152
187
  });
153
188
  return;
154
189
  }
155
-
156
- // Sync path
157
190
  let err;
158
191
  try {
159
192
  ed.generateKeyPairSync();
@@ -166,7 +199,7 @@ function ed_generateKeyPair(isAsync, type, encoding, callback) {
166
199
  } = err ? {
167
200
  publicKey: undefined,
168
201
  privateKey: undefined
169
- } : formatKeys();
202
+ } : ed_formatKeyPairOutput(ed, encoding);
170
203
  if (callback) {
171
204
  callback(err, publicKey, privateKey);
172
205
  return;
@@ -273,13 +306,13 @@ async function ed_generateKeyPairWebCrypto(type, extractable, keyUsages) {
273
306
  const ed = new Ed(type, config);
274
307
  await ed.generateKeyPair();
275
308
  const algorithmName = type === 'ed25519' ? 'Ed25519' : 'Ed448';
276
- const publicKeyData = ed.getPublicKey();
277
- const privateKeyData = ed.getPrivateKey();
278
- const pub = _classes.KeyObject.createKeyObject('public', publicKeyData, _utils.KFormatType.DER, _utils.KeyEncoding.SPKI);
309
+ const {
310
+ pub,
311
+ priv
312
+ } = ed_createKeyObjects(ed);
279
313
  const publicKey = new _classes.CryptoKey(pub, {
280
314
  name: algorithmName
281
315
  }, publicUsages, true);
282
- const priv = _classes.KeyObject.createKeyObject('private', privateKeyData, _utils.KFormatType.DER, _utils.KeyEncoding.PKCS8);
283
316
  const privateKey = new _classes.CryptoKey(priv, {
284
317
  name: algorithmName
285
318
  }, privateUsages, extractable);
@@ -308,13 +341,13 @@ async function x_generateKeyPairWebCrypto(type, extractable, keyUsages) {
308
341
  const ed = new Ed(type, config);
309
342
  await ed.generateKeyPair();
310
343
  const algorithmName = type === 'x25519' ? 'X25519' : 'X448';
311
- const publicKeyData = ed.getPublicKey();
312
- const privateKeyData = ed.getPrivateKey();
313
- const pub = _classes.KeyObject.createKeyObject('public', publicKeyData, _utils.KFormatType.DER, _utils.KeyEncoding.SPKI);
344
+ const {
345
+ pub,
346
+ priv
347
+ } = ed_createKeyObjects(ed);
314
348
  const publicKey = new _classes.CryptoKey(pub, {
315
349
  name: algorithmName
316
350
  }, publicUsages, true);
317
- const priv = _classes.KeyObject.createKeyObject('private', privateKeyData, _utils.KFormatType.DER, _utils.KeyEncoding.PKCS8);
318
351
  const privateKey = new _classes.CryptoKey(priv, {
319
352
  name: algorithmName
320
353
  }, privateUsages, extractable);
@@ -1 +1 @@
1
- {"version":3,"names":["_reactNativeNitroModules","require","_reactNativeBuffer","_classes","_utils","_ecdh","Ed","constructor","type","config","native","NitroModules","createHybridObject","setCurve","diffieHellman","options","callback","privateKey","toAB","publicKey","ret","Error","Buffer","from","e","err","undefined","generateKeyPair","publicFormat","publicType","privateFormat","privateType","cipher","passphrase","generateKeyPairSync","getPublicKey","getPrivateKey","getSharedSecret","sign","message","key","signSync","verify","signature","verifySync","exports","checkDiffieHellmanOptions","keyType","asymmetricKeyType","ecDiffieHellman","ed","ed_generateKeyPair","isAsync","encoding","formatKeys","publicKeyRaw","privateKeyRaw","isPemPublic","KFormatType","PEM","isPemPrivate","arrayBufferToString","ab","Uint8Array","toString","then","catch","String","curveName","namedCurve","ecdh","ECDH","jwkPrivate","handle","exportJwk","d","setPrivateKey","jwkPublic","x","y","publicBytes","concat","secret","computeSecret","privateKeyAsym","publicKeyAsym","privateCurve","publicCurve","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","public","toLowerCase","privateKeyBytes","keyObject","exportKey","publicKeyBytes","privateKeyTyped","publicKeyTyped","byteLength","Math","ceil","slice"],"sourceRoot":"../../src","sources":["ed.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_reactNativeNitroModules","require","_reactNativeBuffer","_classes","_utils","_ecdh","Ed","constructor","type","config","native","NitroModules","createHybridObject","setCurve","diffieHellman","options","callback","privKeyObj","privateKey","pubKeyObj","publicKey","handle","exportKey","ret","Error","Buffer","from","e","err","undefined","generateKeyPair","publicFormat","publicType","privateFormat","privateType","cipher","passphrase","generateKeyPairSync","getPublicKey","getPrivateKey","getSharedSecret","toAB","sign","message","key","signSync","verify","signature","verifySync","exports","checkDiffieHellmanOptions","keyType","asymmetricKeyType","ecDiffieHellman","ed","ed_createKeyObjects","publicKeyData","privateKeyData","pub","KeyObject","createKeyObject","KFormatType","DER","KeyEncoding","SPKI","priv","PKCS8","ed_formatKeyPairOutput","encoding","format","PEM","exported","Uint8Array","toString","ed_generateKeyPair","isAsync","derConfig","then","catch","String","curveName","namedCurve","ecdh","ECDH","jwkPrivate","exportJwk","d","setPrivateKey","jwkPublic","x","y","publicBytes","concat","secret","computeSecret","privateKeyAsym","publicKeyAsym","privateCurve","publicCurve","ed_generateKeyPairWebCrypto","extractable","keyUsages","hasAnyNotIn","lazyDOMException","publicUsages","getUsagesUnion","privateUsages","length","algorithmName","CryptoKey","name","x_generateKeyPairWebCrypto","xDeriveBits","algorithm","baseKey","public","toLowerCase","privateKeyBytes","keyObject","publicKeyBytes","privateKeyTyped","publicKeyTyped","byteLength","Math","ceil","slice"],"sourceRoot":"../../src","sources":["ed.ts"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["_readableStream","require","_reactNativeNitroModules","_reactNativeBuffer","_utils","_validation","_errors","_hashnames","HashUtils","native","NitroModules","createHybridObject","getSupportedHashAlgorithms","getHashes","Hash","Stream","Transform","validate","args","algorithm","length","Error","options","outputLength","undefined","constructor","createHash","update","data","inputEncoding","defaultEncoding","binaryLikeToArrayBuffer","digest","encoding","nativeDigest","ab2str","Buffer","from","copy","newOptions","newNativeHash","hash","getOpenSSLVersion","_transform","chunk","callback","_flush","push","asyncDigest","validateMaxBufferLength","name","internalDigest","lazyDOMException","exports","normalizedHashName","normalizeHashName","bufferLikeToArrayBuffer","result","arrayBuffer","ArrayBuffer","view","Uint8Array","set","outputEncoding","h","hashExports"],"sourceRoot":"../../src","sources":["hash.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_readableStream","require","_reactNativeNitroModules","_reactNativeBuffer","_utils","_validation","_errors","_hashnames","HashUtils","native","NitroModules","createHybridObject","getSupportedHashAlgorithms","getHashes","Hash","Stream","Transform","validate","args","algorithm","length","Error","options","outputLength","undefined","constructor","createHash","update","data","inputEncoding","defaultEncoding","binaryLikeToArrayBuffer","digest","encoding","nativeDigest","ab2str","Buffer","from","copy","newOptions","newNativeHash","hash","getOpenSSLVersion","_transform","chunk","callback","_flush","push","asyncDigest","validateMaxBufferLength","name","internalDigest","lazyDOMException","exports","normalizedHashName","normalizeHashName","bufferLikeToArrayBuffer","result","arrayBuffer","ArrayBuffer","view","Uint8Array","set","outputEncoding","h","hashExports"],"sourceRoot":"../../src","sources":["hash.ts"],"mappings":"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","ignoreList":[]}
@@ -9,16 +9,21 @@ var _exportNames = {
9
9
  bufferLikeToArrayBuffer: true,
10
10
  binaryLikeToArrayBuffer: true,
11
11
  ab2str: true,
12
+ bufferToString: true,
13
+ stringToBuffer: true,
12
14
  kEmptyObject: true
13
15
  };
14
16
  exports.ab2str = ab2str;
15
17
  exports.abvToArrayBuffer = void 0;
16
18
  exports.binaryLikeToArrayBuffer = binaryLikeToArrayBuffer;
17
19
  exports.bufferLikeToArrayBuffer = bufferLikeToArrayBuffer;
20
+ exports.bufferToString = bufferToString;
18
21
  exports.kEmptyObject = void 0;
22
+ exports.stringToBuffer = stringToBuffer;
19
23
  exports.toArrayBuffer = toArrayBuffer;
20
24
  var _reactNativeBuffer = require("@craftzdog/react-native-buffer");
21
25
  var _safeBuffer = require("safe-buffer");
26
+ var _reactNativeNitroModules = require("react-native-nitro-modules");
22
27
  var _noble = require("./noble");
23
28
  Object.keys(_noble).forEach(function (key) {
24
29
  if (key === "default" || key === "__esModule") return;
@@ -31,6 +36,8 @@ Object.keys(_noble).forEach(function (key) {
31
36
  }
32
37
  });
33
38
  });
39
+ const utils = _reactNativeNitroModules.NitroModules.createHybridObject('Utils');
40
+
34
41
  /**
35
42
  * Converts supplied argument to an ArrayBuffer. Note this does not copy the
36
43
  * data so it is faster than toArrayBuffer. Not copying is important for
@@ -107,6 +114,9 @@ encoding = 'utf-8') {
107
114
  if (encoding === 'buffer') {
108
115
  throw new Error('Cannot create a buffer from a string with a buffer encoding');
109
116
  }
117
+ if (nativeEncodings.has(encoding)) {
118
+ return utils.stringToBuffer(input, encoding);
119
+ }
110
120
  const buffer = _reactNativeBuffer.Buffer.from(input, encoding);
111
121
  return buffer.buffer.slice(buffer.byteOffset, buffer.byteOffset + buffer.byteLength);
112
122
  }
@@ -149,8 +159,22 @@ encoding = 'utf-8') {
149
159
  }
150
160
  throw new Error('Invalid argument type for "key". Need ArrayBuffer, TypedArray, KeyObject, CryptoKey, string');
151
161
  }
162
+ const nativeEncodings = new Set(['hex', 'base64', 'base64url', 'utf8', 'utf-8', 'latin1', 'binary', 'ascii']);
152
163
  function ab2str(buf, encoding = 'hex') {
164
+ if (nativeEncodings.has(encoding)) {
165
+ return utils.bufferToString(buf, encoding);
166
+ }
153
167
  return _reactNativeBuffer.Buffer.from(buf).toString(encoding);
154
168
  }
169
+
170
+ /** Native C++ buffer-to-string — exposed for benchmarking */
171
+ function bufferToString(buf, encoding = 'hex') {
172
+ return utils.bufferToString(buf, encoding);
173
+ }
174
+
175
+ /** Native C++ string-to-buffer — exposed for benchmarking */
176
+ function stringToBuffer(str, encoding = 'utf-8') {
177
+ return utils.stringToBuffer(str, encoding);
178
+ }
155
179
  const kEmptyObject = exports.kEmptyObject = Object.freeze(Object.create(null));
156
180
  //# sourceMappingURL=conversion.js.map