This commit is contained in:
unknown
2018-11-14 16:39:01 +00:00
7 changed files with 59 additions and 48 deletions

View File

@@ -1,7 +1,13 @@
![browserPGP Logo](https://raw.githubusercontent.com/browserPGP/browserPGP.github.io/master/s_logo.png) ![browserPGP Logo](https://raw.githubusercontent.com/browserPGP/browserPGP.github.io/master/s_logo.png)
# browserPGP.github.io # browserPGP
A website that makes using PGP simple and secure. All work is done client side, so no private data leaves your computer. A website that makes using PGP simple and secure. All work is done client side, so no private data leaves your computer.
If you want to be extra secure, disable internet while using this site. If you want to be extra secure, disable internet while using this site.
- ar0n#1462 - ar0n#1462
# Donate
- Bitcoin: 174pY2VP3VxhWNFcNsnYJz2eAKVySxr4jr
- Bitcoin Cash: 1C6XvFHtxZ2PvctJ5hLY8VCgVioMnLVSte
- Litecoin: LNq5sNAfs2MdpHoqkwJs71eBeJA91itybd
- Dogecoin: DB2GW7Dad5z8RPuJjzG2i24PbNgpaE1G1k

View File

@@ -1,7 +1,7 @@
<html> <html>
<head> <head>
<title>browserPGP | Decrypt</title> <title>browserPGP | Decrypt</title>
<meta name="description" content="Decrypt PGP in browser, simple and secure."> <meta name="description" content="Decrypt PGP in browser, simple and secure." />
<meta name="keywords" content="browserPGP,PGP,OpenPGP,online,browser,javascript,github,live,secure,key generator,key gen,encrypt,decrypt,sign,verify,signature"> <meta name="keywords" content="browserPGP,PGP,OpenPGP,online,browser,javascript,github,live,secure,key generator,key gen,encrypt,decrypt,sign,verify,signature">
<meta name="author" content="ar0n#1462"> <meta name="author" content="ar0n#1462">
@@ -22,14 +22,14 @@
const passphrase = document.getElementById("pass").value const passphrase = document.getElementById("pass").value
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).catch((err) => {document.getElementById("result").value = err.message;document.getElementById("progressbar").className = "progress-bar bg-danger";})).keys[0]
if (passphrase) { 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 = { 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 privateKeys: [privKeyObj] // for decryption
} }
@@ -63,6 +63,9 @@
</button> </button>
<div class="collapse navbar-collapse" id="navbarNav"> <div class="collapse navbar-collapse" id="navbarNav">
<ul class="navbar-nav"> <ul class="navbar-nav">
<li class="nav-item">
<a class="nav-link" href="/">About</a>
</li>
<li class="nav-item"> <li class="nav-item">
<a class="nav-link" href="/gen.html">Key Generator</a> <a class="nav-link" href="/gen.html">Key Generator</a>
</li> </li>

View File

@@ -1,7 +1,7 @@
<html> <html>
<head> <head>
<title>browserPGP | Encrypt</title> <title>browserPGP | Encrypt</title>
<meta name="description" content="Encrypt PGP in browser, simple and secure."> <meta name="description" content="Encrypt PGP in browser, simple and secure." />
<meta name="keywords" content="browserPGP,PGP,OpenPGP,online,browser,javascript,github,live,secure,key generator,key gen,encrypt,decrypt,sign,verify,signature"> <meta name="keywords" content="browserPGP,PGP,OpenPGP,online,browser,javascript,github,live,secure,key generator,key gen,encrypt,decrypt,sign,verify,signature">
<meta name="author" content="ar0n#1462"> <meta name="author" content="ar0n#1462">
@@ -20,15 +20,9 @@
// 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
let options; const options = {
try { message: openpgp.message.fromText(document.getElementById("text").value), // input as Message object
options = { 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
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 => { openpgp.encrypt(options).then(ciphertext => {
@@ -62,6 +56,9 @@
</button> </button>
<div class="collapse navbar-collapse" id="navbarNav"> <div class="collapse navbar-collapse" id="navbarNav">
<ul class="navbar-nav"> <ul class="navbar-nav">
<li class="nav-item">
<a class="nav-link" href="/">About</a>
</li>
<li class="nav-item"> <li class="nav-item">
<a class="nav-link" href="/gen.html">Key Generator</a> <a class="nav-link" href="/gen.html">Key Generator</a>
</li> </li>

View File

@@ -1,7 +1,7 @@
<html> <html>
<head> <head>
<title>browserPGP | Key Gen</title> <title>browserPGP | Key Gen</title>
<meta name="description" content="Generate PGP keys in browser, simple and secure."> <meta name="description" content="Generate PGP keys in browser, simple and secure." />
<meta name="keywords" content="browserPGP,PGP,OpenPGP,online,browser,javascript,github,live,secure,key generator,key gen,encrypt,decrypt,sign,verify,signature"> <meta name="keywords" content="browserPGP,PGP,OpenPGP,online,browser,javascript,github,live,secure,key generator,key gen,encrypt,decrypt,sign,verify,signature">
<meta name="author" content="ar0n#1462"> <meta name="author" content="ar0n#1462">
@@ -18,7 +18,7 @@
const encryptDecryptFunction = async() => { const encryptDecryptFunction = async() => {
document.getElementById("progressbar").className = "progress-bar progress-bar-striped progress-bar-animated"; 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 userIds: [{ name:document.getElementById("name").value, email:document.getElementById("email").value }], // multiple user IDs
numBits: 4096, // RSA key size numBits: 4096, // RSA key size
passphrase: document.getElementById("pass").value // protects the private key passphrase: document.getElementById("pass").value // protects the private key
@@ -59,6 +59,9 @@
</button> </button>
<div class="collapse navbar-collapse" id="navbarNav"> <div class="collapse navbar-collapse" id="navbarNav">
<ul class="navbar-nav"> <ul class="navbar-nav">
<li class="nav-item">
<a class="nav-link" href="/">About</a>
</li>
<li class="nav-item active"> <li class="nav-item active">
<a class="nav-link" href="/gen.html">Key Generator</a> <a class="nav-link" href="/gen.html">Key Generator</a>
</li> </li>

View File

@@ -2,7 +2,7 @@
<head> <head>
<title>browserPGP</title> <title>browserPGP</title>
<meta charset="UTF-8"> <meta charset="UTF-8">
<meta name="description" content="PGP in browser, simple and secure."> <meta name="description" content="PGP in browser, simple and secure." />
<meta name="keywords" content="browserPGP,PGP,OpenPGP,online,browser,javascript,github,live,secure,key generator,key gen,encrypt,decrypt,sign,verify,signature"> <meta name="keywords" content="browserPGP,PGP,OpenPGP,online,browser,javascript,github,live,secure,key generator,key gen,encrypt,decrypt,sign,verify,signature">
<meta name="author" content="ar0n#1462"> <meta name="author" content="ar0n#1462">
@@ -34,6 +34,9 @@
</button> </button>
<div class="collapse navbar-collapse" id="navbarNav"> <div class="collapse navbar-collapse" id="navbarNav">
<ul class="navbar-nav"> <ul class="navbar-nav">
<li class="nav-item active">
<a class="nav-link" href="/">About</a>
</li>
<li class="nav-item"> <li class="nav-item">
<a class="nav-link" href="/gen.html">Key Generator</a> <a class="nav-link" href="/gen.html">Key Generator</a>
</li> </li>
@@ -54,11 +57,10 @@
</nav> </nav>
<div class="main"> <div class="main">
<h1 class="display-4">browserPGP</h1> <h1 class="display-4">browserPGP</h1>
<a>A website that makes using PGP simple and secure. All work is done client side, so no private data leaves your computer.<br><br>If you want to be extra secure, disable internet while using this site.<br><br>- ar0n#1462</a> <p>A website that makes using PGP simple and secure. All work is done client side, so no private data leaves your computer.<br><br>If you want to be extra secure, disable internet while using this site.<br><br>- ar0n#1462</p>
<br> <br>
<h1 class="display-4">Donate</h1> <h1 class="display-4">Donate</h1>
<a>This website doesn't generate any revenue, any donations would be appreciated.<br><br>Bitcoin: 174pY2VP3VxhWNFcNsnYJz2eAKVySxr4jr<br>Bitcoin Cash: 1C6XvFHtxZ2PvctJ5hLY8VCgVioMnLVSte<br>Litecoin: LNq5sNAfs2MdpHoqkwJs71eBeJA91itybd<br>Dogecoin: DB2GW7Dad5z8RPuJjzG2i24PbNgpaE1G1k</a> <p>This website doesn't generate any revenue, any donations would be appreciated.<br><br>Bitcoin: <code>174pY2VP3VxhWNFcNsnYJz2eAKVySxr4jr</code><br>Bitcoin Cash: <code>1C6XvFHtxZ2PvctJ5hLY8VCgVioMnLVSte</code><br>Litecoin: <code>LNq5sNAfs2MdpHoqkwJs71eBeJA91itybd</code><br>Dogecoin: <code>DB2GW7Dad5z8RPuJjzG2i24PbNgpaE1G1k</code></p>
<br>
<div id="worksCheck"></div> <div id="worksCheck"></div>
<noscript><br><div class="alert alert-danger" role="alert">This website requires JavaScript to function, please enable it.</div></noscript> <noscript><br><div class="alert alert-danger" role="alert">This website requires JavaScript to function, please enable it.</div></noscript>
<br> <br>

View File

@@ -1,7 +1,7 @@
<html> <html>
<head> <head>
<title>browserPGP | Sign</title> <title>browserPGP | Sign</title>
<meta name="description" content="Sign PGP in browser, simple and secure."> <meta name="description" content="Sign PGP in browser, simple and secure." />
<meta name="keywords" content="browserPGP,PGP,OpenPGP,online,browser,javascript,github,live,secure,key generator,key gen,encrypt,decrypt,sign,verify,signature"> <meta name="keywords" content="browserPGP,PGP,OpenPGP,online,browser,javascript,github,live,secure,key generator,key gen,encrypt,decrypt,sign,verify,signature">
<meta name="author" content="ar0n#1462"> <meta name="author" content="ar0n#1462">
@@ -23,22 +23,17 @@
const passphrase = document.getElementById("pass").value const passphrase = document.getElementById("pass").value
const msg = document.getElementById("msg").value const msg = document.getElementById("msg").value
let privKeyObj; 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]
let options;
try { if (passphrase) {
privKeyObj = (await openpgp.key.readArmored(privkey)).keys[0] await privKeyObj.decrypt(passphrase).catch((err) => {document.getElementById("result").value = err.message;document.getElementById("progressbar").className = "progress-bar bg-danger";})
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 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) {
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;
@@ -70,6 +65,9 @@
</button> </button>
<div class="collapse navbar-collapse" id="navbarNav"> <div class="collapse navbar-collapse" id="navbarNav">
<ul class="navbar-nav"> <ul class="navbar-nav">
<li class="nav-item">
<a class="nav-link" href="/">About</a>
</li>
<li class="nav-item"> <li class="nav-item">
<a class="nav-link" href="/gen.html">Key Generator</a> <a class="nav-link" href="/gen.html">Key Generator</a>
</li> </li>

View File

@@ -1,7 +1,7 @@
<html> <html>
<head> <head>
<title>browserPGP | Verify</title> <title>browserPGP | Verify</title>
<meta name="description" content="Verify PGP in browser, simple and secure."> <meta name="description" content="Verify PGP in browser, simple and secure." />
<meta name="keywords" content="browserPGP,PGP,OpenPGP,online,browser,javascript,github,live,secure,key generator,key gen,encrypt,decrypt,sign,verify,signature"> <meta name="keywords" content="browserPGP,PGP,OpenPGP,online,browser,javascript,github,live,secure,key generator,key gen,encrypt,decrypt,sign,verify,signature">
<meta name="author" content="ar0n#1462"> <meta name="author" content="ar0n#1462">
@@ -21,21 +21,20 @@
const pubkey = document.getElementById("pubKey").value const pubkey = document.getElementById("pubKey").value
const cleartext = document.getElementById("signMsg").value const cleartext = document.getElementById("signMsg").value
let options; const options = {
try { 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
options = { 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
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
document.getElementById("result").value = 'Signed by key id ' + verified.signatures[0].keyid.toHex(); if (validity) {
document.getElementById("progressbar").className = "progress-bar bg-success"; 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){ }).catch(function(error){
document.getElementById("result").value = error.message; document.getElementById("result").value = error.message;
document.getElementById("progressbar").className = "progress-bar bg-danger"; document.getElementById("progressbar").className = "progress-bar bg-danger";
@@ -63,6 +62,9 @@
</button> </button>
<div class="collapse navbar-collapse" id="navbarNav"> <div class="collapse navbar-collapse" id="navbarNav">
<ul class="navbar-nav"> <ul class="navbar-nav">
<li class="nav-item">
<a class="nav-link" href="/">About</a>
</li>
<li class="nav-item"> <li class="nav-item">
<a class="nav-link" href="/gen.html">Key Generator</a> <a class="nav-link" href="/gen.html">Key Generator</a>
</li> </li>