encryption key has now limited time to live if not used for 10 minutes

This commit is contained in:
azivner 2017-09-06 21:56:06 -04:00
parent 2c3df13424
commit 5a64eed1dd

View file

@ -290,7 +290,11 @@ function deriveEncryptionKey(password) {
});
}
// currently not configurable
const globalEncryptionKeyTimeToLive = 10 * 60 * 1000; // in milliseconds
let globalEncryptionKey = null;
let globalLastEncryptionOperationDate = null;
$("#encryptionPasswordForm").submit(function() {
const password = $("#encryptionPassword").val();
@ -313,6 +317,18 @@ $("#encryptionPasswordForm").submit(function() {
});
function getAes() {
globalLastEncryptionOperationDate = new Date();
setTimeout(function() {
if (new Date().getTime() - globalLastEncryptionOperationDate.getTime() > globalEncryptionKeyTimeToLive) {
globalEncryptionKey = null;
if (globalNote.detail.encryption > 0) {
loadNote(globalNote.detail.note_id);
}
}
}, globalEncryptionKeyTimeToLive + 1000);
return new aesjs.ModeOfOperation.ctr(globalEncryptionKey, new aesjs.Counter(5));
}