Merge branch 'master' of https://github.com/BrowserPGP/BrowserPGP.github.io
This commit is contained in:
@@ -1,7 +1,13 @@
|
||||

|
||||
# 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
|
||||
|
||||
11
decrypt.html
11
decrypt.html
@@ -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>
|
||||
|
||||
17
encrypt.html
17
encrypt.html
@@ -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>
|
||||
|
||||
7
gen.html
7
gen.html
@@ -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>
|
||||
|
||||
10
index.html
10
index.html
@@ -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>
|
||||
|
||||
28
sign.html
28
sign.html
@@ -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>
|
||||
|
||||
26
verify.html
26
verify.html
@@ -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>
|
||||
|
||||
Reference in New Issue
Block a user