mirror of
https://github.com/IT4Change/gradido.git
synced 2025-12-13 07:45:54 +00:00
138 lines
5.1 KiB
Plaintext
138 lines
5.1 KiB
Plaintext
<%@ page class="SaveKeysPage" %>
|
|
<%@ page baseClass="SessionHTTPRequestHandler" %>
|
|
<%@ page ctorArg="Session*" %>
|
|
<%@ header include="HTTPInterface/SessionHTTPRequestHandler.h" %>
|
|
<%@ page form="true" %>
|
|
<%!
|
|
#include "Poco/Net/HTTPServerParams.h"
|
|
|
|
enum PageState
|
|
{
|
|
PAGE_ASK,
|
|
PAGE_SHOW_PUBKEY,
|
|
PAGE_ERROR
|
|
};
|
|
|
|
%>
|
|
<%%
|
|
const char* pageName = "Daten auf Server speichern?";
|
|
bool hasErrors = mSession->errorCount() > 0;
|
|
// crypto key only in memory, if user has tipped in his passwort in this session
|
|
auto user = mSession->getNewUser();
|
|
bool hasPassword = user->getModel()->hasPrivateKeyEncrypted();
|
|
PageState state = PAGE_ASK;
|
|
auto uri_start = ServerConfig::g_php_serverPath;//request.serverParams().getServerName();
|
|
|
|
// skip asking user if he like to save keys and passphrase on server for now!
|
|
state = PAGE_SHOW_PUBKEY;
|
|
if(!mSession->generateKeys(true, true)) {
|
|
getErrors(mSession);
|
|
}
|
|
/*
|
|
if(!form.empty()) {
|
|
// privkey
|
|
auto savePrivkeyChoice = form.get("save-privkey");
|
|
bool savePrivkey = false;
|
|
if(savePrivkeyChoice == "yes") {
|
|
if(!hasPassword) {
|
|
// check pwd
|
|
auto pwd = form.get("save-privkey-password", "");
|
|
|
|
if(!mSession->isPwdValid(pwd)) {
|
|
addError(new Error("Passwort", "Das Passwort stimmt nicht. Bitte verwende dein Passwort von der Registrierung"), false);
|
|
hasErrors = true;
|
|
} else {
|
|
savePrivkey = true;
|
|
}
|
|
} else {
|
|
savePrivkey = true;
|
|
}
|
|
}
|
|
if(!hasErrors) {
|
|
auto savePassphraseChoice = form.get("save-passphrase");
|
|
bool savePassphrase = false;
|
|
if(savePassphraseChoice == "yes") {
|
|
savePassphrase = true;
|
|
}
|
|
if(!mSession->generateKeys(savePrivkey, savePassphrase)) {
|
|
hasErrors = true;
|
|
} else if(mSession->getSessionState() >= SESSION_STATE_KEY_PAIR_GENERATED) {
|
|
state = PAGE_SHOW_PUBKEY;
|
|
|
|
//printf("uri_start: %s\n", uri_start.data());
|
|
//response.redirect(uri_start + "/");
|
|
} else {
|
|
state = PAGE_ERROR;
|
|
}
|
|
}
|
|
//printf("SaveKeysPage: hasErrors: %d, session state: %d, target state: %d\n",
|
|
//hasErrors, mSession->getSessionState(), SESSION_STATE_KEY_PAIR_GENERATED);
|
|
}*/
|
|
getErrors(mSession);
|
|
%><%@ include file="include/header_old.cpsp" %>
|
|
<div class="grd_container">
|
|
<h1>Daten speichern</h1>
|
|
<%= getErrorsHtml() %>
|
|
<% if(state == PAGE_ASK) { %>
|
|
<form method="POST">
|
|
<fieldset>
|
|
<legend>Gradido Private Key speichern</legend>
|
|
<div class="grd_text">
|
|
<p>Möchtest du deinen Gradido Private Key auf dem Server mit deinem Passwort verschlüsselt speichern?</p>
|
|
<p>Wenn du ihn speicherst brauchst du dich in Zukunft nur mit deiner E-Mail und deinem Passwort einzuloggen.</p>
|
|
<p>Wenn du ihn nicht speicherst, müsstest du jedes mal wenn du eine Transaktion machen willst, deine Passphrase hier reinkopieren.</p>
|
|
</div>
|
|
<p class="grd_small">
|
|
<input id="save-privkey-yes" type="radio" name="save-privkey" value="yes" checked/>
|
|
<label class="grd_radio_label" for="save-privkey-yes">Ja, bitte speichern!</label>
|
|
</p>
|
|
<% if(!hasPassword) { %>
|
|
<p>Ich brauche nochmal dein Passwort wenn du dich für ja entscheidest.</p>
|
|
<p class="grd_small">
|
|
<label for="save-privkey-password">Passwort</label>
|
|
<input id="save-privkey-password" type="password" name="save-privkey-password"/>
|
|
</p>
|
|
<% } %>
|
|
<p class="grd_small">
|
|
<input id="save-privkey-no" type="radio" name="save-privkey" value="no"/>
|
|
<label class="grd_radio_label" for="save-privkey-no">Nein, ich kümmere mich selbst darum!</label>
|
|
</p>
|
|
</fieldset>
|
|
<fieldset>
|
|
<legend>Passphrase speichern</legend>
|
|
<div class="grd_text">
|
|
<p>Möchtest du deine Passphrase mit dem Server-Admin-Key verschlüsselt auf dem Server gespeichert haben?</p>
|
|
<p>Dann kann dir der Server-Admin deine Passphrase zuschicken wenn du sie verlegt hast. </p>
|
|
</div>
|
|
<p class="grd_small">
|
|
<input id="save-passphrase-yes" type="radio" name="save-passphrase" value="yes" checked/>
|
|
<label class="grd_radio_label" for="save-passphrase-yes">Ja, bitte speichern!</label>
|
|
</p>
|
|
<p class="grd_small">
|
|
<input id="save-passphrase-no" type="radio" name="save-passphrase" value="no"/>
|
|
<label class="grd_radio_label" for="save-passphrase-no">Nein, ich vertraue nur mir selbst!</label>
|
|
</p>
|
|
</fieldset>
|
|
<input class="grd-form-bn grd-form-bn-succeed" type="submit" value="Speichern">
|
|
</form>
|
|
<% } else if(state == PAGE_SHOW_PUBKEY) { %>
|
|
<div class="grd_text">
|
|
<p><%= gettext("Daten gespeichert!") %></p>
|
|
<p><%= gettext("Deine Daten wurden verschlüsselt und gespeichert.") %></p>
|
|
<!--<p>Je nach Auswahl werden deine Daten nun verschlüsselt und gespeichert. </p>-->
|
|
<!--<p>Deine Daten werden nun verschlüsselt und gespeichert.</p>-->
|
|
<!--<p>Deine Gradido Adresse (Hex): </p>
|
|
<p class="grd_textarea">
|
|
<%= user->getModel()->getPublicKeyHex() %>
|
|
</p>-->
|
|
<a class="grd-form-bn" href="<%= uri_start %>">Zurück zur Startseite</a>
|
|
</div>
|
|
<% } else if(state == PAGE_ERROR) { %>
|
|
<div class="grd_text">
|
|
<p>Ein Fehler trat auf, bitte versuche es erneut oder wende dich an den Server-Admin</p>
|
|
<%= mSession->getSessionStateString() %>
|
|
</div>
|
|
<% } %>
|
|
</div>
|
|
<%@ include file="include/footer.cpsp" %>
|