From 6bb74a89fd9deb0c6896469d3fcc08f6005ee2e0 Mon Sep 17 00:00:00 2001 From: varjolintu Date: Mon, 24 Apr 2017 15:01:38 +0300 Subject: [PATCH] Small changes to test-associate. --- README.md | 3 ++- chromeKeePassXC/background/keepass.js | 33 +++++++++++++++------------ 2 files changed, 20 insertions(+), 16 deletions(-) diff --git a/README.md b/README.md index 5c6e24f..5e4e5ce 100644 --- a/README.md +++ b/README.md @@ -86,6 +86,7 @@ Unencrypted message: ```javascript { "action": "test-associate", + "id": "saved database identifier>", "key": "" } ``` @@ -209,4 +210,4 @@ Response message data (success, decrypted): "hash": "29234e32274a32276e25666a42", "version": "2.1.2" } -``` \ No newline at end of file +``` diff --git a/chromeKeePassXC/background/keepass.js b/chromeKeePassXC/background/keepass.js index 3442f70..0911762 100644 --- a/chromeKeePassXC/background/keepass.js +++ b/chromeKeePassXC/background/keepass.js @@ -169,7 +169,7 @@ keepass.handleReply = function (msg) { // Specific callback handling. Needed? /*var reply; if (msg.action == "generate-password") { - + } else { reply = msg; @@ -185,7 +185,7 @@ keepass.callbackOnId = function (ev, id, callback) { if(msg.action == id) { var reply = keepass.handleReply(msg); ev.removeListener(handler); - callback(reply); + callback(reply); } } return handler; @@ -332,7 +332,7 @@ keepass.associate = function(callback, tab) { browserAction.show(callback, tab); } - } + } }); keepass.nativePort.postMessage(request); } @@ -355,27 +355,29 @@ keepass.testAssociation = function (tab, triggerUnlock) { var key = keepass.b64e(keepass.keyPair.publicKey); var nonce = nacl.randomBytes(keepass.keySize); - var idkey = keepass.getCryptoKey(); + var dbkeys = keepass.getCryptoKey(); + var id = dbkeys[0]; + var idkey = dbkeys[1]; + console.log("ID: " + id); + console.log("Key: " + idkey); var messageData = { action: "test-associate", key: idkey }; - + var request = { action: "test-associate", message: keepass.encrypt(messageData, nonce), nonce: keepass.b64e(nonce) }; - // TODO: Fix the return value via async(?) + // TODO: Fix the return value via async keepass.callbackOnId(keepass.nativePort.onMessage, "test-associate", function(response) { if (response.message && response.nonce) { var res = keepass.decrypt(response.message, response.nonce); - if (res == false) - { + if (res == false) { console.log("Failed to decrypt message"); - } else { @@ -419,6 +421,7 @@ keepass.testAssociation = function (tab, triggerUnlock) { keepass.getDatabaseHash = function (callback, tab, triggerUnlock) { if (!keepass.isConnected) { + page.tabs[tab.id].errorMessage = "Not connected with KeePassXC."; return; } @@ -468,7 +471,7 @@ keepass.changePublicKeys = function(tab) { keepass.callbackOnId(keepass.nativePort.onMessage, "change-public-keys", function(response) { console.log("change-public-keys reply received"); - if(response.version) { + if (response.version) { keepass.currentKeePassXC = { "version": response.version, "versionParsed": parseInt(response.version.replace(/\./g,"")) @@ -619,7 +622,7 @@ keepass.checkForNewKeePassXCVersion = function() { if (xhr.readyState == 4) { if (xhr.status == 200) { var $version = xhr.responseText; - if ($version.substring(0, 1) == "2") { + if ($version.substring(0, 1) == "2") { $version = $version.substring(0, $version.indexOf(" ")); keepass.latestKeePassXC.version = $version; keepass.latestKeePassXC.versionParsed = parseInt($version.replace(/\./g,"")); @@ -639,7 +642,7 @@ keepass.checkForNewKeePassXCVersion = function() { console.log("checkForNewKeePassXCVersion error: " + e); } - xhr.send(); + xhr.send(); keepass.latestKeePassXC.lastChecked = new Date(); } @@ -763,8 +766,8 @@ keepass.getCryptoKey = function() { key = keepass.keyRing[keepass.databaseHash].key; } - //return key ? [id, key] : null; - return key ? key : null; + return key ? [id, key] : null; + //return key ? key : null; } keepass.setCryptoKey = function(id, key) { @@ -781,4 +784,4 @@ keepass.decrypt = function(input, nonce, toStr) { var m = keepass.b64d(input); var n = keepass.b64d(nonce); return nacl.box.open(m, n, keepass.serverPublicKey, keepass.keyPair.secretKey); -} \ No newline at end of file +}