mirror of
https://github.com/mikedilger/gossip.git
synced 2024-09-29 16:31:18 +00:00
Require repeating the passphrase when you encrypt a private key, to make sure you typed it right.
This commit is contained in:
parent
1e581a0b5d
commit
f9d6a58be0
@ -119,6 +119,7 @@ struct GossipUi {
|
||||
follow_pubkey: String,
|
||||
follow_pubkey_at_relay: String,
|
||||
password: String,
|
||||
password2: String,
|
||||
del_password: String,
|
||||
new_metadata_fieldname: String,
|
||||
import_priv: String,
|
||||
@ -129,6 +130,8 @@ struct GossipUi {
|
||||
impl Drop for GossipUi {
|
||||
fn drop(&mut self) {
|
||||
self.password.zeroize();
|
||||
self.password2.zeroize();
|
||||
self.del_password.zeroize();
|
||||
}
|
||||
}
|
||||
|
||||
@ -236,6 +239,7 @@ impl GossipUi {
|
||||
follow_pubkey: "".to_owned(),
|
||||
follow_pubkey_at_relay: "".to_owned(),
|
||||
password: "".to_owned(),
|
||||
password2: "".to_owned(),
|
||||
del_password: "".to_owned(),
|
||||
new_metadata_fieldname: String::new(),
|
||||
import_priv: "".to_owned(),
|
||||
|
@ -266,18 +266,28 @@ fn offer_import_priv_key(app: &mut GossipUi, ui: &mut Ui) {
|
||||
);
|
||||
});
|
||||
ui.horizontal(|ui| {
|
||||
ui.label("Enter a passphrase for the private key");
|
||||
ui.label("Enter a passphrase to keep it encrypted under");
|
||||
ui.add(TextEdit::singleline(&mut app.password).password(true));
|
||||
});
|
||||
ui.horizontal(|ui| {
|
||||
ui.label("Repeat passphrase to be sure");
|
||||
ui.add(TextEdit::singleline(&mut app.password2).password(true));
|
||||
});
|
||||
if ui.button("import").clicked() {
|
||||
let _ = GLOBALS.to_overlord.send(ToOverlordMessage::ImportPriv(
|
||||
app.import_priv.clone(),
|
||||
app.password.clone(),
|
||||
));
|
||||
app.import_priv.zeroize();
|
||||
app.import_priv = "".to_owned();
|
||||
if app.password != app.password2 {
|
||||
*GLOBALS.status_message.blocking_write() = "Passwords do not match".to_owned();
|
||||
} else {
|
||||
let _ = GLOBALS.to_overlord.send(ToOverlordMessage::ImportPriv(
|
||||
app.import_priv.clone(),
|
||||
app.password.clone(),
|
||||
));
|
||||
app.import_priv.zeroize();
|
||||
app.import_priv = "".to_owned();
|
||||
}
|
||||
app.password.zeroize();
|
||||
app.password = "".to_owned();
|
||||
app.password2.zeroize();
|
||||
app.password2 = "".to_owned();
|
||||
}
|
||||
}
|
||||
|
||||
@ -351,11 +361,21 @@ fn offer_generate(app: &mut GossipUi, ui: &mut Ui) {
|
||||
ui.label("Enter a passphrase to keep it encrypted under");
|
||||
ui.add(TextEdit::singleline(&mut app.password).password(true));
|
||||
});
|
||||
ui.horizontal(|ui| {
|
||||
ui.label("Repeat passphrase to be sure");
|
||||
ui.add(TextEdit::singleline(&mut app.password2).password(true));
|
||||
});
|
||||
if ui.button("Generate Now").clicked() {
|
||||
let _ = GLOBALS
|
||||
.to_overlord
|
||||
.send(ToOverlordMessage::GeneratePrivateKey(app.password.clone()));
|
||||
if app.password != app.password2 {
|
||||
*GLOBALS.status_message.blocking_write() = "Passwords do not match".to_owned();
|
||||
} else {
|
||||
let _ = GLOBALS
|
||||
.to_overlord
|
||||
.send(ToOverlordMessage::GeneratePrivateKey(app.password.clone()));
|
||||
}
|
||||
app.password.zeroize();
|
||||
app.password = "".to_owned();
|
||||
app.password2.zeroize();
|
||||
app.password2 = "".to_owned();
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user