a
This commit is contained in:
15
decrypt.html
15
decrypt.html
@@ -22,6 +22,7 @@
|
||||
const encrypted = document.getElementById("pgpMsg").value
|
||||
|
||||
const privKeyObj = (await openpgp.key.readArmored(privkey)).keys[0]
|
||||
|
||||
if (passphrase) {
|
||||
await privKeyObj.decrypt(passphrase)
|
||||
}
|
||||
@@ -32,14 +33,12 @@
|
||||
}
|
||||
|
||||
openpgp.decrypt(options).then(plaintext => {
|
||||
if (plaintext.data) {
|
||||
document.getElementById("result").value = plaintext.data;
|
||||
document.getElementById("progressbar").className = "progress-bar bg-success";
|
||||
} else {
|
||||
document.getElementById("result").value = 'Error decrypting message.';
|
||||
document.getElementById("progressbar").className = "progress-bar bg-danger";
|
||||
}
|
||||
})
|
||||
document.getElementById("result").value = plaintext.data;
|
||||
document.getElementById("progressbar").className = "progress-bar bg-success";
|
||||
}).catch(function(error){
|
||||
document.getElementById("result").value = error.message;
|
||||
document.getElementById("progressbar").className = "progress-bar bg-danger";
|
||||
});
|
||||
}
|
||||
</script>
|
||||
<style>
|
||||
|
||||
22
encrypt.html
22
encrypt.html
@@ -19,21 +19,25 @@
|
||||
// put keys in backtick (``) to avoid errors caused by spaces or tabs
|
||||
const pubkey = document.getElementById("pubKey").value
|
||||
|
||||
const options = {
|
||||
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";
|
||||
}
|
||||
|
||||
openpgp.encrypt(options).then(ciphertext => {
|
||||
encrypted = ciphertext.data // '-----BEGIN PGP MESSAGE ... END PGP MESSAGE-----'
|
||||
if (encrypted) {
|
||||
document.getElementById("result").value = encrypted;
|
||||
document.getElementById("progressbar").className = "progress-bar bg-success";
|
||||
} else {
|
||||
document.getElementById("result").value = 'Encryption failed.';
|
||||
document.getElementById("progressbar").className = "progress-bar bg-danger";
|
||||
}
|
||||
})
|
||||
document.getElementById("result").value = encrypted;
|
||||
document.getElementById("progressbar").className = "progress-bar bg-success";
|
||||
}).catch(function(error){
|
||||
document.getElementById("result").value = error.message;
|
||||
document.getElementById("progressbar").className = "progress-bar bg-danger";
|
||||
});
|
||||
}
|
||||
</script>
|
||||
<style>
|
||||
|
||||
4
gen.html
4
gen.html
@@ -30,6 +30,10 @@
|
||||
document.getElementById("privkey").value = privkey;
|
||||
document.getElementById("pubkey").value = pubkey;
|
||||
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>
|
||||
|
||||
37
sign.html
37
sign.html
@@ -22,26 +22,29 @@
|
||||
const passphrase = document.getElementById("pass").value
|
||||
const msg = document.getElementById("msg").value
|
||||
|
||||
const privKeyObj = (await openpgp.key.readArmored(privkey)).keys[0]
|
||||
|
||||
if (passphrase) {
|
||||
await privKeyObj.decrypt(passphrase)
|
||||
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";
|
||||
}
|
||||
|
||||
options = {
|
||||
message: openpgp.cleartext.fromText(msg), // CleartextMessage or Message object
|
||||
privateKeys: [privKeyObj] // for signing
|
||||
};
|
||||
|
||||
openpgp.sign(options).then(function(signed) {
|
||||
if (signed.data) {
|
||||
cleartext = signed.data; // '-----BEGIN PGP SIGNED MESSAGE ... END PGP SIGNATURE-----'
|
||||
document.getElementById("result").value = cleartext;
|
||||
document.getElementById("progressbar").className = "progress-bar bg-success";
|
||||
} else {
|
||||
document.getElementById("result").value = 'Signing failed.';
|
||||
document.getElementById("progressbar").className = "progress-bar bg-danger";
|
||||
}
|
||||
cleartext = signed.data; // '-----BEGIN PGP SIGNED MESSAGE ... END PGP SIGNATURE-----'
|
||||
document.getElementById("result").value = cleartext;
|
||||
document.getElementById("progressbar").className = "progress-bar bg-success";
|
||||
}).catch(function(error){
|
||||
document.getElementById("result").value = error.message;
|
||||
document.getElementById("progressbar").className = "progress-bar bg-danger";
|
||||
});
|
||||
}
|
||||
</script>
|
||||
|
||||
26
verify.html
26
verify.html
@@ -20,20 +20,24 @@
|
||||
const pubkey = document.getElementById("pubKey").value
|
||||
const cleartext = document.getElementById("signMsg").value
|
||||
|
||||
options = {
|
||||
message: await openpgp.cleartext.readArmored(cleartext), // parse armored message
|
||||
publicKeys: (await openpgp.key.readArmored(pubkey)).keys // for verification
|
||||
};
|
||||
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";
|
||||
}
|
||||
|
||||
openpgp.verify(options).then(function(verified) {
|
||||
validity = verified.signatures[0].valid; // true
|
||||
if (validity) {
|
||||
document.getElementById("result").value = 'Signed by key id ' + verified.signatures[0].keyid.toHex();
|
||||
document.getElementById("progressbar").className = "progress-bar bg-success";
|
||||
} else {
|
||||
document.getElementById("progressbar").className = "progress-bar bg-danger";
|
||||
document.getElementById("result").value = 'Verification wrong or failed. DO NOT TRUST.';
|
||||
}
|
||||
document.getElementById("result").value = 'Signed by key id ' + verified.signatures[0].keyid.toHex();
|
||||
document.getElementById("progressbar").className = "progress-bar bg-success";
|
||||
}).catch(function(error){
|
||||
document.getElementById("result").value = error.message;
|
||||
document.getElementById("progressbar").className = "progress-bar bg-danger";
|
||||
});
|
||||
}
|
||||
</script>
|
||||
|
||||
Reference in New Issue
Block a user