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.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.
If you want to be extra secure, disable internet while using this site.
- ar0n#1462
# Donate
- Bitcoin: 174pY2VP3VxhWNFcNsnYJz2eAKVySxr4jr
- Bitcoin Cash: 1C6XvFHtxZ2PvctJ5hLY8VCgVioMnLVSte
- Litecoin: LNq5sNAfs2MdpHoqkwJs71eBeJA91itybd
- Dogecoin: DB2GW7Dad5z8RPuJjzG2i24PbNgpaE1G1k

View File

@@ -1,7 +1,7 @@
<html>
<head>
<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="author" content="ar0n#1462">
@@ -22,14 +22,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
}
@@ -63,6 +63,9 @@
</button>
<div class="collapse navbar-collapse" id="navbarNav">
<ul class="navbar-nav">
<li class="nav-item">
<a class="nav-link" href="/">About</a>
</li>
<li class="nav-item">
<a class="nav-link" href="/gen.html">Key Generator</a>
</li>

View File

@@ -1,7 +1,7 @@
<html>
<head>
<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="author" content="ar0n#1462">
@@ -20,15 +20,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), // 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 => {
@@ -62,6 +56,9 @@
</button>
<div class="collapse navbar-collapse" id="navbarNav">
<ul class="navbar-nav">
<li class="nav-item">
<a class="nav-link" href="/">About</a>
</li>
<li class="nav-item">
<a class="nav-link" href="/gen.html">Key Generator</a>
</li>

View File

@@ -1,7 +1,7 @@
<html>
<head>
<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="author" content="ar0n#1462">
@@ -18,7 +18,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
@@ -59,6 +59,9 @@
</button>
<div class="collapse navbar-collapse" id="navbarNav">
<ul class="navbar-nav">
<li class="nav-item">
<a class="nav-link" href="/">About</a>
</li>
<li class="nav-item active">
<a class="nav-link" href="/gen.html">Key Generator</a>
</li>

View File

@@ -2,7 +2,7 @@
<head>
<title>browserPGP</title>
<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="author" content="ar0n#1462">
@@ -34,6 +34,9 @@
</button>
<div class="collapse navbar-collapse" id="navbarNav">
<ul class="navbar-nav">
<li class="nav-item active">
<a class="nav-link" href="/">About</a>
</li>
<li class="nav-item">
<a class="nav-link" href="/gen.html">Key Generator</a>
</li>
@@ -54,11 +57,10 @@
</nav>
<div class="main">
<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>
<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>
<br>
<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>
<div id="worksCheck"></div>
<noscript><br><div class="alert alert-danger" role="alert">This website requires JavaScript to function, please enable it.</div></noscript>
<br>

View File

@@ -1,7 +1,7 @@
<html>
<head>
<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="author" content="ar0n#1462">
@@ -23,22 +23,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), // 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;
@@ -70,6 +65,9 @@
</button>
<div class="collapse navbar-collapse" id="navbarNav">
<ul class="navbar-nav">
<li class="nav-item">
<a class="nav-link" href="/">About</a>
</li>
<li class="nav-item">
<a class="nav-link" href="/gen.html">Key Generator</a>
</li>

View File

@@ -1,7 +1,7 @@
<html>
<head>
<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="author" content="ar0n#1462">
@@ -21,21 +21,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";
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
}
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";
@@ -63,6 +62,9 @@
</button>
<div class="collapse navbar-collapse" id="navbarNav">
<ul class="navbar-nav">
<li class="nav-item">
<a class="nav-link" href="/">About</a>
</li>
<li class="nav-item">
<a class="nav-link" href="/gen.html">Key Generator</a>
</li>