From c071251c0aca684dd7b95432ed609ba1fb09ea9d Mon Sep 17 00:00:00 2001 From: exams228 Date: Wed, 14 Nov 2018 12:49:45 +0000 Subject: [PATCH 01/11] Fix verify. --- verify.html | 21 ++++++++++----------- 1 file changed, 10 insertions(+), 11 deletions(-) diff --git a/verify.html b/verify.html index 928cd8c..5f4535b 100644 --- a/verify.html +++ b/verify.html @@ -20,21 +20,20 @@ const pubkey = document.getElementById("pubKey").value const cleartext = document.getElementById("signMsg").value - let options; - try { - options = { - message: await openpgp.cleartext.readArmored(cleartext), // parse armored message - publicKeys: (await openpgp.key.readArmored(pubkey)).keys // for verification - } - } catch (err) { - document.getElementById("result").value = err.message; - document.getElementById("progressbar").className = "progress-bar bg-danger"; + options = { + message: await openpgp.cleartext.readArmored(cleartext).catch((err) => {document.getElementById("result").value = err.message;document.getElementById("progressbar").className = "progress-bar bg-danger";}), // parse armored message + publicKeys: (await openpgp.key.readArmored(pubkey).catch((err) => {document.getElementById("result").value = err.message;document.getElementById("progressbar").className = "progress-bar bg-danger";})).keys // for verification } openpgp.verify(options).then(function(verified) { validity = verified.signatures[0].valid; // true - document.getElementById("result").value = 'Signed by key id ' + verified.signatures[0].keyid.toHex(); - document.getElementById("progressbar").className = "progress-bar bg-success"; + if (validity) { + document.getElementById("result").value = 'Signed by key id ' + verified.signatures[0].keyid.toHex() + '. Signature is valid!'; + document.getElementById("progressbar").className = "progress-bar bg-success"; + } else { + document.getElementById("result").value = 'Not signed by key id ' + verified.signatures[0].keyid.toHex() + '. Do not trust!'; + document.getElementById("progressbar").className = "progress-bar bg-danger"; + } }).catch(function(error){ document.getElementById("result").value = error.message; document.getElementById("progressbar").className = "progress-bar bg-danger"; From 75c7c9a982af94900c2456d94fb3d40ddb04f42b Mon Sep 17 00:00:00 2001 From: exams228 Date: Wed, 14 Nov 2018 12:53:41 +0000 Subject: [PATCH 02/11] a --- decrypt.html | 6 +++--- encrypt.html | 12 +++--------- gen.html | 2 +- sign.html | 23 +++++++++-------------- verify.html | 2 +- 5 files changed, 17 insertions(+), 28 deletions(-) diff --git a/decrypt.html b/decrypt.html index 8de1f4b..2bdcc0d 100644 --- a/decrypt.html +++ b/decrypt.html @@ -21,14 +21,14 @@ const passphrase = document.getElementById("pass").value const encrypted = document.getElementById("pgpMsg").value - const privKeyObj = (await openpgp.key.readArmored(privkey)).keys[0] + const privKeyObj = (await openpgp.key.readArmored(privkey).catch((err) => {document.getElementById("result").value = err.message;document.getElementById("progressbar").className = "progress-bar bg-danger";})).keys[0] if (passphrase) { - await privKeyObj.decrypt(passphrase) + await privKeyObj.decrypt(passphrase).catch((err) => {document.getElementById("result").value = err.message;document.getElementById("progressbar").className = "progress-bar bg-danger";}) } const options = { - message: await openpgp.message.readArmored(encrypted), // parse armored message + message: await openpgp.message.readArmored(encrypted).catch((err) => {document.getElementById("result").value = err.message;document.getElementById("progressbar").className = "progress-bar bg-danger";}), // parse armored message privateKeys: [privKeyObj] // for decryption } diff --git a/encrypt.html b/encrypt.html index b5878dd..ca55b26 100644 --- a/encrypt.html +++ b/encrypt.html @@ -19,15 +19,9 @@ // put keys in backtick (``) to avoid errors caused by spaces or tabs const pubkey = document.getElementById("pubKey").value - let options; - try { - options = { - message: openpgp.message.fromText(document.getElementById("text").value), // input as Message object - publicKeys: (await openpgp.key.readArmored(pubkey)).keys, // for encryption - } - } catch (err) { - document.getElementById("result").value = err.message; - document.getElementById("progressbar").className = "progress-bar bg-danger"; + const options = { + message: openpgp.message.fromText(document.getElementById("text").value).catch((err) => {document.getElementById("result").value = err.message;document.getElementById("progressbar").className = "progress-bar bg-danger";}), // input as Message object + publicKeys: (await openpgp.key.readArmored(pubkey).catch((err) => {document.getElementById("result").value = err.message;document.getElementById("progressbar").className = "progress-bar bg-danger";})).keys, // for encryption } openpgp.encrypt(options).then(ciphertext => { diff --git a/gen.html b/gen.html index c0b7428..1d34b45 100644 --- a/gen.html +++ b/gen.html @@ -17,7 +17,7 @@ const encryptDecryptFunction = async() => { document.getElementById("progressbar").className = "progress-bar progress-bar-striped progress-bar-animated"; - var options = { + const options = { userIds: [{ name:document.getElementById("name").value, email:document.getElementById("email").value }], // multiple user IDs numBits: 4096, // RSA key size passphrase: document.getElementById("pass").value // protects the private key diff --git a/sign.html b/sign.html index 035cc08..26c3c4c 100644 --- a/sign.html +++ b/sign.html @@ -22,22 +22,17 @@ const passphrase = document.getElementById("pass").value const msg = document.getElementById("msg").value - let privKeyObj; - let options; - try { - privKeyObj = (await openpgp.key.readArmored(privkey)).keys[0] - if (passphrase) { - await privKeyObj.decrypt(passphrase) - } - options = { - message: openpgp.cleartext.fromText(msg), // CleartextMessage or Message object - privateKeys: [privKeyObj] // for signing - }; - } catch (err) { - document.getElementById("result").value = err.message; - document.getElementById("progressbar").className = "progress-bar bg-danger"; + const privKeyObj = (await openpgp.key.readArmored(privkey).catch((err) => {document.getElementById("result").value = err.message;document.getElementById("progressbar").className = "progress-bar bg-danger";})).keys[0] + + if (passphrase) { + await privKeyObj.decrypt(passphrase).catch((err) => {document.getElementById("result").value = err.message;document.getElementById("progressbar").className = "progress-bar bg-danger";}) } + const options = { + message: openpgp.cleartext.fromText(msg).catch((err) => {document.getElementById("result").value = err.message;document.getElementById("progressbar").className = "progress-bar bg-danger";}), // CleartextMessage or Message object + privateKeys: [privKeyObj] // for signing + }; + openpgp.sign(options).then(function(signed) { cleartext = signed.data; // '-----BEGIN PGP SIGNED MESSAGE ... END PGP SIGNATURE-----' document.getElementById("result").value = cleartext; diff --git a/verify.html b/verify.html index 5f4535b..23557da 100644 --- a/verify.html +++ b/verify.html @@ -20,7 +20,7 @@ const pubkey = document.getElementById("pubKey").value const cleartext = document.getElementById("signMsg").value - options = { + const options = { message: await openpgp.cleartext.readArmored(cleartext).catch((err) => {document.getElementById("result").value = err.message;document.getElementById("progressbar").className = "progress-bar bg-danger";}), // parse armored message publicKeys: (await openpgp.key.readArmored(pubkey).catch((err) => {document.getElementById("result").value = err.message;document.getElementById("progressbar").className = "progress-bar bg-danger";})).keys // for verification } From b383af45a2546de794b1875ae75a8beb8c969d27 Mon Sep 17 00:00:00 2001 From: exams228 Date: Wed, 14 Nov 2018 12:55:17 +0000 Subject: [PATCH 03/11] a --- encrypt.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/encrypt.html b/encrypt.html index ca55b26..7c22b18 100644 --- a/encrypt.html +++ b/encrypt.html @@ -20,7 +20,7 @@ const pubkey = document.getElementById("pubKey").value const options = { - message: openpgp.message.fromText(document.getElementById("text").value).catch((err) => {document.getElementById("result").value = err.message;document.getElementById("progressbar").className = "progress-bar bg-danger";}), // input as Message object + message: openpgp.message.fromText(document.getElementById("text").value), // input as Message object publicKeys: (await openpgp.key.readArmored(pubkey).catch((err) => {document.getElementById("result").value = err.message;document.getElementById("progressbar").className = "progress-bar bg-danger";})).keys, // for encryption } From fdbcbd91bce42cb4f34903c97b5fc71a795c4f48 Mon Sep 17 00:00:00 2001 From: exams228 Date: Wed, 14 Nov 2018 12:56:37 +0000 Subject: [PATCH 04/11] a --- sign.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sign.html b/sign.html index 26c3c4c..30e7003 100644 --- a/sign.html +++ b/sign.html @@ -29,7 +29,7 @@ } const options = { - message: openpgp.cleartext.fromText(msg).catch((err) => {document.getElementById("result").value = err.message;document.getElementById("progressbar").className = "progress-bar bg-danger";}), // CleartextMessage or Message object + message: openpgp.cleartext.fromText(msg), // CleartextMessage or Message object privateKeys: [privKeyObj] // for signing }; From 0db35195eaf8cfeca894b37190a2f3e42468e264 Mon Sep 17 00:00:00 2001 From: exams228 Date: Wed, 14 Nov 2018 12:58:12 +0000 Subject: [PATCH 05/11] a --- index.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/index.html b/index.html index 2baad6c..58dba0f 100644 --- a/index.html +++ b/index.html @@ -62,7 +62,7 @@

- + From 9191c32f3ffdb7ee5b20b033b73f9d8176cb2270 Mon Sep 17 00:00:00 2001 From: exams228 Date: Wed, 14 Nov 2018 13:01:24 +0000 Subject: [PATCH 06/11] nav --- decrypt.html | 3 +++ encrypt.html | 3 +++ index.html | 3 +++ sign.html | 3 +++ verify.html | 3 +++ 5 files changed, 15 insertions(+) diff --git a/decrypt.html b/decrypt.html index 2bdcc0d..9bd7f70 100644 --- a/decrypt.html +++ b/decrypt.html @@ -62,6 +62,9 @@