From 74e8014d7621cdab232df214f2f98fd65dcd84a6 Mon Sep 17 00:00:00 2001 From: Matt Rude Date: Mon, 5 Aug 2019 03:51:05 +0000 Subject: Starting out. --- .gitignore | 1 + README.md | 76 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ index.html | 34 ++++++++++++++++++++++++++++ robots.txt | 1 + 4 files changed, 112 insertions(+) create mode 100644 .gitignore create mode 100644 README.md create mode 100644 index.html create mode 100644 robots.txt 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 + +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 . +``` diff --git a/index.html b/index.html new file mode 100644 index 0000000..5f2aa47 --- /dev/null +++ b/index.html @@ -0,0 +1,34 @@ + + + + + + + OpenPGP Web Key Directory Service + + + + + +

OpenPGP Web Key Directory Service

+
+

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 advanced method of key discovery as described in network working group specification, in §3.1 - Key Discovery.

+

If you have an email address on the example.com domain, you may publish your public key via the WKD Update Protocol, or by sending an unencrypted message to the submission-address; wkd-submission@example.com with your public key as an attachment.

+

If you have already submitted your key, you may confirm its availability via the WKD Checker site.
Please note, it may take up to 30 minutes, after your key has been confirmed, before it is available to the public.

+
+

For more information on how to use this service, see the GnuPG wiki article on WKD. For information on how to build a service similar to this, see Publishing A Public PGP Key via HTTPS, or the OpenPGP WKD Network Working Group specification.

+
+

This service is provided by Matt Rude.

+ + + 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: * -- cgit v1.2.3-59-ga6da