#include "DebugPassphrasePage.h" #include "Poco/Net/HTTPServerRequest.h" #include "Poco/Net/HTTPServerResponse.h" #include "Poco/Net/HTMLForm.h" #include "Poco/DeflatingStream.h" #line 7 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\debugPassphrase.cpsp" #include "../Crypto/KeyPairEd25519.h" #include "../controller/User.h" #line 1 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\header_old.cpsp" #include "../ServerConfig.h" DebugPassphrasePage::DebugPassphrasePage(Session* arg): SessionHTTPRequestHandler(arg) { } void DebugPassphrasePage::handleRequest(Poco::Net::HTTPServerRequest& request, Poco::Net::HTTPServerResponse& response) { response.setChunkedTransferEncoding(true); response.setContentType("text/html"); bool _compressResponse(request.hasToken("Accept-Encoding", "gzip")); if (_compressResponse) response.set("Content-Encoding", "gzip"); Poco::Net::HTMLForm form(request, request.stream()); #line 11 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\debugPassphrase.cpsp" const char* pageName = "Debug Passphrase"; KeyPairEd25519* keys = nullptr; std::string privKeyCryptedHex = ""; Poco::UInt64 pwdHashed = 0; Poco::AutoPtr existingUser; if(!form.empty()) { auto passphrase_string = form.get("passphrase", ""); auto wordSource = Passphrase::detectMnemonic(passphrase_string); if(!wordSource) { addError(new Error("debug Passphrase", "invalid passphrase"), false); } else { keys = KeyPairEd25519::create(Passphrase::create(passphrase_string, wordSource)); } auto email = form.get("email", ""); if(email != "") { existingUser = controller::User::create(); if(1 == existingUser->load(email)) { auto user_model = existingUser->getModel(); pwdHashed = user_model->getPasswordHashed(); if(user_model->hasPrivateKeyEncrypted()) { privKeyCryptedHex = user_model->getPrivateKeyEncryptedHex(); } } } } std::ostream& _responseStream = response.send(); Poco::DeflatingOutputStream _gzipStream(_responseStream, Poco::DeflatingStreamBuf::STREAM_GZIP, 1); std::ostream& responseStream = _compressResponse ? _gzipStream : _responseStream; responseStream << "\n"; // begin include header_old.cpsp responseStream << "\n"; responseStream << "\n"; responseStream << "\n"; responseStream << "\n"; responseStream << "\n"; responseStream << "\n"; responseStream << "Gradido Login Server: "; #line 9 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\header_old.cpsp" responseStream << ( pageName ); responseStream << "\n"; responseStream << "\n"; responseStream << "\n"; responseStream << "\n"; responseStream << "\n"; responseStream << "\n"; responseStream << "
\n"; responseStream << "\t

Login Server in Entwicklung

\n"; responseStream << "\t

Alpha "; #line 53 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\header_old.cpsp" responseStream << ( ServerConfig::g_versionString ); responseStream << "

\n"; responseStream << "
\n"; // end include header_old.cpsp responseStream << "\n"; responseStream << "
\n"; responseStream << "\t

Debug Passphrase

\n"; responseStream << "\t"; #line 44 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\debugPassphrase.cpsp" responseStream << ( getErrorsHtml() ); responseStream << "\n"; responseStream << "\t
\n"; responseStream << "\t\t
\n"; responseStream << "\t\t\tUserdata\n"; responseStream << "\t\t\t

\n"; responseStream << "\t\t\t\t\n"; responseStream << "\t\t\t\t\n"; responseStream << "\t\t\t

\n"; responseStream << "\t\t\t\n"; responseStream << "\t\t
\n"; responseStream << "\t\t\n"; responseStream << "\t
\n"; responseStream << "\t"; #line 56 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\debugPassphrase.cpsp" if(keys) { responseStream << "\n"; responseStream << "\t\t

Public key:
"; #line 57 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\debugPassphrase.cpsp" responseStream << ( keys->getPublicKeyHex() ); responseStream << "

\n"; responseStream << "\t\t

Private key crypted:
"; #line 58 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\debugPassphrase.cpsp" responseStream << ( privKeyCryptedHex ); responseStream << "

\n"; responseStream << "\t\t

Passwort Hashed:
"; #line 59 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\debugPassphrase.cpsp" responseStream << ( std::to_string(pwdHashed) ); responseStream << "

\n"; responseStream << "\t\t"; #line 60 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\debugPassphrase.cpsp" if(!existingUser.isNull()) { auto userModel = existingUser->getModel(); auto dbPubkey = userModel->getPublicKey(); responseStream << "\n"; responseStream << "\t\t\t

user Public:
"; #line 64 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\debugPassphrase.cpsp" responseStream << ( keys->getPublicKeyHex() ); responseStream << "

\n"; responseStream << "\t\t"; #line 65 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\debugPassphrase.cpsp" } responseStream << "\n"; responseStream << "\t"; #line 66 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\debugPassphrase.cpsp" } responseStream << "\n"; responseStream << "
\n"; #line 68 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\debugPassphrase.cpsp" if(keys) delete keys; responseStream << "\n"; // begin include footer.cpsp responseStream << "
\n"; responseStream << "

Copyright © Gradido 2020

\n"; responseStream << "
\n"; responseStream << " \n"; responseStream << "
\n"; responseStream << " "; #line 6 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\footer.cpsp" responseStream << ( mTimeProfiler.string() ); responseStream << "\n"; responseStream << "
\n"; responseStream << "
\n"; responseStream << "

Login Server in Entwicklung

\n"; responseStream << "

Alpha "; #line 10 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\footer.cpsp" responseStream << ( ServerConfig::g_versionString ); responseStream << "

\n"; responseStream << "
\n"; responseStream << " \n"; responseStream << "\n"; responseStream << "\n"; responseStream << ""; // end include footer.cpsp responseStream << "\n"; if (_compressResponse) _gzipStream.close(); }