get earlier code changes to work

This commit is contained in:
Dario 2020-07-15 14:46:44 +02:00
parent da72e46a15
commit 8b8f1e84b8
2 changed files with 17 additions and 7 deletions

View File

@ -307,14 +307,18 @@ namespace controller {
if (-1 == user_backup->getModel()->getMnemonicType()) {
continue;
}
auto key_pair = std::unique_ptr<KeyPairEd25519>(user_backup->createGradidoKeyPair());
auto key_pair = user_backup->createGradidoKeyPair();
if (key_pair->isTheSame(user_model->getPublicKey())) {
if (createdKeyPair) {
*createdKeyPair = key_pair.get();
*createdKeyPair = key_pair;
}
else {
delete key_pair;
}
return 0;
}
delete key_pair;
}
return -1;
}

View File

@ -71,11 +71,11 @@ int SigningTransaction::run() {
//auto privKey = mUser->getPrivKey();
//if (!mUser->hasPrivKey()) {
auto gradido_key_pair = mNewUser->getGradidoKeyPair();
KeyPairEd25519* recovered_gradido_key_pair = nullptr;
if(!gradido_key_pair || !gradido_key_pair->hasPrivateKey()) {
KeyPairEd25519** key_pair_ptr = nullptr;
if (!mNewUser->tryLoadPassphraseUserBackup(key_pair_ptr)) {
if(mNewUser->setGradidoKeyPair(*key_pair_ptr))
if (!mNewUser->tryLoadPassphraseUserBackup(&recovered_gradido_key_pair)) {
if(mNewUser->setGradidoKeyPair(recovered_gradido_key_pair))
{
mNewUser->getModel()->updatePrivkey();
}
@ -97,7 +97,13 @@ int SigningTransaction::run() {
}
// sign
//auto sign = mUser->sign((const unsigned char*)bodyBytes->data(), bodyBytes->size());
auto sign = gradido_key_pair->sign(*bodyBytes);
MemoryBin* sign = nullptr;
if (gradido_key_pair) {
sign = gradido_key_pair->sign(*bodyBytes);
}
else if (recovered_gradido_key_pair) {
sign = recovered_gradido_key_pair->sign(*bodyBytes);
}
if (!sign) {
ErrorManager::getInstance()->sendErrorsAsEmail();
sendErrorsAsEmail();