aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMatt Rude <[email protected]>2019-08-05 03:51:05 +0000
committerMatt Rude <[email protected]>2019-08-05 03:51:05 +0000
commit74e8014d7621cdab232df214f2f98fd65dcd84a6 (patch)
tree49c3677098832474e542b67ed18800cd6724b020
downloadwkd-site-74e8014d7621cdab232df214f2f98fd65dcd84a6.tar.gz
wkd-site-74e8014d7621cdab232df214f2f98fd65dcd84a6.tar.bz2
wkd-site-74e8014d7621cdab232df214f2f98fd65dcd84a6.zip
Starting out.
-rw-r--r--.gitignore1
-rw-r--r--README.md76
-rw-r--r--index.html34
-rw-r--r--robots.txt1
4 files changed, 112 insertions, 0 deletions
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..0d34e86
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1 @@
+.well-known
diff --git a/README.md b/README.md
new file mode 100644
index 0000000..a03a470
--- /dev/null
+++ b/README.md
@@ -0,0 +1,76 @@
+# OpenPGP Web Key Directory Service Website
+
+This is my [Web Key Directory Service (WKD)](https://tools.ietf.org/html/draft-koch-openpgp-webkey-service) website. This project is intended to display a small page if a user happens to go to the WKD "advanced method" url (ie. https://openpgpkey.mattrude.com) explaining what the service is and how to access more infromation about WKD.
+
+This site is alredy build and only needs to be placed into the webdirectory for your openpgpkey site. This page auto corrects the site domain when the site loads, via javascript. All images are imbeaded into the index.html file.
+
+## Nginx Config
+
+This site is inteaded to server mulitaple sites at the same time from the same directory. You may eather create a new nginx config file per site, or add all the sites to the same file. The below example assumes the root web directory on your webserver is `/var/www/openpgpkey`.
+
+```
+#----------------------------------------------------------------------
+# openpgpkey.example.com
+#----------------------------------------------------------------------
+
+server {
+ listen 80;
+ listen [::]:80;
+ server_name openpgpkey.example.com;
+
+ location '/.well-known/acme-challenge' {
+ default_type "text/plain";
+ root /var/www/openpgpkey;
+ }
+
+ location / {
+ return 301 https://$server_name$request_uri;
+ }
+}
+
+server {
+ listen 443 ssl http2;
+ listen [::]:443 ssl http2;
+ server_name openpgpkey.example.com;
+ root /var/www/openpgpkey;
+
+ ssl_certificate /etc/letsencrypt/live/openpgpkey.example.com/fullchain.pem;
+ ssl_certificate_key /etc/letsencrypt/live/openpgpkey.example.com/privkey.pem;
+ ssl_stapling on;
+
+ error_page 404 /index.html;
+
+ location ^~ /.well-known/ {
+ expires 5d;
+ default_type "text/plain";
+ add_header 'Access-Control-Allow-Origin' '*' always;
+ }
+
+ location ^~/.git { return 404; }
+ location ^~/.gitignore { return 404; }
+ location ^~/README.md { return 404; }
+}
+```
+
+## Repository License
+
+```
+ GNU GENERAL PUBLIC LICENSE
+ Version 3, 29 June 2007
+
+OpenPGP Web Key Directory Service website (wkd-website)
+Copyright (C) 2019 Matt Rude <[email protected]>
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program. If not, see <http://www.gnu.org/licenses/>.
+```
diff --git a/index.html b/index.html
new file mode 100644
index 0000000..5f2aa47
--- /dev/null
+++ b/index.html
@@ -0,0 +1,34 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+ <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
+ <meta name="Description" content="This domains OpenPGP Web Key Directory Service informational site.">
+ <meta name="viewport" content="width=device-width, initial-scale=1">
+ <title>OpenPGP Web Key Directory Service</title>
+ <link rel="shortcut icon" href="data:image/x-icon;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAGNJREFUeNpiYKAFYGFn9wfi+0D8H4pBbH9iNdsjaTwPxPuR+PbEGHAeqjgezUVgA4kxAKtCmEvQxZlwmPOB2PBiombI5yMFFiGcj80FAiTYJ0A1L4wagGrABxL0faBa+gEIMADz0iKXhglKDAAAAABJRU5ErkJggg=="/>
+ <style>
+ body { max-width: 900px; min-width: 350px; text-align: center; margin: auto; padding: 0 25px 25px; }
+ hr { margin-top: 20px; margin-bottom: 20px; border: 0; border-top: 1px solid #eee; height: 0; }
+ svg { fill: #3076b1; padding-top: 60px; padding-bottom: 20px; }
+ a { color: #3076b1; text-decoration: none; }
+ </style>
+</head>
+<body>
+ <svg width="130px" height="130px" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512" alt="Site Logo"><path d="m400,256l-248,0l0,-103.1c0,-39.6 31.7,-72.5 71.3,-72.9c40,-0.4 72.7,32.1 72.7,72l0,104l80,0l-0.33333,-104c0,-84 -68.16667,-152.3 -152.16667,-152c-84,0.3 -151.5,69.5 -151.5,153.5l0,102.5l-24,0c-26.5,0 -48,21.5 -48,48l0,160c0,26.5 21.5,48 48,48l352,0c26.5,0 48,-21.5 48,-48l0,-160c0,-26.5 -21.5,-48 -48,-48zm-136,152c0,22.1 -17.9,40 -40,40s-40,-17.9 -40,-40l0,-48c0,-22.1 17.9,-40 40,-40s40,17.9 40,40l0,48z"/></svg>
+ <h1>OpenPGP Web Key Directory Service</h1>
+ <hr />
+ <p>This is the example.com OpenPGP Web Key Directory (WKD) service. WKD allows an outside user, using an appropriate email client, to discover and import, through authoritative channels, a future corresponds OpenPGP public key, without using outside servers. This server provides the <i>advanced method</i> of key discovery as described in network working group specification, in <a href='https://tools.ietf.org/html/draft-koch-openpgp-webkey-service#section-3.1' target='_blank' rel='noopener'>&#167;3.1 - Key Discovery</a>.</p>
+ <p>If you have an email address on the example.com domain, you may publish your public key via the <a href='https://tools.ietf.org/html/draft-koch-openpgp-webkey-service#section-4' target='_blank' rel='noopener'>WKD Update Protocol</a>, or by sending an unencrypted message to the submission-address; <b><code>[email protected]</code></b> with your public key as an attachment.</p>
+ <p>If you have already submitted your key, you may confirm its availability via the <a href='https://metacode.biz/openpgp/web-key-directory' target='_blank' rel='noopener'>WKD Checker</a> site.<br /><small><i>Please note, it may take up to <b>30 minutes</b>, after your key has been confirmed, before it is available to the public.</i></small></p>
+ <hr />
+ <p>For more information on how to use this service, see the GnuPG wiki article on <a href='https://wiki.gnupg.org/WKD' target='_blank' rel='noopener'>WKD</a>. For information on how to build a service similar to this, see <a href='https://keyserver.mattrude.com/guides/web-key-directory/' target='_blank' rel='noopener'>Publishing A Public PGP Key via HTTPS</a>, or the <a href='https://tools.ietf.org/html/draft-koch-openpgp-webkey-service' target='_blank' rel='noopener'>OpenPGP WKD Network Working Group</a> specification.</p>
+ <hr />
+ <p>This service is provided by <a href='mailto://[email protected]'>Matt Rude</a>.</p>
+ <script>
+ var currentDomain = document.domain;
+ document.body.innerHTML = document.body.innerHTML.replace(/example.com/g, currentDomain);
+ document.body.innerHTML = document.body.innerHTML.replace(/www.openpgpkey./g, '');
+ document.body.innerHTML = document.body.innerHTML.replace(/openpgpkey./g, '');
+ </script>
+</body>
+</html>
diff --git a/robots.txt b/robots.txt
new file mode 100644
index 0000000..7d329b1
--- /dev/null
+++ b/robots.txt
@@ -0,0 +1 @@
+User-agent: *