react-native-quick-crypto 1.0.8 → 1.0.10
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 +56 -6
- package/README.md +17 -11
- package/android/CMakeLists.txt +4 -0
- package/android/build.gradle +3 -0
- package/cpp/cipher/HybridCipherFactory.hpp +15 -1
- package/cpp/cipher/OCBCipher.cpp +4 -4
- package/cpp/cipher/XChaCha20Poly1305Cipher.cpp +161 -0
- package/cpp/cipher/XChaCha20Poly1305Cipher.hpp +43 -0
- package/cpp/cipher/XSalsa20Poly1305Cipher.cpp +145 -0
- package/cpp/cipher/XSalsa20Poly1305Cipher.hpp +42 -0
- package/cpp/dh/HybridDiffieHellman.cpp +10 -0
- package/cpp/dh/HybridDiffieHellman.hpp +1 -0
- package/cpp/ec/HybridEcKeyPair.cpp +21 -0
- package/cpp/ec/HybridEcKeyPair.hpp +1 -0
- package/cpp/hash/HybridHash.cpp +1 -1
- package/cpp/hash/HybridHash.hpp +1 -1
- package/cpp/hmac/HybridHmac.cpp +1 -1
- package/cpp/hmac/HybridHmac.hpp +1 -1
- package/cpp/keys/HybridKeyObjectHandle.cpp +112 -1
- package/cpp/keys/HybridKeyObjectHandle.hpp +5 -1
- package/deps/ncrypto/.bazelrc +0 -1
- package/deps/ncrypto/.bazelversion +1 -1
- package/deps/ncrypto/.github/workflows/commitlint.yml +16 -0
- package/deps/ncrypto/.github/workflows/linter.yml +2 -2
- package/deps/ncrypto/.github/workflows/release-please.yml +16 -0
- package/deps/ncrypto/.github/workflows/ubuntu.yml +82 -0
- package/deps/ncrypto/.release-please-manifest.json +3 -0
- package/deps/ncrypto/BUILD.bazel +9 -1
- package/deps/ncrypto/CHANGELOG.md +37 -0
- package/deps/ncrypto/CMakeLists.txt +35 -11
- package/deps/ncrypto/MODULE.bazel +16 -1
- package/deps/ncrypto/MODULE.bazel.lock +299 -118
- package/deps/ncrypto/cmake/ncrypto-flags.cmake +1 -0
- package/deps/ncrypto/include/ncrypto/aead.h +137 -0
- package/deps/ncrypto/include/ncrypto/version.h +14 -0
- package/deps/ncrypto/include/ncrypto.h +85 -230
- package/deps/ncrypto/ncrypto.pc.in +10 -0
- package/deps/ncrypto/release-please-config.json +11 -0
- package/deps/ncrypto/src/CMakeLists.txt +31 -6
- package/deps/ncrypto/src/aead.cpp +302 -0
- package/deps/ncrypto/src/ncrypto.cpp +274 -556
- package/deps/ncrypto/tests/BUILD.bazel +2 -0
- package/deps/ncrypto/tests/basic.cpp +772 -2
- package/deps/ncrypto/tools/run-clang-format.sh +5 -5
- package/lib/commonjs/diffie-hellman.js +4 -1
- package/lib/commonjs/diffie-hellman.js.map +1 -1
- package/lib/commonjs/ec.js +20 -25
- package/lib/commonjs/ec.js.map +1 -1
- package/lib/commonjs/ed.js +1 -2
- package/lib/commonjs/ed.js.map +1 -1
- package/lib/commonjs/hash.js +7 -0
- package/lib/commonjs/hash.js.map +1 -1
- package/lib/commonjs/index.js +24 -2
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/keys/classes.js +9 -5
- package/lib/commonjs/keys/classes.js.map +1 -1
- package/lib/commonjs/subtle.js +82 -31
- package/lib/commonjs/subtle.js.map +1 -1
- package/lib/commonjs/utils/types.js.map +1 -1
- package/lib/module/diffie-hellman.js +4 -0
- package/lib/module/diffie-hellman.js.map +1 -1
- package/lib/module/ec.js +19 -25
- package/lib/module/ec.js.map +1 -1
- package/lib/module/ed.js +1 -2
- package/lib/module/ed.js.map +1 -1
- package/lib/module/hash.js +6 -0
- package/lib/module/hash.js.map +1 -1
- package/lib/module/index.js +10 -1
- package/lib/module/index.js.map +1 -1
- package/lib/module/keys/classes.js +9 -5
- package/lib/module/keys/classes.js.map +1 -1
- package/lib/module/subtle.js +83 -32
- package/lib/module/subtle.js.map +1 -1
- package/lib/module/utils/types.js.map +1 -1
- package/lib/tsconfig.tsbuildinfo +1 -1
- package/lib/typescript/diffie-hellman.d.ts +2 -0
- package/lib/typescript/diffie-hellman.d.ts.map +1 -1
- package/lib/typescript/ec.d.ts +1 -0
- package/lib/typescript/ec.d.ts.map +1 -1
- package/lib/typescript/ed.d.ts.map +1 -1
- package/lib/typescript/hash.d.ts +2 -0
- package/lib/typescript/hash.d.ts.map +1 -1
- package/lib/typescript/index.d.ts +7 -0
- package/lib/typescript/index.d.ts.map +1 -1
- package/lib/typescript/keys/classes.d.ts +2 -0
- package/lib/typescript/keys/classes.d.ts.map +1 -1
- package/lib/typescript/specs/diffie-hellman.nitro.d.ts +1 -0
- package/lib/typescript/specs/diffie-hellman.nitro.d.ts.map +1 -1
- package/lib/typescript/specs/ecKeyPair.nitro.d.ts +1 -0
- package/lib/typescript/specs/ecKeyPair.nitro.d.ts.map +1 -1
- package/lib/typescript/specs/keyObjectHandle.nitro.d.ts +2 -0
- package/lib/typescript/specs/keyObjectHandle.nitro.d.ts.map +1 -1
- package/lib/typescript/subtle.d.ts.map +1 -1
- package/lib/typescript/utils/types.d.ts +12 -5
- package/lib/typescript/utils/types.d.ts.map +1 -1
- package/nitrogen/generated/android/QuickCrypto+autolinking.cmake +8 -5
- package/nitrogen/generated/android/QuickCrypto+autolinking.gradle +1 -1
- package/nitrogen/generated/android/QuickCryptoOnLoad.cpp +54 -54
- package/nitrogen/generated/android/QuickCryptoOnLoad.hpp +1 -1
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/crypto/QuickCryptoOnLoad.kt +1 -1
- package/nitrogen/generated/ios/QuickCrypto+autolinking.rb +2 -2
- package/nitrogen/generated/ios/QuickCrypto-Swift-Cxx-Bridge.cpp +1 -1
- package/nitrogen/generated/ios/QuickCrypto-Swift-Cxx-Bridge.hpp +1 -1
- package/nitrogen/generated/ios/QuickCrypto-Swift-Cxx-Umbrella.hpp +1 -1
- package/nitrogen/generated/ios/QuickCryptoAutolinking.mm +54 -54
- package/nitrogen/generated/ios/QuickCryptoAutolinking.swift +5 -1
- package/nitrogen/generated/shared/c++/AsymmetricKeyType.hpp +1 -1
- package/nitrogen/generated/shared/c++/CipherArgs.hpp +34 -19
- package/nitrogen/generated/shared/c++/HybridBlake3Spec.cpp +1 -1
- package/nitrogen/generated/shared/c++/HybridBlake3Spec.hpp +1 -3
- package/nitrogen/generated/shared/c++/HybridCipherFactorySpec.cpp +1 -1
- package/nitrogen/generated/shared/c++/HybridCipherFactorySpec.hpp +1 -1
- package/nitrogen/generated/shared/c++/HybridCipherSpec.cpp +1 -1
- package/nitrogen/generated/shared/c++/HybridCipherSpec.hpp +1 -3
- package/nitrogen/generated/shared/c++/HybridDiffieHellmanSpec.cpp +2 -1
- package/nitrogen/generated/shared/c++/HybridDiffieHellmanSpec.hpp +3 -3
- package/nitrogen/generated/shared/c++/HybridECDHSpec.cpp +1 -1
- package/nitrogen/generated/shared/c++/HybridECDHSpec.hpp +2 -3
- package/nitrogen/generated/shared/c++/HybridEcKeyPairSpec.cpp +2 -1
- package/nitrogen/generated/shared/c++/HybridEcKeyPairSpec.hpp +2 -3
- package/nitrogen/generated/shared/c++/HybridEdKeyPairSpec.cpp +1 -1
- package/nitrogen/generated/shared/c++/HybridEdKeyPairSpec.hpp +2 -3
- package/nitrogen/generated/shared/c++/HybridHashSpec.cpp +1 -1
- package/nitrogen/generated/shared/c++/HybridHashSpec.hpp +2 -4
- package/nitrogen/generated/shared/c++/HybridHkdfSpec.cpp +1 -1
- package/nitrogen/generated/shared/c++/HybridHkdfSpec.hpp +2 -3
- package/nitrogen/generated/shared/c++/HybridHmacSpec.cpp +1 -1
- package/nitrogen/generated/shared/c++/HybridHmacSpec.hpp +3 -4
- package/nitrogen/generated/shared/c++/HybridKeyObjectHandleSpec.cpp +3 -1
- package/nitrogen/generated/shared/c++/HybridKeyObjectHandleSpec.hpp +8 -4
- package/nitrogen/generated/shared/c++/HybridMlDsaKeyPairSpec.cpp +1 -1
- package/nitrogen/generated/shared/c++/HybridMlDsaKeyPairSpec.hpp +2 -3
- package/nitrogen/generated/shared/c++/HybridPbkdf2Spec.cpp +1 -1
- package/nitrogen/generated/shared/c++/HybridPbkdf2Spec.hpp +2 -3
- package/nitrogen/generated/shared/c++/HybridRandomSpec.cpp +1 -1
- package/nitrogen/generated/shared/c++/HybridRandomSpec.hpp +2 -3
- package/nitrogen/generated/shared/c++/HybridRsaCipherSpec.cpp +1 -1
- package/nitrogen/generated/shared/c++/HybridRsaCipherSpec.hpp +1 -3
- package/nitrogen/generated/shared/c++/HybridRsaKeyPairSpec.cpp +1 -1
- package/nitrogen/generated/shared/c++/HybridRsaKeyPairSpec.hpp +1 -3
- package/nitrogen/generated/shared/c++/HybridScryptSpec.cpp +1 -1
- package/nitrogen/generated/shared/c++/HybridScryptSpec.hpp +2 -3
- package/nitrogen/generated/shared/c++/HybridSignHandleSpec.cpp +1 -1
- package/nitrogen/generated/shared/c++/HybridSignHandleSpec.hpp +1 -3
- package/nitrogen/generated/shared/c++/HybridUtilsSpec.cpp +1 -1
- package/nitrogen/generated/shared/c++/HybridUtilsSpec.hpp +2 -3
- package/nitrogen/generated/shared/c++/HybridVerifyHandleSpec.cpp +1 -1
- package/nitrogen/generated/shared/c++/HybridVerifyHandleSpec.hpp +1 -3
- package/nitrogen/generated/shared/c++/JWK.hpp +84 -68
- package/nitrogen/generated/shared/c++/JWKkty.hpp +5 -1
- package/nitrogen/generated/shared/c++/JWKuse.hpp +1 -1
- package/nitrogen/generated/shared/c++/KFormatType.hpp +1 -1
- package/nitrogen/generated/shared/c++/KeyDetail.hpp +39 -23
- package/nitrogen/generated/shared/c++/KeyEncoding.hpp +1 -1
- package/nitrogen/generated/shared/c++/KeyObject.hpp +21 -5
- package/nitrogen/generated/shared/c++/KeyType.hpp +1 -1
- package/nitrogen/generated/shared/c++/KeyUsage.hpp +1 -1
- package/nitrogen/generated/shared/c++/NamedCurve.hpp +1 -1
- package/package.json +10 -7
- package/src/diffie-hellman.ts +6 -0
- package/src/ec.ts +23 -19
- package/src/ed.ts +1 -2
- package/src/hash.ts +11 -0
- package/src/index.ts +9 -0
- package/src/keys/classes.ts +10 -3
- package/src/specs/diffie-hellman.nitro.ts +1 -0
- package/src/specs/ecKeyPair.nitro.ts +2 -0
- package/src/specs/keyObjectHandle.nitro.ts +2 -0
- package/src/subtle.ts +131 -32
- package/src/utils/types.ts +18 -3
- package/deps/ncrypto/WORKSPACE +0 -15
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
/// QuickCryptoAutolinking.mm
|
|
3
3
|
/// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
|
|
4
4
|
/// https://github.com/mrousavy/nitro
|
|
5
|
-
/// Copyright ©
|
|
5
|
+
/// Copyright © Marc Rousavy @ Margelo
|
|
6
6
|
///
|
|
7
7
|
|
|
8
8
|
#import <Foundation/Foundation.h>
|
|
@@ -13,23 +13,23 @@
|
|
|
13
13
|
#include "HybridBlake3.hpp"
|
|
14
14
|
#include "HybridCipher.hpp"
|
|
15
15
|
#include "HybridCipherFactory.hpp"
|
|
16
|
+
#include "HybridDiffieHellman.hpp"
|
|
17
|
+
#include "HybridECDH.hpp"
|
|
16
18
|
#include "HybridEcKeyPair.hpp"
|
|
17
19
|
#include "HybridEdKeyPair.hpp"
|
|
18
20
|
#include "HybridHash.hpp"
|
|
19
|
-
#include "HybridHmac.hpp"
|
|
20
21
|
#include "HybridHkdf.hpp"
|
|
22
|
+
#include "HybridHmac.hpp"
|
|
21
23
|
#include "HybridKeyObjectHandle.hpp"
|
|
24
|
+
#include "HybridMlDsaKeyPair.hpp"
|
|
22
25
|
#include "HybridPbkdf2.hpp"
|
|
23
26
|
#include "HybridRandom.hpp"
|
|
24
27
|
#include "HybridRsaCipher.hpp"
|
|
25
28
|
#include "HybridRsaKeyPair.hpp"
|
|
26
|
-
#include "HybridSignHandle.hpp"
|
|
27
|
-
#include "HybridVerifyHandle.hpp"
|
|
28
|
-
#include "HybridMlDsaKeyPair.hpp"
|
|
29
29
|
#include "HybridScrypt.hpp"
|
|
30
|
+
#include "HybridSignHandle.hpp"
|
|
30
31
|
#include "HybridUtils.hpp"
|
|
31
|
-
#include "
|
|
32
|
-
#include "HybridDiffieHellman.hpp"
|
|
32
|
+
#include "HybridVerifyHandle.hpp"
|
|
33
33
|
|
|
34
34
|
@interface QuickCryptoAutolinking : NSObject
|
|
35
35
|
@end
|
|
@@ -67,6 +67,24 @@
|
|
|
67
67
|
return std::make_shared<HybridCipherFactory>();
|
|
68
68
|
}
|
|
69
69
|
);
|
|
70
|
+
HybridObjectRegistry::registerHybridObjectConstructor(
|
|
71
|
+
"DiffieHellman",
|
|
72
|
+
[]() -> std::shared_ptr<HybridObject> {
|
|
73
|
+
static_assert(std::is_default_constructible_v<HybridDiffieHellman>,
|
|
74
|
+
"The HybridObject \"HybridDiffieHellman\" is not default-constructible! "
|
|
75
|
+
"Create a public constructor that takes zero arguments to be able to autolink this HybridObject.");
|
|
76
|
+
return std::make_shared<HybridDiffieHellman>();
|
|
77
|
+
}
|
|
78
|
+
);
|
|
79
|
+
HybridObjectRegistry::registerHybridObjectConstructor(
|
|
80
|
+
"ECDH",
|
|
81
|
+
[]() -> std::shared_ptr<HybridObject> {
|
|
82
|
+
static_assert(std::is_default_constructible_v<HybridECDH>,
|
|
83
|
+
"The HybridObject \"HybridECDH\" is not default-constructible! "
|
|
84
|
+
"Create a public constructor that takes zero arguments to be able to autolink this HybridObject.");
|
|
85
|
+
return std::make_shared<HybridECDH>();
|
|
86
|
+
}
|
|
87
|
+
);
|
|
70
88
|
HybridObjectRegistry::registerHybridObjectConstructor(
|
|
71
89
|
"EcKeyPair",
|
|
72
90
|
[]() -> std::shared_ptr<HybridObject> {
|
|
@@ -95,21 +113,21 @@
|
|
|
95
113
|
}
|
|
96
114
|
);
|
|
97
115
|
HybridObjectRegistry::registerHybridObjectConstructor(
|
|
98
|
-
"
|
|
116
|
+
"Hkdf",
|
|
99
117
|
[]() -> std::shared_ptr<HybridObject> {
|
|
100
|
-
static_assert(std::is_default_constructible_v<
|
|
101
|
-
"The HybridObject \"
|
|
118
|
+
static_assert(std::is_default_constructible_v<HybridHkdf>,
|
|
119
|
+
"The HybridObject \"HybridHkdf\" is not default-constructible! "
|
|
102
120
|
"Create a public constructor that takes zero arguments to be able to autolink this HybridObject.");
|
|
103
|
-
return std::make_shared<
|
|
121
|
+
return std::make_shared<HybridHkdf>();
|
|
104
122
|
}
|
|
105
123
|
);
|
|
106
124
|
HybridObjectRegistry::registerHybridObjectConstructor(
|
|
107
|
-
"
|
|
125
|
+
"Hmac",
|
|
108
126
|
[]() -> std::shared_ptr<HybridObject> {
|
|
109
|
-
static_assert(std::is_default_constructible_v<
|
|
110
|
-
"The HybridObject \"
|
|
127
|
+
static_assert(std::is_default_constructible_v<HybridHmac>,
|
|
128
|
+
"The HybridObject \"HybridHmac\" is not default-constructible! "
|
|
111
129
|
"Create a public constructor that takes zero arguments to be able to autolink this HybridObject.");
|
|
112
|
-
return std::make_shared<
|
|
130
|
+
return std::make_shared<HybridHmac>();
|
|
113
131
|
}
|
|
114
132
|
);
|
|
115
133
|
HybridObjectRegistry::registerHybridObjectConstructor(
|
|
@@ -121,6 +139,15 @@
|
|
|
121
139
|
return std::make_shared<HybridKeyObjectHandle>();
|
|
122
140
|
}
|
|
123
141
|
);
|
|
142
|
+
HybridObjectRegistry::registerHybridObjectConstructor(
|
|
143
|
+
"MlDsaKeyPair",
|
|
144
|
+
[]() -> std::shared_ptr<HybridObject> {
|
|
145
|
+
static_assert(std::is_default_constructible_v<HybridMlDsaKeyPair>,
|
|
146
|
+
"The HybridObject \"HybridMlDsaKeyPair\" is not default-constructible! "
|
|
147
|
+
"Create a public constructor that takes zero arguments to be able to autolink this HybridObject.");
|
|
148
|
+
return std::make_shared<HybridMlDsaKeyPair>();
|
|
149
|
+
}
|
|
150
|
+
);
|
|
124
151
|
HybridObjectRegistry::registerHybridObjectConstructor(
|
|
125
152
|
"Pbkdf2",
|
|
126
153
|
[]() -> std::shared_ptr<HybridObject> {
|
|
@@ -157,33 +184,6 @@
|
|
|
157
184
|
return std::make_shared<HybridRsaKeyPair>();
|
|
158
185
|
}
|
|
159
186
|
);
|
|
160
|
-
HybridObjectRegistry::registerHybridObjectConstructor(
|
|
161
|
-
"SignHandle",
|
|
162
|
-
[]() -> std::shared_ptr<HybridObject> {
|
|
163
|
-
static_assert(std::is_default_constructible_v<HybridSignHandle>,
|
|
164
|
-
"The HybridObject \"HybridSignHandle\" is not default-constructible! "
|
|
165
|
-
"Create a public constructor that takes zero arguments to be able to autolink this HybridObject.");
|
|
166
|
-
return std::make_shared<HybridSignHandle>();
|
|
167
|
-
}
|
|
168
|
-
);
|
|
169
|
-
HybridObjectRegistry::registerHybridObjectConstructor(
|
|
170
|
-
"VerifyHandle",
|
|
171
|
-
[]() -> std::shared_ptr<HybridObject> {
|
|
172
|
-
static_assert(std::is_default_constructible_v<HybridVerifyHandle>,
|
|
173
|
-
"The HybridObject \"HybridVerifyHandle\" is not default-constructible! "
|
|
174
|
-
"Create a public constructor that takes zero arguments to be able to autolink this HybridObject.");
|
|
175
|
-
return std::make_shared<HybridVerifyHandle>();
|
|
176
|
-
}
|
|
177
|
-
);
|
|
178
|
-
HybridObjectRegistry::registerHybridObjectConstructor(
|
|
179
|
-
"MlDsaKeyPair",
|
|
180
|
-
[]() -> std::shared_ptr<HybridObject> {
|
|
181
|
-
static_assert(std::is_default_constructible_v<HybridMlDsaKeyPair>,
|
|
182
|
-
"The HybridObject \"HybridMlDsaKeyPair\" is not default-constructible! "
|
|
183
|
-
"Create a public constructor that takes zero arguments to be able to autolink this HybridObject.");
|
|
184
|
-
return std::make_shared<HybridMlDsaKeyPair>();
|
|
185
|
-
}
|
|
186
|
-
);
|
|
187
187
|
HybridObjectRegistry::registerHybridObjectConstructor(
|
|
188
188
|
"Scrypt",
|
|
189
189
|
[]() -> std::shared_ptr<HybridObject> {
|
|
@@ -194,30 +194,30 @@
|
|
|
194
194
|
}
|
|
195
195
|
);
|
|
196
196
|
HybridObjectRegistry::registerHybridObjectConstructor(
|
|
197
|
-
"
|
|
197
|
+
"SignHandle",
|
|
198
198
|
[]() -> std::shared_ptr<HybridObject> {
|
|
199
|
-
static_assert(std::is_default_constructible_v<
|
|
200
|
-
"The HybridObject \"
|
|
199
|
+
static_assert(std::is_default_constructible_v<HybridSignHandle>,
|
|
200
|
+
"The HybridObject \"HybridSignHandle\" is not default-constructible! "
|
|
201
201
|
"Create a public constructor that takes zero arguments to be able to autolink this HybridObject.");
|
|
202
|
-
return std::make_shared<
|
|
202
|
+
return std::make_shared<HybridSignHandle>();
|
|
203
203
|
}
|
|
204
204
|
);
|
|
205
205
|
HybridObjectRegistry::registerHybridObjectConstructor(
|
|
206
|
-
"
|
|
206
|
+
"Utils",
|
|
207
207
|
[]() -> std::shared_ptr<HybridObject> {
|
|
208
|
-
static_assert(std::is_default_constructible_v<
|
|
209
|
-
"The HybridObject \"
|
|
208
|
+
static_assert(std::is_default_constructible_v<HybridUtils>,
|
|
209
|
+
"The HybridObject \"HybridUtils\" is not default-constructible! "
|
|
210
210
|
"Create a public constructor that takes zero arguments to be able to autolink this HybridObject.");
|
|
211
|
-
return std::make_shared<
|
|
211
|
+
return std::make_shared<HybridUtils>();
|
|
212
212
|
}
|
|
213
213
|
);
|
|
214
214
|
HybridObjectRegistry::registerHybridObjectConstructor(
|
|
215
|
-
"
|
|
215
|
+
"VerifyHandle",
|
|
216
216
|
[]() -> std::shared_ptr<HybridObject> {
|
|
217
|
-
static_assert(std::is_default_constructible_v<
|
|
218
|
-
"The HybridObject \"
|
|
217
|
+
static_assert(std::is_default_constructible_v<HybridVerifyHandle>,
|
|
218
|
+
"The HybridObject \"HybridVerifyHandle\" is not default-constructible! "
|
|
219
219
|
"Create a public constructor that takes zero arguments to be able to autolink this HybridObject.");
|
|
220
|
-
return std::make_shared<
|
|
220
|
+
return std::make_shared<HybridVerifyHandle>();
|
|
221
221
|
}
|
|
222
222
|
);
|
|
223
223
|
}
|
|
@@ -2,9 +2,13 @@
|
|
|
2
2
|
/// QuickCryptoAutolinking.swift
|
|
3
3
|
/// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
|
|
4
4
|
/// https://github.com/mrousavy/nitro
|
|
5
|
-
/// Copyright ©
|
|
5
|
+
/// Copyright © Marc Rousavy @ Margelo
|
|
6
6
|
///
|
|
7
7
|
|
|
8
|
+
import NitroModules
|
|
9
|
+
|
|
10
|
+
// TODO: Use empty enums once Swift supports exporting them as namespaces
|
|
11
|
+
// See: https://github.com/swiftlang/swift/pull/83616
|
|
8
12
|
public final class QuickCryptoAutolinking {
|
|
9
13
|
public typealias bridge = margelo.nitro.crypto.bridge.swift
|
|
10
14
|
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
/// CipherArgs.hpp
|
|
3
3
|
/// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
|
|
4
4
|
/// https://github.com/mrousavy/nitro
|
|
5
|
-
/// Copyright ©
|
|
5
|
+
/// Copyright © Marc Rousavy @ Margelo
|
|
6
6
|
///
|
|
7
7
|
|
|
8
8
|
#pragma once
|
|
@@ -17,9 +17,18 @@
|
|
|
17
17
|
#else
|
|
18
18
|
#error NitroModules cannot be found! Are you sure you installed NitroModules properly?
|
|
19
19
|
#endif
|
|
20
|
+
#if __has_include(<NitroModules/JSIHelpers.hpp>)
|
|
21
|
+
#include <NitroModules/JSIHelpers.hpp>
|
|
22
|
+
#else
|
|
23
|
+
#error NitroModules cannot be found! Are you sure you installed NitroModules properly?
|
|
24
|
+
#endif
|
|
25
|
+
#if __has_include(<NitroModules/PropNameIDCache.hpp>)
|
|
26
|
+
#include <NitroModules/PropNameIDCache.hpp>
|
|
27
|
+
#else
|
|
28
|
+
#error NitroModules cannot be found! Are you sure you installed NitroModules properly?
|
|
29
|
+
#endif
|
|
30
|
+
|
|
20
31
|
|
|
21
|
-
// Forward declaration of `ArrayBuffer` to properly resolve imports.
|
|
22
|
-
namespace NitroModules { class ArrayBuffer; }
|
|
23
32
|
|
|
24
33
|
#include <string>
|
|
25
34
|
#include <NitroModules/ArrayBuffer.hpp>
|
|
@@ -30,7 +39,7 @@ namespace margelo::nitro::crypto {
|
|
|
30
39
|
/**
|
|
31
40
|
* A struct which can be represented as a JavaScript object (CipherArgs).
|
|
32
41
|
*/
|
|
33
|
-
struct CipherArgs {
|
|
42
|
+
struct CipherArgs final {
|
|
34
43
|
public:
|
|
35
44
|
bool isCipher SWIFT_PRIVATE;
|
|
36
45
|
std::string cipherType SWIFT_PRIVATE;
|
|
@@ -41,6 +50,9 @@ namespace margelo::nitro::crypto {
|
|
|
41
50
|
public:
|
|
42
51
|
CipherArgs() = default;
|
|
43
52
|
explicit CipherArgs(bool isCipher, std::string cipherType, std::shared_ptr<ArrayBuffer> cipherKey, std::shared_ptr<ArrayBuffer> iv, std::optional<double> authTagLen): isCipher(isCipher), cipherType(cipherType), cipherKey(cipherKey), iv(iv), authTagLen(authTagLen) {}
|
|
53
|
+
|
|
54
|
+
public:
|
|
55
|
+
friend bool operator==(const CipherArgs& lhs, const CipherArgs& rhs) = default;
|
|
44
56
|
};
|
|
45
57
|
|
|
46
58
|
} // namespace margelo::nitro::crypto
|
|
@@ -53,20 +65,20 @@ namespace margelo::nitro {
|
|
|
53
65
|
static inline margelo::nitro::crypto::CipherArgs fromJSI(jsi::Runtime& runtime, const jsi::Value& arg) {
|
|
54
66
|
jsi::Object obj = arg.asObject(runtime);
|
|
55
67
|
return margelo::nitro::crypto::CipherArgs(
|
|
56
|
-
JSIConverter<bool>::fromJSI(runtime, obj.getProperty(runtime, "isCipher")),
|
|
57
|
-
JSIConverter<std::string>::fromJSI(runtime, obj.getProperty(runtime, "cipherType")),
|
|
58
|
-
JSIConverter<std::shared_ptr<ArrayBuffer>>::fromJSI(runtime, obj.getProperty(runtime, "cipherKey")),
|
|
59
|
-
JSIConverter<std::shared_ptr<ArrayBuffer>>::fromJSI(runtime, obj.getProperty(runtime, "iv")),
|
|
60
|
-
JSIConverter<std::optional<double>>::fromJSI(runtime, obj.getProperty(runtime, "authTagLen"))
|
|
68
|
+
JSIConverter<bool>::fromJSI(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "isCipher"))),
|
|
69
|
+
JSIConverter<std::string>::fromJSI(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "cipherType"))),
|
|
70
|
+
JSIConverter<std::shared_ptr<ArrayBuffer>>::fromJSI(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "cipherKey"))),
|
|
71
|
+
JSIConverter<std::shared_ptr<ArrayBuffer>>::fromJSI(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "iv"))),
|
|
72
|
+
JSIConverter<std::optional<double>>::fromJSI(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "authTagLen")))
|
|
61
73
|
);
|
|
62
74
|
}
|
|
63
75
|
static inline jsi::Value toJSI(jsi::Runtime& runtime, const margelo::nitro::crypto::CipherArgs& arg) {
|
|
64
76
|
jsi::Object obj(runtime);
|
|
65
|
-
obj.setProperty(runtime, "isCipher", JSIConverter<bool>::toJSI(runtime, arg.isCipher));
|
|
66
|
-
obj.setProperty(runtime, "cipherType", JSIConverter<std::string>::toJSI(runtime, arg.cipherType));
|
|
67
|
-
obj.setProperty(runtime, "cipherKey", JSIConverter<std::shared_ptr<ArrayBuffer>>::toJSI(runtime, arg.cipherKey));
|
|
68
|
-
obj.setProperty(runtime, "iv", JSIConverter<std::shared_ptr<ArrayBuffer>>::toJSI(runtime, arg.iv));
|
|
69
|
-
obj.setProperty(runtime, "authTagLen", JSIConverter<std::optional<double>>::toJSI(runtime, arg.authTagLen));
|
|
77
|
+
obj.setProperty(runtime, PropNameIDCache::get(runtime, "isCipher"), JSIConverter<bool>::toJSI(runtime, arg.isCipher));
|
|
78
|
+
obj.setProperty(runtime, PropNameIDCache::get(runtime, "cipherType"), JSIConverter<std::string>::toJSI(runtime, arg.cipherType));
|
|
79
|
+
obj.setProperty(runtime, PropNameIDCache::get(runtime, "cipherKey"), JSIConverter<std::shared_ptr<ArrayBuffer>>::toJSI(runtime, arg.cipherKey));
|
|
80
|
+
obj.setProperty(runtime, PropNameIDCache::get(runtime, "iv"), JSIConverter<std::shared_ptr<ArrayBuffer>>::toJSI(runtime, arg.iv));
|
|
81
|
+
obj.setProperty(runtime, PropNameIDCache::get(runtime, "authTagLen"), JSIConverter<std::optional<double>>::toJSI(runtime, arg.authTagLen));
|
|
70
82
|
return obj;
|
|
71
83
|
}
|
|
72
84
|
static inline bool canConvert(jsi::Runtime& runtime, const jsi::Value& value) {
|
|
@@ -74,11 +86,14 @@ namespace margelo::nitro {
|
|
|
74
86
|
return false;
|
|
75
87
|
}
|
|
76
88
|
jsi::Object obj = value.getObject(runtime);
|
|
77
|
-
if (!
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
if (!JSIConverter<
|
|
81
|
-
if (!JSIConverter<std::
|
|
89
|
+
if (!nitro::isPlainObject(runtime, obj)) {
|
|
90
|
+
return false;
|
|
91
|
+
}
|
|
92
|
+
if (!JSIConverter<bool>::canConvert(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "isCipher")))) return false;
|
|
93
|
+
if (!JSIConverter<std::string>::canConvert(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "cipherType")))) return false;
|
|
94
|
+
if (!JSIConverter<std::shared_ptr<ArrayBuffer>>::canConvert(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "cipherKey")))) return false;
|
|
95
|
+
if (!JSIConverter<std::shared_ptr<ArrayBuffer>>::canConvert(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "iv")))) return false;
|
|
96
|
+
if (!JSIConverter<std::optional<double>>::canConvert(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "authTagLen")))) return false;
|
|
82
97
|
return true;
|
|
83
98
|
}
|
|
84
99
|
};
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
/// HybridBlake3Spec.hpp
|
|
3
3
|
/// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
|
|
4
4
|
/// https://github.com/mrousavy/nitro
|
|
5
|
-
/// Copyright ©
|
|
5
|
+
/// Copyright © Marc Rousavy @ Margelo
|
|
6
6
|
///
|
|
7
7
|
|
|
8
8
|
#pragma once
|
|
@@ -13,8 +13,6 @@
|
|
|
13
13
|
#error NitroModules cannot be found! Are you sure you installed NitroModules properly?
|
|
14
14
|
#endif
|
|
15
15
|
|
|
16
|
-
// Forward declaration of `ArrayBuffer` to properly resolve imports.
|
|
17
|
-
namespace NitroModules { class ArrayBuffer; }
|
|
18
16
|
// Forward declaration of `HybridBlake3Spec` to properly resolve imports.
|
|
19
17
|
namespace margelo::nitro::crypto { class HybridBlake3Spec; }
|
|
20
18
|
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
/// HybridCipherFactorySpec.cpp
|
|
3
3
|
/// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
|
|
4
4
|
/// https://github.com/mrousavy/nitro
|
|
5
|
-
/// Copyright ©
|
|
5
|
+
/// Copyright © Marc Rousavy @ Margelo
|
|
6
6
|
///
|
|
7
7
|
|
|
8
8
|
#include "HybridCipherFactorySpec.hpp"
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
/// HybridCipherSpec.hpp
|
|
3
3
|
/// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
|
|
4
4
|
/// https://github.com/mrousavy/nitro
|
|
5
|
-
/// Copyright ©
|
|
5
|
+
/// Copyright © Marc Rousavy @ Margelo
|
|
6
6
|
///
|
|
7
7
|
|
|
8
8
|
#pragma once
|
|
@@ -13,8 +13,6 @@
|
|
|
13
13
|
#error NitroModules cannot be found! Are you sure you installed NitroModules properly?
|
|
14
14
|
#endif
|
|
15
15
|
|
|
16
|
-
// Forward declaration of `ArrayBuffer` to properly resolve imports.
|
|
17
|
-
namespace NitroModules { class ArrayBuffer; }
|
|
18
16
|
// Forward declaration of `CipherArgs` to properly resolve imports.
|
|
19
17
|
namespace margelo::nitro::crypto { struct CipherArgs; }
|
|
20
18
|
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
/// HybridDiffieHellmanSpec.cpp
|
|
3
3
|
/// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
|
|
4
4
|
/// https://github.com/mrousavy/nitro
|
|
5
|
-
/// Copyright ©
|
|
5
|
+
/// Copyright © Marc Rousavy @ Margelo
|
|
6
6
|
///
|
|
7
7
|
|
|
8
8
|
#include "HybridDiffieHellmanSpec.hpp"
|
|
@@ -24,6 +24,7 @@ namespace margelo::nitro::crypto {
|
|
|
24
24
|
prototype.registerHybridMethod("getPrivateKey", &HybridDiffieHellmanSpec::getPrivateKey);
|
|
25
25
|
prototype.registerHybridMethod("setPublicKey", &HybridDiffieHellmanSpec::setPublicKey);
|
|
26
26
|
prototype.registerHybridMethod("setPrivateKey", &HybridDiffieHellmanSpec::setPrivateKey);
|
|
27
|
+
prototype.registerHybridMethod("getVerifyError", &HybridDiffieHellmanSpec::getVerifyError);
|
|
27
28
|
});
|
|
28
29
|
}
|
|
29
30
|
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
/// HybridDiffieHellmanSpec.hpp
|
|
3
3
|
/// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
|
|
4
4
|
/// https://github.com/mrousavy/nitro
|
|
5
|
-
/// Copyright ©
|
|
5
|
+
/// Copyright © Marc Rousavy @ Margelo
|
|
6
6
|
///
|
|
7
7
|
|
|
8
8
|
#pragma once
|
|
@@ -13,8 +13,7 @@
|
|
|
13
13
|
#error NitroModules cannot be found! Are you sure you installed NitroModules properly?
|
|
14
14
|
#endif
|
|
15
15
|
|
|
16
|
-
|
|
17
|
-
namespace NitroModules { class ArrayBuffer; }
|
|
16
|
+
|
|
18
17
|
|
|
19
18
|
#include <NitroModules/ArrayBuffer.hpp>
|
|
20
19
|
|
|
@@ -59,6 +58,7 @@ namespace margelo::nitro::crypto {
|
|
|
59
58
|
virtual std::shared_ptr<ArrayBuffer> getPrivateKey() = 0;
|
|
60
59
|
virtual void setPublicKey(const std::shared_ptr<ArrayBuffer>& publicKey) = 0;
|
|
61
60
|
virtual void setPrivateKey(const std::shared_ptr<ArrayBuffer>& privateKey) = 0;
|
|
61
|
+
virtual double getVerifyError() = 0;
|
|
62
62
|
|
|
63
63
|
protected:
|
|
64
64
|
// Hybrid Setup
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
/// HybridECDHSpec.hpp
|
|
3
3
|
/// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
|
|
4
4
|
/// https://github.com/mrousavy/nitro
|
|
5
|
-
/// Copyright ©
|
|
5
|
+
/// Copyright © Marc Rousavy @ Margelo
|
|
6
6
|
///
|
|
7
7
|
|
|
8
8
|
#pragma once
|
|
@@ -13,8 +13,7 @@
|
|
|
13
13
|
#error NitroModules cannot be found! Are you sure you installed NitroModules properly?
|
|
14
14
|
#endif
|
|
15
15
|
|
|
16
|
-
|
|
17
|
-
namespace NitroModules { class ArrayBuffer; }
|
|
16
|
+
|
|
18
17
|
|
|
19
18
|
#include <string>
|
|
20
19
|
#include <NitroModules/ArrayBuffer.hpp>
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
/// HybridEcKeyPairSpec.cpp
|
|
3
3
|
/// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
|
|
4
4
|
/// https://github.com/mrousavy/nitro
|
|
5
|
-
/// Copyright ©
|
|
5
|
+
/// Copyright © Marc Rousavy @ Margelo
|
|
6
6
|
///
|
|
7
7
|
|
|
8
8
|
#include "HybridEcKeyPairSpec.hpp"
|
|
@@ -23,6 +23,7 @@ namespace margelo::nitro::crypto {
|
|
|
23
23
|
prototype.registerHybridMethod("setCurve", &HybridEcKeyPairSpec::setCurve);
|
|
24
24
|
prototype.registerHybridMethod("sign", &HybridEcKeyPairSpec::sign);
|
|
25
25
|
prototype.registerHybridMethod("verify", &HybridEcKeyPairSpec::verify);
|
|
26
|
+
prototype.registerHybridMethod("getSupportedCurves", &HybridEcKeyPairSpec::getSupportedCurves);
|
|
26
27
|
});
|
|
27
28
|
}
|
|
28
29
|
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
/// HybridEcKeyPairSpec.hpp
|
|
3
3
|
/// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
|
|
4
4
|
/// https://github.com/mrousavy/nitro
|
|
5
|
-
/// Copyright ©
|
|
5
|
+
/// Copyright © Marc Rousavy @ Margelo
|
|
6
6
|
///
|
|
7
7
|
|
|
8
8
|
#pragma once
|
|
@@ -15,8 +15,6 @@
|
|
|
15
15
|
|
|
16
16
|
// Forward declaration of `KeyObject` to properly resolve imports.
|
|
17
17
|
namespace margelo::nitro::crypto { struct KeyObject; }
|
|
18
|
-
// Forward declaration of `ArrayBuffer` to properly resolve imports.
|
|
19
|
-
namespace NitroModules { class ArrayBuffer; }
|
|
20
18
|
|
|
21
19
|
#include <NitroModules/Promise.hpp>
|
|
22
20
|
#include "KeyObject.hpp"
|
|
@@ -64,6 +62,7 @@ namespace margelo::nitro::crypto {
|
|
|
64
62
|
virtual void setCurve(const std::string& curve) = 0;
|
|
65
63
|
virtual std::shared_ptr<ArrayBuffer> sign(const std::shared_ptr<ArrayBuffer>& data, const std::string& hashAlgorithm) = 0;
|
|
66
64
|
virtual bool verify(const std::shared_ptr<ArrayBuffer>& data, const std::shared_ptr<ArrayBuffer>& signature, const std::string& hashAlgorithm) = 0;
|
|
65
|
+
virtual std::vector<std::string> getSupportedCurves() = 0;
|
|
67
66
|
|
|
68
67
|
protected:
|
|
69
68
|
// Hybrid Setup
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
/// HybridEdKeyPairSpec.cpp
|
|
3
3
|
/// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
|
|
4
4
|
/// https://github.com/mrousavy/nitro
|
|
5
|
-
/// Copyright ©
|
|
5
|
+
/// Copyright © Marc Rousavy @ Margelo
|
|
6
6
|
///
|
|
7
7
|
|
|
8
8
|
#include "HybridEdKeyPairSpec.hpp"
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
/// HybridEdKeyPairSpec.hpp
|
|
3
3
|
/// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
|
|
4
4
|
/// https://github.com/mrousavy/nitro
|
|
5
|
-
/// Copyright ©
|
|
5
|
+
/// Copyright © Marc Rousavy @ Margelo
|
|
6
6
|
///
|
|
7
7
|
|
|
8
8
|
#pragma once
|
|
@@ -13,8 +13,7 @@
|
|
|
13
13
|
#error NitroModules cannot be found! Are you sure you installed NitroModules properly?
|
|
14
14
|
#endif
|
|
15
15
|
|
|
16
|
-
|
|
17
|
-
namespace NitroModules { class ArrayBuffer; }
|
|
16
|
+
|
|
18
17
|
|
|
19
18
|
#include <NitroModules/ArrayBuffer.hpp>
|
|
20
19
|
#include <NitroModules/Promise.hpp>
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
/// HybridHashSpec.hpp
|
|
3
3
|
/// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
|
|
4
4
|
/// https://github.com/mrousavy/nitro
|
|
5
|
-
/// Copyright ©
|
|
5
|
+
/// Copyright © Marc Rousavy @ Margelo
|
|
6
6
|
///
|
|
7
7
|
|
|
8
8
|
#pragma once
|
|
@@ -13,8 +13,6 @@
|
|
|
13
13
|
#error NitroModules cannot be found! Are you sure you installed NitroModules properly?
|
|
14
14
|
#endif
|
|
15
15
|
|
|
16
|
-
// Forward declaration of `ArrayBuffer` to properly resolve imports.
|
|
17
|
-
namespace NitroModules { class ArrayBuffer; }
|
|
18
16
|
// Forward declaration of `HybridHashSpec` to properly resolve imports.
|
|
19
17
|
namespace margelo::nitro::crypto { class HybridHashSpec; }
|
|
20
18
|
|
|
@@ -58,7 +56,7 @@ namespace margelo::nitro::crypto {
|
|
|
58
56
|
public:
|
|
59
57
|
// Methods
|
|
60
58
|
virtual void createHash(const std::string& algorithm, std::optional<double> outputLength) = 0;
|
|
61
|
-
virtual void update(const std::variant<std::
|
|
59
|
+
virtual void update(const std::variant<std::shared_ptr<ArrayBuffer>, std::string>& data) = 0;
|
|
62
60
|
virtual std::shared_ptr<ArrayBuffer> digest(const std::optional<std::string>& encoding) = 0;
|
|
63
61
|
virtual std::shared_ptr<HybridHashSpec> copy(std::optional<double> outputLength) = 0;
|
|
64
62
|
virtual std::vector<std::string> getSupportedHashAlgorithms() = 0;
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
/// HybridHkdfSpec.hpp
|
|
3
3
|
/// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
|
|
4
4
|
/// https://github.com/mrousavy/nitro
|
|
5
|
-
/// Copyright ©
|
|
5
|
+
/// Copyright © Marc Rousavy @ Margelo
|
|
6
6
|
///
|
|
7
7
|
|
|
8
8
|
#pragma once
|
|
@@ -13,8 +13,7 @@
|
|
|
13
13
|
#error NitroModules cannot be found! Are you sure you installed NitroModules properly?
|
|
14
14
|
#endif
|
|
15
15
|
|
|
16
|
-
|
|
17
|
-
namespace NitroModules { class ArrayBuffer; }
|
|
16
|
+
|
|
18
17
|
|
|
19
18
|
#include <NitroModules/ArrayBuffer.hpp>
|
|
20
19
|
#include <string>
|