update code because irohe-ed25519 was removed

This commit is contained in:
Dario 2020-10-06 15:41:34 +02:00 committed by Ulf Gebhardt
parent 582a9c2f4f
commit add8544cd5
No known key found for this signature in database
GPG Key ID: 81308EFE29ABFEBD
7 changed files with 28 additions and 29 deletions

View File

@ -58,16 +58,16 @@ KeyPairHedera::KeyPairHedera(const unsigned char* privateKey, size_t privateKeyS
}
case 44: // DER encoded public key
if (0 == sodium_memcmp(publicKey, *derPrefixPub, derPrefixPub->size())) {
memcpy(mPublicKey, &publicKey[derPrefixPub->size()], ed25519_pubkey_SIZE);
memcpy(mPublicKey, &publicKey[derPrefixPub->size()], crypto_sign_PUBLICKEYBYTES);
}
break;
default:
throw Poco::Exception("[KeyPairHedera] invalid public key");
}
}
auto public_key_2 = mm->getFreeMemory(ed25519_pubkey_SIZE);
auto public_key_2 = mm->getFreeMemory(crypto_sign_PUBLICKEYBYTES);
crypto_sign_ed25519_sk_to_pk(*public_key_2, *mPrivateKey);
if (sodium_memcmp(*public_key_2, mPublicKey, ed25519_pubkey_SIZE) != 0) {
if (sodium_memcmp(*public_key_2, mPublicKey, crypto_sign_PUBLICKEYBYTES) != 0) {
throw "public keys not match";
}
@ -215,7 +215,7 @@ MemoryBin* KeyPairHedera::getPrivateKeyCopy() const
MemoryBin* KeyPairHedera::getPublicKeyCopy() const
{
auto mm = MemoryManager::getInstance();
auto public_key = mm->getFreeMemory(ed25519_pubkey_SIZE);
memcpy(*public_key, mPublicKey, ed25519_pubkey_SIZE);
auto public_key = mm->getFreeMemory(crypto_sign_PUBLICKEYBYTES);
memcpy(*public_key, mPublicKey, crypto_sign_PUBLICKEYBYTES);
return public_key;
}

View File

@ -42,7 +42,7 @@ public:
inline const unsigned char* getPublicKey() const { return mPublicKey; }
MemoryBin* getPublicKeyCopy() const;
inline std::string getPublicKeyHex() const { return DataTypeConverter::binToHex(mPublicKey, getPublicKeySize()); }
const static size_t getPublicKeySize() {return ed25519_pubkey_SIZE;}
const static size_t getPublicKeySize() {return crypto_sign_PUBLICKEYBYTES;}
inline bool isTheSame(const KeyPairHedera& b) const {
return 0 == sodium_memcmp(mPublicKey, b.mPublicKey, getPublicKeySize());
@ -89,7 +89,7 @@ private:
// 32 Byte
//! \brief ed25519 libsodium public key
unsigned char mPublicKey[ed25519_pubkey_SIZE];
unsigned char mPublicKey[crypto_sign_PUBLICKEYBYTES];
};
#endif //__GRADIDO_LOGIN_SERVER_CRYPTO_HEDERA_KEYS_H

View File

@ -202,7 +202,7 @@ void AdminHederaAccountPage::handleRequest(Poco::Net::HTTPServerRequest& request
KeyPairHedera key_pair(private_key, public_key);
auto crypto_key = controller::CryptoKey::load(key_pair.getPublicKey(), ed25519_pubkey_SIZE);
auto crypto_key = controller::CryptoKey::load(key_pair.getPublicKey(), crypto_sign_PUBLICKEYBYTES);
if(crypto_key.isNull()) {
crypto_key = controller::CryptoKey::create(&key_pair, user, privateKeyEncryptedString == "true");

View File

@ -9,7 +9,6 @@
#include "../SingletonManager/MemoryManager.h"
#include "../SingletonManager/EmailManager.h"
#include "../Crypto/KeyPair.h"
#include "../Crypto/Passphrase.h"
#include "../Crypto/KeyPairEd25519.h"
#include "../lib/DataTypeConverter.h"
@ -53,7 +52,7 @@ void RepairDefectPassphrase::handleRequest(Poco::Net::HTTPServerRequest& request
if (_compressResponse) response.set("Content-Encoding", "gzip");
Poco::Net::HTMLForm form(request, request.stream());
#line 36 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\repairDefectPassphrase.cpsp"
#line 35 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\repairDefectPassphrase.cpsp"
auto mm = MemoryManager::getInstance();
auto em = EmailManager::getInstance();
@ -270,26 +269,26 @@ void RepairDefectPassphrase::handleRequest(Poco::Net::HTTPServerRequest& request
responseStream << "</div>\n";
// end include header_old.cpsp
responseStream << "\n";
#line 185 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\repairDefectPassphrase.cpsp"
#line 184 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\repairDefectPassphrase.cpsp"
if("" != errorString) { responseStream << "\n";
responseStream << "\t";
#line 186 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\repairDefectPassphrase.cpsp"
#line 185 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\repairDefectPassphrase.cpsp"
responseStream << ( errorString );
responseStream << "\n";
#line 187 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\repairDefectPassphrase.cpsp"
#line 186 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\repairDefectPassphrase.cpsp"
} responseStream << "\n";
responseStream << "<div class=\"grd_container\">\n";
responseStream << "\t";
#line 189 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\repairDefectPassphrase.cpsp"
#line 188 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\repairDefectPassphrase.cpsp"
responseStream << ( getErrorsHtml() );
responseStream << "\n";
responseStream << "\t<h1>Konto reparieren</h1>\n";
responseStream << "\t<p>Der Login-Server hat festgestellt das die gespeicherte Passphrase nicht zu deinem Konto passt.</p>\n";
responseStream << "\t";
#line 192 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\repairDefectPassphrase.cpsp"
#line 191 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\repairDefectPassphrase.cpsp"
if(GENERATE_PASSPHRASE == state) { responseStream << "\n";
responseStream << "\t\t";
#line 193 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\repairDefectPassphrase.cpsp"
#line 192 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\repairDefectPassphrase.cpsp"
if(new_user->canDecryptPrivateKey()) { responseStream << "\n";
responseStream << "\t\t\t<p>Dein Privat Key konnte noch entschlüsselt werden. Es könnte also eine neue Passphrase generiert werden und dein aktueller Kontostand\n";
responseStream << "\t\t\tauf die neue Adresse transferiert werden. </p>\n";
@ -297,27 +296,27 @@ void RepairDefectPassphrase::handleRequest(Poco::Net::HTTPServerRequest& request
responseStream << "\t\t\t\t<input type=\"submit\" style=\"width:auto;\" name=\"generate\" value=\"Neue Passphrase generieren!\">\n";
responseStream << "\t\t\t</form>\n";
responseStream << "\t\t";
#line 199 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\repairDefectPassphrase.cpsp"
#line 198 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\repairDefectPassphrase.cpsp"
} else { responseStream << "\n";
responseStream << "\t\t\t<p>Dein Privat Key konnte nicht entschlüsselt werden. Bitte wende dich an den Admin: <a href=\"mailto:";
#line 200 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\repairDefectPassphrase.cpsp"
#line 199 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\repairDefectPassphrase.cpsp"
responseStream << ( adminEmail);
responseStream << "\">";
#line 200 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\repairDefectPassphrase.cpsp"
#line 199 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\repairDefectPassphrase.cpsp"
responseStream << ( adminEmail );
responseStream << "</a></p>\n";
responseStream << "\t\t";
#line 201 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\repairDefectPassphrase.cpsp"
#line 200 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\repairDefectPassphrase.cpsp"
} responseStream << "\n";
responseStream << "\t";
#line 202 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\repairDefectPassphrase.cpsp"
#line 201 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\repairDefectPassphrase.cpsp"
} else if(SHOW_PASSPHRASE == state) { responseStream << "\n";
responseStream << "\t\t<p>Deine neue Passphrase, bitte schreibe sie dir auf (am besten auf einen Zettel) und hebe sie gut auf. \n";
responseStream << "\t\tDu brauchst sie wenn du dein Passwort vergessen hast oder dein Konto umziehen möchtest:</p>\n";
responseStream << "\t\t<fieldset><legend>Deine neue Passphrase:</legend>\n";
responseStream << "\t\t\t<div class=\"grd_container_small grd_container\">\n";
responseStream << "\t\t\t\t";
#line 207 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\repairDefectPassphrase.cpsp"
#line 206 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\repairDefectPassphrase.cpsp"
responseStream << ( mSession->getPassphrase()->getString() );
responseStream << "\n";
responseStream << "\t\t\t</div>\n";
@ -328,15 +327,15 @@ void RepairDefectPassphrase::handleRequest(Poco::Net::HTTPServerRequest& request
responseStream << "\t\t\t<p><input type=\"submit\" style=\"width:auto\" name=\"transfer\" value=\"Guthaben auf neue Adresse &uuml;berweisen!\"></p>\n";
responseStream << "\t\t</form>\n";
responseStream << "\t";
#line 215 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\repairDefectPassphrase.cpsp"
#line 214 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\repairDefectPassphrase.cpsp"
} else if(FINISH == state) { responseStream << "\n";
responseStream << "\t\t<p>Neue Daten erfolgreich gespeichert, bitte logge dich nun aus. Danach kannst du dich gerne wieder einloggen und müsstest dein Guthaben wieder auf deinem Konto haben.</p>\n";
responseStream << "\t\t<a class=\"grd-nav-bn\" href=\"";
#line 217 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\repairDefectPassphrase.cpsp"
#line 216 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\repairDefectPassphrase.cpsp"
responseStream << ( ServerConfig::g_serverPath + "/logout" );
responseStream << "\">Ausloggen</a>\n";
responseStream << "\t";
#line 218 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\repairDefectPassphrase.cpsp"
#line 217 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\repairDefectPassphrase.cpsp"
} responseStream << "\n";
responseStream << "</div>\n";
// begin include footer.cpsp

View File

@ -3,6 +3,7 @@
#include "proto/gradido/TransactionBody.pb.h"
#include "model/Session.h"
#include "lib/Profiler.h"
#include "ServerConfig.h"
@ -35,7 +36,7 @@ int main(int argc, char** argv)
ServerConfig::g_versionString = Poco::DateTimeFormatter::format(buildDateTime, "0.%y.%m.%d");
//ServerConfig::g_versionString = "0.20.KW13.02";
printf("Version: %s\n", ServerConfig::g_versionString.data());
printf("User size: %d Bytes, Session size: %d Bytes\n", (int)sizeof(User), (int)sizeof(Session));
printf("User size: %d Bytes, Session size: %d Bytes\n", (int)sizeof(controller::User), (int)sizeof(Session));
printf("model sizes: User: %d Bytes, EmailOptIn: %d Bytes\n", (int)sizeof(model::table::User), (int)sizeof(model::table::EmailOptIn));
// load word lists

View File

@ -181,7 +181,7 @@
KeyPairHedera key_pair(private_key, public_key);
auto crypto_key = controller::CryptoKey::load(key_pair.getPublicKey(), ed25519_pubkey_SIZE);
auto crypto_key = controller::CryptoKey::load(key_pair.getPublicKey(), crypto_sign_PUBLICKEYBYTES);
if(crypto_key.isNull()) {
crypto_key = controller::CryptoKey::create(&key_pair, user, privateKeyEncryptedString == "true");

View File

@ -7,11 +7,10 @@
<%!
#include "../SingletonManager/MemoryManager.h"
#include "../SingletonManager/EmailManager.h"
#include "../Crypto/KeyPair.h"
#include "../Crypto/Passphrase.h"
#include "../Crypto/KeyPairEd25519.h"
#include "../lib/DataTypeConverter.h"
#include "../controller/UserBackups.h"
#include "../controller/UserBackup.h"
#include "../tasks/SigningTransaction.h"
#include "../ServerConfig.h"