This commit is contained in:
unknown
2018-11-12 16:54:19 +00:00
parent c5b3c7f274
commit 0b538416e9
5 changed files with 59 additions and 45 deletions

View File

@@ -22,6 +22,7 @@
const encrypted = document.getElementById("pgpMsg").value const encrypted = document.getElementById("pgpMsg").value
const privKeyObj = (await openpgp.key.readArmored(privkey)).keys[0] const privKeyObj = (await openpgp.key.readArmored(privkey)).keys[0]
if (passphrase) { if (passphrase) {
await privKeyObj.decrypt(passphrase) await privKeyObj.decrypt(passphrase)
} }
@@ -32,14 +33,12 @@
} }
openpgp.decrypt(options).then(plaintext => { openpgp.decrypt(options).then(plaintext => {
if (plaintext.data) { document.getElementById("result").value = plaintext.data;
document.getElementById("result").value = plaintext.data; document.getElementById("progressbar").className = "progress-bar bg-success";
document.getElementById("progressbar").className = "progress-bar bg-success"; }).catch(function(error){
} else { document.getElementById("result").value = error.message;
document.getElementById("result").value = 'Error decrypting message.'; document.getElementById("progressbar").className = "progress-bar bg-danger";
document.getElementById("progressbar").className = "progress-bar bg-danger"; });
}
})
} }
</script> </script>
<style> <style>

View File

@@ -19,21 +19,25 @@
// put keys in backtick (``) to avoid errors caused by spaces or tabs // put keys in backtick (``) to avoid errors caused by spaces or tabs
const pubkey = document.getElementById("pubKey").value const pubkey = document.getElementById("pubKey").value
const options = { let options;
try {
options = {
message: openpgp.message.fromText(document.getElementById("text").value), // input as Message object message: openpgp.message.fromText(document.getElementById("text").value), // input as Message object
publicKeys: (await openpgp.key.readArmored(pubkey)).keys, // for encryption 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";
} }
openpgp.encrypt(options).then(ciphertext => { openpgp.encrypt(options).then(ciphertext => {
encrypted = ciphertext.data // '-----BEGIN PGP MESSAGE ... END PGP MESSAGE-----' encrypted = ciphertext.data // '-----BEGIN PGP MESSAGE ... END PGP MESSAGE-----'
if (encrypted) { document.getElementById("result").value = encrypted;
document.getElementById("result").value = encrypted; document.getElementById("progressbar").className = "progress-bar bg-success";
document.getElementById("progressbar").className = "progress-bar bg-success"; }).catch(function(error){
} else { document.getElementById("result").value = error.message;
document.getElementById("result").value = 'Encryption failed.'; document.getElementById("progressbar").className = "progress-bar bg-danger";
document.getElementById("progressbar").className = "progress-bar bg-danger"; });
}
})
} }
</script> </script>
<style> <style>

View File

@@ -30,6 +30,10 @@
document.getElementById("privkey").value = privkey; document.getElementById("privkey").value = privkey;
document.getElementById("pubkey").value = pubkey; document.getElementById("pubkey").value = pubkey;
document.getElementById("progressbar").className = "progress-bar bg-success"; document.getElementById("progressbar").className = "progress-bar bg-success";
}).catch(function(error){
document.getElementById("pubkey").value = error.message;
document.getElementById("privKey").value = error.message;
document.getElementById("progressbar").className = "progress-bar bg-danger";
}); });
} }
</script> </script>

View File

@@ -22,26 +22,29 @@
const passphrase = document.getElementById("pass").value const passphrase = document.getElementById("pass").value
const msg = document.getElementById("msg").value const msg = document.getElementById("msg").value
const privKeyObj = (await openpgp.key.readArmored(privkey)).keys[0] let privKeyObj;
let options;
if (passphrase) { try {
await privKeyObj.decrypt(passphrase) 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";
} }
options = {
message: openpgp.cleartext.fromText(msg), // CleartextMessage or Message object
privateKeys: [privKeyObj] // for signing
};
openpgp.sign(options).then(function(signed) { openpgp.sign(options).then(function(signed) {
if (signed.data) { cleartext = signed.data; // '-----BEGIN PGP SIGNED MESSAGE ... END PGP SIGNATURE-----'
cleartext = signed.data; // '-----BEGIN PGP SIGNED MESSAGE ... END PGP SIGNATURE-----' document.getElementById("result").value = cleartext;
document.getElementById("result").value = cleartext; document.getElementById("progressbar").className = "progress-bar bg-success";
document.getElementById("progressbar").className = "progress-bar bg-success"; }).catch(function(error){
} else { document.getElementById("result").value = error.message;
document.getElementById("result").value = 'Signing failed.'; document.getElementById("progressbar").className = "progress-bar bg-danger";
document.getElementById("progressbar").className = "progress-bar bg-danger";
}
}); });
} }
</script> </script>

View File

@@ -20,20 +20,24 @@
const pubkey = document.getElementById("pubKey").value const pubkey = document.getElementById("pubKey").value
const cleartext = document.getElementById("signMsg").value const cleartext = document.getElementById("signMsg").value
options = { let options;
message: await openpgp.cleartext.readArmored(cleartext), // parse armored message try {
publicKeys: (await openpgp.key.readArmored(pubkey)).keys // for verification 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";
}
openpgp.verify(options).then(function(verified) { openpgp.verify(options).then(function(verified) {
validity = verified.signatures[0].valid; // true validity = verified.signatures[0].valid; // true
if (validity) { document.getElementById("result").value = 'Signed by key id ' + verified.signatures[0].keyid.toHex();
document.getElementById("result").value = 'Signed by key id ' + verified.signatures[0].keyid.toHex(); document.getElementById("progressbar").className = "progress-bar bg-success";
document.getElementById("progressbar").className = "progress-bar bg-success"; }).catch(function(error){
} else { document.getElementById("result").value = error.message;
document.getElementById("progressbar").className = "progress-bar bg-danger"; document.getElementById("progressbar").className = "progress-bar bg-danger";
document.getElementById("result").value = 'Verification wrong or failed. DO NOT TRUST.';
}
}); });
} }
</script> </script>