Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
S
sgxwallet
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
董子豪
sgxwallet
Commits
29ed1885
Unverified
Commit
29ed1885
authored
Jul 26, 2021
by
Oleh Nikolaiev
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
SKALE-4411 initialize te crypto
parent
afbf4f0f
Changes
16
Hide whitespace changes
Inline
Side-by-side
Showing
16 changed files
with
61 additions
and
100 deletions
+61
-100
BLSCrypto.cpp
BLSCrypto.cpp
+1
-67
BLSCrypto.h
BLSCrypto.h
+1
-8
BLSPrivateKeyShareSGX.cpp
BLSPrivateKeyShareSGX.cpp
+1
-3
DKGCrypto.cpp
DKGCrypto.cpp
+5
-2
ECDSACrypto.cpp
ECDSACrypto.cpp
+1
-1
Makefile.am
Makefile.am
+2
-2
SEKManager.cpp
SEKManager.cpp
+2
-2
SGXWalletServer.cpp
SGXWalletServer.cpp
+26
-1
SGXWalletServer.h
SGXWalletServer.h
+1
-1
SGXWalletServer.hpp
SGXWalletServer.hpp
+4
-0
TestUtils.cpp
TestUtils.cpp
+2
-1
abstractstubserver.h
abstractstubserver.h
+10
-1
common.h
common.h
+0
-5
DKGUtils.h
secure_enclave/DKGUtils.h
+2
-4
testw.cpp
testw.cpp
+2
-1
ZMQClient.cpp
zmq_src/ZMQClient.cpp
+1
-1
No files found.
BLSCrypto.cpp
View file @
29ed1885
...
...
@@ -46,6 +46,7 @@
#include "LevelDB.h"
#include "ServerInit.h"
#include "BLSCrypto.h"
#include "CryptoTools.h"
string
*
FqToString
(
libff
::
alt_bn128_Fq
*
_fq
)
{
...
...
@@ -65,71 +66,6 @@ string *FqToString(libff::alt_bn128_Fq *_fq) {
return
new
string
(
arr
);
}
int
char2int
(
char
_input
)
{
if
(
_input
>=
'0'
&&
_input
<=
'9'
)
return
_input
-
'0'
;
if
(
_input
>=
'A'
&&
_input
<=
'F'
)
return
_input
-
'A'
+
10
;
if
(
_input
>=
'a'
&&
_input
<=
'f'
)
return
_input
-
'a'
+
10
;
return
-
1
;
}
vector
<
char
>
carray2Hex
(
const
unsigned
char
*
d
,
uint64_t
_len
)
{
CHECK_STATE
(
d
);
vector
<
char
>
_hexArray
(
2
*
_len
+
1
);
char
hexval
[
16
]
=
{
'0'
,
'1'
,
'2'
,
'3'
,
'4'
,
'5'
,
'6'
,
'7'
,
'8'
,
'9'
,
'a'
,
'b'
,
'c'
,
'd'
,
'e'
,
'f'
};
for
(
uint64_t
j
=
0
;
j
<
_len
;
j
++
)
{
_hexArray
[
j
*
2
]
=
hexval
[((
d
[
j
]
>>
4
)
&
0xF
)];
_hexArray
[
j
*
2
+
1
]
=
hexval
[(
d
[
j
])
&
0x0F
];
}
_hexArray
[
_len
*
2
]
=
0
;
return
_hexArray
;
}
bool
hex2carray
(
const
char
*
_hex
,
uint64_t
*
_bin_len
,
uint8_t
*
_bin
,
uint64_t
_max_length
)
{
CHECK_STATE
(
_hex
);
CHECK_STATE
(
_bin
);
CHECK_STATE
(
_bin_len
)
uint64_t
len
=
strnlen
(
_hex
,
2
*
_max_length
+
1
);
CHECK_STATE
(
len
!=
2
*
_max_length
+
1
);
CHECK_STATE
(
len
<=
2
*
_max_length
);
if
(
len
==
0
&&
len
%
2
==
1
)
return
false
;
*
_bin_len
=
len
/
2
;
for
(
uint64_t
i
=
0
;
i
<
len
/
2
;
i
++
)
{
int
high
=
char2int
((
char
)
_hex
[
i
*
2
]);
int
low
=
char2int
((
char
)
_hex
[
i
*
2
+
1
]);
if
(
high
<
0
||
low
<
0
)
{
return
false
;
}
_bin
[
i
]
=
(
unsigned
char
)
(
high
*
16
+
low
);
}
return
true
;
}
bool
sign_aes
(
const
char
*
_encryptedKeyHex
,
const
char
*
_hashHex
,
size_t
_t
,
size_t
_n
,
char
*
_sig
)
{
CHECK_STATE
(
_encryptedKeyHex
);
...
...
@@ -182,13 +118,11 @@ bool sign_aes(const char *_encryptedKeyHex, const char *_hashHex, size_t _t, siz
int
errStatus
=
0
;
sgx_status_t
status
=
SGX_SUCCESS
;
status
=
trustedBlsSignMessage
(
eid
,
&
errStatus
,
errMsg
.
data
(),
encryptedKey
,
sz
,
xStrArg
,
yStrArg
,
signature
);
HANDLE_TRUSTED_FUNCTION_ERROR
(
status
,
errStatus
,
errMsg
.
data
());
string
hint
=
BLSutils
::
ConvertToString
(
hash_with_hint
.
first
.
Y
)
+
":"
+
hash_with_hint
.
second
;
...
...
BLSCrypto.h
View file @
29ed1885
...
...
@@ -14,7 +14,7 @@
GNU Affero General Public License for more details.
You should have received a copy of the GNU Affero General Public License
along with sgxwallet.
If not, see <https://www.gnu.org/licenses/>.
along with sgxwallet. If not, see <https://www.gnu.org/licenses/>.
@file BLSCrypto.h
@author Stan Kladko
...
...
@@ -37,13 +37,6 @@
EXTERNC
bool
bls_sign
(
const
char
*
encryptedKeyHex
,
const
char
*
hashHex
,
size_t
t
,
size_t
n
,
char
*
_sig
);
EXTERNC
int
char2int
(
char
_input
);
EXTERNC
std
::
vector
<
char
>
carray2Hex
(
const
unsigned
char
*
d
,
uint64_t
_len
);
EXTERNC
bool
hex2carray
(
const
char
*
_hex
,
uint64_t
*
_bin_len
,
uint8_t
*
_bin
,
uint64_t
_max_length
);
std
::
string
encryptBLSKeyShare2Hex
(
int
*
errStatus
,
char
*
err_string
,
const
char
*
_key
);
#endif //SGXWALLET_BLSCRYPTO_H
BLSPrivateKeyShareSGX.cpp
View file @
29ed1885
...
...
@@ -32,6 +32,7 @@
#include "sgxwallet.h"
#include "BLSCrypto.h"
#include "CryptoTools.h"
#include "ServerInit.h"
#include "SEKManager.h"
#include "BLSPrivateKeyShareSGX.h"
...
...
@@ -122,13 +123,10 @@ string BLSPrivateKeyShareSGX::signWithHelperSGXstr(
BOOST_THROW_EXCEPTION
(
runtime_error
(
"Null yStr"
));
}
vector
<
char
>
errMsg
(
BUF_LEN
,
0
);
SAFE_CHAR_BUF
(
xStrArg
,
BUF_LEN
)
SAFE_CHAR_BUF
(
yStrArg
,
BUF_LEN
)
SAFE_CHAR_BUF
(
signature
,
BUF_LEN
);
strncpy
(
xStrArg
,
xStr
->
c_str
(),
BUF_LEN
);
strncpy
(
yStrArg
,
yStr
->
c_str
(),
BUF_LEN
);
...
...
DKGCrypto.cpp
View file @
29ed1885
...
...
@@ -32,7 +32,7 @@
#include "SGXException.h"
#include "SGXWalletServer.hpp"
#include "
BLSCrypto
.h"
#include "
CryptoTools
.h"
#include "SEKManager.h"
#include "DKGCrypto.h"
...
...
@@ -448,7 +448,10 @@ bool createBLSShareV2(const string &blsKeyName, const char *s_shares, const char
vector
<
char
>
errMsg
(
BUF_LEN
,
0
);
int
errStatus
=
0
;
uint64_t
decKeyLen
;
SAFE_UINT8_BUF
(
encr_bls_key
,
BUF_LEN
);
SAFE_UINT8_BUF
(
encr_key
,
BUF_LEN
);
uint64_t
decKeyLen
;
SAFE_UINT8_BUF
(
encr_bls_key
,
BUF_LEN
)
SAFE_UINT8_BUF
(
encr_key
,
BUF_LEN
)
if
(
!
hex2carray
(
encryptedKeyHex
,
&
decKeyLen
,
encr_key
,
BUF_LEN
))
{
throw
SGXException
(
CREATE_BLS_SHARE_INVALID_KEY_HEX
,
string
(
__FUNCTION__
)
+
":Invalid encryptedKeyHex"
);
}
...
...
ECDSACrypto.cpp
View file @
29ed1885
...
...
@@ -36,7 +36,7 @@
#include "secure_enclave/Verify.h"
#include "
BLSCrypto
.h"
#include "
CryptoTools
.h"
#include "SEKManager.h"
#include "ECDSACrypto.h"
...
...
Makefile.am
View file @
29ed1885
...
...
@@ -72,8 +72,8 @@ bin_PROGRAMS = sgxwallet testw sgx_util
COMMON_SRC
=
SGXException.cpp ExitHandler.cpp zmq_src/ZMQClient.cpp zmq_src/RspMessage.cpp zmq_src/ReqMessage.cpp
\
zmq_src/ZMQMessage.cpp zmq_src/ZMQServer.cpp
\
InvalidStateException.cpp Exception.cpp InvalidArgumentException.cpp Log.cpp
\
SGXWalletServer.cpp SGXRegistrationServer.cpp CSRManagerServer.cpp BLSCrypto.cpp
\
InvalidStateException.cpp Exception.cpp InvalidArgumentException.cpp Log.cpp
TECrypto.cpp
\
SGXWalletServer.cpp SGXRegistrationServer.cpp CSRManagerServer.cpp BLSCrypto.cpp
CryptoTools.cpp
\
DKGCrypto.cpp ServerInit.cpp BLSPrivateKeyShareSGX.cpp LevelDB.cpp ServerDataChecker.cpp SEKManager.cpp
\
third_party/intel/sgx_stub.c third_party/intel/sgx_detect_linux.c third_party/intel/create_enclave.c
\
third_party/intel/oc_alloc.c ECDSAImpl.c TestUtils.cpp sgxwallet.c SGXInfoServer.cpp ECDSACrypto.cpp
...
...
SEKManager.cpp
View file @
29ed1885
...
...
@@ -14,7 +14,7 @@
GNU Affero General Public License for more details.
You should have received a copy of the GNU Affero General Public License
along with sgxwallet.
If not, see <https://www.gnu.org/licenses/>.
along with sgxwallet. If not, see <https://www.gnu.org/licenses/>.
@file SEKManager.cpp
@author Stan Kladko
...
...
@@ -33,7 +33,7 @@
#include "sgxwallet.h"
#include "SGXException.h"
#include "
BLSCrypto
.h"
#include "
CryptoTools
.h"
#include "LevelDB.h"
#include "ServerDataChecker.h"
...
...
SGXWalletServer.cpp
View file @
29ed1885
...
...
@@ -38,8 +38,9 @@
#include "SGXException.h"
#include "LevelDB.h"
#include "BLSCrypto.h"
#include "ECDSACrypto.h"
#include "DKGCrypto.h"
#include "ECDSACrypto.h"
#include "TECrypto.h"
#include "SGXWalletServer.h"
#include "SGXWalletServer.hpp"
...
...
@@ -984,6 +985,26 @@ SGXWalletServer::createBLSPrivateKeyV2Impl(const string &_blsKeyName, const stri
RETURN_SUCCESS
(
result
);
}
Json
::
Value
SGXWalletServer
::
getDecryptionShareImpl
(
const
std
::
string
&
teKeyName
,
const
std
::
string
&
publicDecryptionValue
)
{
spdlog
::
info
(
"Entering {}"
,
__FUNCTION__
);
INIT_RESULT
(
result
)
try
{
if
(
!
checkName
(
teKeyName
,
"BLS_KEY"
))
{
throw
SGXException
(
BLS_SIGN_INVALID_KS_NAME
,
string
(
__FUNCTION__
)
+
":Invalid BLSKey name"
);
}
shared_ptr
<
string
>
encryptedKeyHex_ptr
=
readFromDb
(
teKeyName
);
vector
<
string
>
decryptionValueVector
=
calculateDecryptionShare
(
encryptedKeyHex_ptr
->
c_str
(),
publicDecryptionValue
);
for
(
uint8_t
i
=
0
;
i
<
4
;
++
i
)
{
result
[
"decryptionValue"
][
i
]
=
decryptionValueVector
.
at
(
i
);
}
}
HANDLE_SGX_EXCEPTION
(
result
)
RETURN_SUCCESS
(
result
)
}
Json
::
Value
SGXWalletServer
::
generateDKGPoly
(
const
string
&
_polyName
,
int
_t
)
{
return
generateDKGPolyImpl
(
_polyName
,
_t
);
}
...
...
@@ -1084,6 +1105,10 @@ SGXWalletServer::createBLSPrivateKeyV2(const string &blsKeyName, const string &e
return
createBLSPrivateKeyV2Impl
(
blsKeyName
,
ethKeyName
,
polyName
,
SecretShare
,
t
,
n
);
}
Json
::
Value
SGXWalletServer
::
getDecryptionShare
(
const
std
::
string
&
teKeyName
,
const
std
::
string
&
publicDecryptionValue
)
{
return
getDecryptionShareImpl
(
teKeyName
,
publicDecryptionValue
);
}
shared_ptr
<
string
>
SGXWalletServer
::
readFromDb
(
const
string
&
name
,
const
string
&
prefix
)
{
auto
dataStr
=
checkDataFromDb
(
prefix
+
name
);
...
...
SGXWalletServer.h
View file @
29ed1885
...
...
@@ -14,7 +14,7 @@
GNU Affero General Public License for more details.
You should have received a copy of the GNU Affero General Public License
along with sgxwallet.
If not, see <https://www.gnu.org/licenses/>.
along with sgxwallet. If not, see <https://www.gnu.org/licenses/>.
@file SGXWalletServer.h
@author Stan Kladko
...
...
SGXWalletServer.hpp
View file @
29ed1885
...
...
@@ -116,6 +116,8 @@ public:
virtual
Json
::
Value
createBLSPrivateKeyV2
(
const
std
::
string
&
blsKeyName
,
const
std
::
string
&
ethKeyName
,
const
std
::
string
&
polyName
,
const
std
::
string
&
SecretShare
,
int
t
,
int
n
);
virtual
Json
::
Value
getDecryptionShare
(
const
std
::
string
&
blsKeyName
,
const
std
::
string
&
publicDecryptionValue
);
static
shared_ptr
<
string
>
readFromDb
(
const
string
&
name
,
const
string
&
prefix
=
""
);
static
shared_ptr
<
string
>
checkDataFromDb
(
const
string
&
name
,
const
string
&
prefix
=
""
);
...
...
@@ -174,6 +176,8 @@ public:
static
Json
::
Value
createBLSPrivateKeyV2Impl
(
const
std
::
string
&
blsKeyName
,
const
std
::
string
&
ethKeyName
,
const
std
::
string
&
polyName
,
const
std
::
string
&
SecretShare
,
int
t
,
int
n
);
static
Json
::
Value
getDecryptionShareImpl
(
const
std
::
string
&
teKeyName
,
const
std
::
string
&
publicDecryptionValue
);
static
void
printDB
();
static
void
initHttpServer
();
...
...
TestUtils.cpp
View file @
29ed1885
...
...
@@ -14,7 +14,7 @@
GNU Affero General Public License for more details.
You should have received a copy of the GNU Affero General Public License
along with sgxwallet.
If not, see <https://www.gnu.org/licenses/>.
along with sgxwallet. If not, see <https://www.gnu.org/licenses/>.
@file TestUtils.cpp
@author Stan Kladko
...
...
@@ -37,6 +37,7 @@
#include "BLSCrypto.h"
#include "ServerInit.h"
#include "DKGCrypto.h"
#include "CryptoTools.h"
#include "SGXException.h"
#include "LevelDB.h"
#include "SGXWalletServer.hpp"
...
...
abstractstubserver.h
View file @
29ed1885
...
...
@@ -14,7 +14,7 @@
GNU Affero General Public License for more details.
You should have received a copy of the GNU Affero General Public License
along with sgxwallet.
If not, see <https://www.gnu.org/licenses/>.
along with sgxwallet. If not, see <https://www.gnu.org/licenses/>.
@file BLSEnclave.cpp
@author Stan Kladko
...
...
@@ -62,6 +62,8 @@ class AbstractStubServer : public jsonrpc::AbstractServer<AbstractStubServer>
this
->
bindAndAddMethod
(
jsonrpc
::
Procedure
(
"getSecretShareV2"
,
jsonrpc
::
PARAMS_BY_NAME
,
jsonrpc
::
JSON_OBJECT
,
"polyName"
,
jsonrpc
::
JSON_STRING
,
"publicKeys"
,
jsonrpc
::
JSON_ARRAY
,
"n"
,
jsonrpc
::
JSON_INTEGER
,
"t"
,
jsonrpc
::
JSON_INTEGER
,
NULL
),
&
AbstractStubServer
::
getSecretShareV2I
);
this
->
bindAndAddMethod
(
jsonrpc
::
Procedure
(
"dkgVerificationV2"
,
jsonrpc
::
PARAMS_BY_NAME
,
jsonrpc
::
JSON_OBJECT
,
"publicShares"
,
jsonrpc
::
JSON_STRING
,
"ethKeyName"
,
jsonrpc
::
JSON_STRING
,
"secretShare"
,
jsonrpc
::
JSON_STRING
,
"t"
,
jsonrpc
::
JSON_INTEGER
,
"n"
,
jsonrpc
::
JSON_INTEGER
,
"index"
,
jsonrpc
::
JSON_INTEGER
,
NULL
),
&
AbstractStubServer
::
dkgVerificationV2I
);
this
->
bindAndAddMethod
(
jsonrpc
::
Procedure
(
"createBLSPrivateKeyV2"
,
jsonrpc
::
PARAMS_BY_NAME
,
jsonrpc
::
JSON_OBJECT
,
"blsKeyName"
,
jsonrpc
::
JSON_STRING
,
"ethKeyName"
,
jsonrpc
::
JSON_STRING
,
"polyName"
,
jsonrpc
::
JSON_STRING
,
"secretShare"
,
jsonrpc
::
JSON_STRING
,
"t"
,
jsonrpc
::
JSON_INTEGER
,
"n"
,
jsonrpc
::
JSON_INTEGER
,
NULL
),
&
AbstractStubServer
::
createBLSPrivateKeyV2I
);
this
->
bindAndAddMethod
(
jsonrpc
::
Procedure
(
"getDecryptionShare"
,
jsonrpc
::
PARAMS_BY_NAME
,
jsonrpc
::
JSON_OBJECT
,
"teKeyName"
,
jsonrpc
::
JSON_STRING
,
"publicDecryptionValue"
,
jsonrpc
::
JSON_STRING
,
NULL
),
&
AbstractStubServer
::
getDecryptionShareI
);
}
inline
virtual
void
importBLSKeyShareI
(
const
Json
::
Value
&
request
,
Json
::
Value
&
response
)
...
...
@@ -161,6 +163,11 @@ class AbstractStubServer : public jsonrpc::AbstractServer<AbstractStubServer>
response
=
this
->
createBLSPrivateKeyV2
(
request
[
"blsKeyName"
].
asString
(),
request
[
"ethKeyName"
].
asString
(),
request
[
"polyName"
].
asString
(),
request
[
"secretShare"
].
asString
(),
request
[
"t"
].
asInt
(),
request
[
"n"
].
asInt
());
}
inline
virtual
void
getDecryptionShareI
(
const
Json
::
Value
&
request
,
Json
::
Value
&
response
)
{
response
=
this
->
getDecryptionShare
(
request
[
"teKeyName"
].
asString
(),
request
[
"publicDecryptionValue"
].
asString
());
}
virtual
Json
::
Value
importBLSKeyShare
(
const
std
::
string
&
keyShare
,
const
std
::
string
&
keyShareName
)
=
0
;
virtual
Json
::
Value
blsSignMessageHash
(
const
std
::
string
&
keyShareName
,
const
std
::
string
&
messageHash
,
int
t
,
int
n
)
=
0
;
virtual
Json
::
Value
importECDSAKey
(
const
std
::
string
&
keyShare
,
const
std
::
string
&
keyShareName
)
=
0
;
...
...
@@ -186,6 +193,8 @@ class AbstractStubServer : public jsonrpc::AbstractServer<AbstractStubServer>
virtual
Json
::
Value
getSecretShareV2
(
const
std
::
string
&
polyName
,
const
Json
::
Value
&
publicKeys
,
int
t
,
int
n
)
=
0
;
virtual
Json
::
Value
dkgVerificationV2
(
const
std
::
string
&
publicShares
,
const
std
::
string
&
ethKeyName
,
const
std
::
string
&
SecretShare
,
int
t
,
int
n
,
int
index
)
=
0
;
virtual
Json
::
Value
createBLSPrivateKeyV2
(
const
std
::
string
&
blsKeyName
,
const
std
::
string
&
ethKeyName
,
const
std
::
string
&
polyName
,
const
std
::
string
&
SecretShare
,
int
t
,
int
n
)
=
0
;
virtual
Json
::
Value
getDecryptionShare
(
const
std
::
string
&
teKeyName
,
const
std
::
string
&
publicDecryptionValue
)
=
0
;
};
#endif //JSONRPC_CPP_STUB_ABSTRACTSTUBSERVER_H_
common.h
View file @
29ed1885
...
...
@@ -98,8 +98,6 @@ inline int getValue() { //Note: this value is in KB!
return
result
;
}
#define CHECK_STATE(_EXPRESSION_) \
if (!(_EXPRESSION_)) { \
auto __msg__ = std::string("State check failed::") + #_EXPRESSION_ + " " + std::string(__FILE__) + ":" + std::to_string(__LINE__); \
...
...
@@ -136,8 +134,6 @@ BOOST_THROW_EXCEPTION(runtime_error(__ERR_STRING__)); \
// Copy from libconsensus
inline
string
exec
(
const
char
*
cmd
)
{
CHECK_STATE
(
cmd
);
std
::
array
<
char
,
128
>
buffer
;
...
...
@@ -162,5 +158,4 @@ extern uint64_t initTime;
#define WRITE_LOCK(__X__) std::unique_lock<std::shared_timed_mutex> __LOCK__(__X__);
#endif //SGXWALLET_COMMON_H
secure_enclave/DKGUtils.h
View file @
29ed1885
...
...
@@ -14,7 +14,7 @@
GNU Affero General Public License for more details.
You should have received a copy of the GNU Affero General Public License
along with sgxwallet.
If not, see <https://www.gnu.org/licenses/>.
along with sgxwallet. If not, see <https://www.gnu.org/licenses/>.
@file DKGUtils.h
@author Stan Kladko
...
...
@@ -45,14 +45,12 @@ EXTERNC void calc_secret_shares(const char* decrypted_coeffs, char * secret_shar
EXTERNC
int
calc_secret_share
(
const
char
*
decrypted_coeffs
,
char
*
s_share
,
unsigned
_t
,
unsigned
_n
,
unsigned
ind
);
EXTERNC
int
calc_public_shares
(
const
char
*
decrypted_coeffs
,
char
*
public_shares
,
unsigned
_t
);
EXTERNC
int
calc_public_shares
(
const
char
*
decrypted_coeffs
,
char
*
public_shares
,
unsigned
_t
);
EXTERNC
int
Verification
(
char
*
public_shares
,
mpz_t
decr_secret_share
,
int
_t
,
int
ind
);
EXTERNC
int
calc_bls_public_key
(
char
*
skey
,
char
*
pub_key
);
EXTERNC
int
calc_secret_shareG2
(
const
char
*
s_share
,
char
*
s_shareG2
);
#endif
testw.cpp
View file @
29ed1885
...
...
@@ -14,7 +14,7 @@
GNU Affero General Public License for more details.
You should have received a copy of the GNU Affero General Public License
along with sgxwallet.
If not, see <https://www.gnu.org/licenses/>.
along with sgxwallet. If not, see <https://www.gnu.org/licenses/>.
@file testw.cpp
@author Stan Kladko
...
...
@@ -37,6 +37,7 @@
#include <sgx_tcrypto.h>
#include "BLSCrypto.h"
#include "CryptoTools.h"
#include "ServerInit.h"
#include "DKGCrypto.h"
#include "SGXException.h"
...
...
zmq_src/ZMQClient.cpp
View file @
29ed1885
...
...
@@ -32,7 +32,7 @@
#include "sgxwallet_common.h"
#include "common.h"
#include "
BLSCrypto
.h"
#include "
CryptoTools
.h"
#include "ReqMessage.h"
#include "RspMessage.h"
#include "ZMQClient.h"
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment