about summary refs log tree commit diff stats
path: root/docs
diff options
context:
space:
mode:
authorDebXWoody <stefan@debxwoody.de>2020-06-21 09:43:42 +0200
committerMichael Vetter <jubalh@iodoru.org>2020-06-29 19:05:41 +0200
commit2c94ee5a88f64332a3f41f41a4d314fc52200e31 (patch)
tree6209fd4796609a7706f950b18a9bb652c6c137fb /docs
parent3afd854dc862696c4842b2ed93efcad44d617910 (diff)
downloadprofani-tty-2c94ee5a88f64332a3f41f41a4d314fc52200e31.tar.gz
Feature request - XEP-0373: OpenPGP for XMPP (OX)
Basic implementation of XEP-0373: OpenPGP for XMPP.
https://xmpp.org/extensions/xep-0373.html

Command /ox

Issue: #1331
Diffstat (limited to 'docs')
-rw-r--r--docs/profanity-ox.md78
1 files changed, 78 insertions, 0 deletions
diff --git a/docs/profanity-ox.md b/docs/profanity-ox.md
new file mode 100644
index 00000000..1a01e210
--- /dev/null
+++ b/docs/profanity-ox.md
@@ -0,0 +1,78 @@
+# Profanity - OpenPGP for XMPP
+
+Implementation of XEP-0373 - OpenPGP for XMPP (OX) in profanity.
+
+## Overview
+The current version (2020-05-23) of profanity provides *XEP-0027: Current Jabber
+OpenPGP Usage* via the `/pgp` command. This XEP is *Obsolete*. We should
+implement *XEP-0373 - OpenPGP for XMPP (OX)* in profanity.
+
+## pgp
+
+```
+14:37:52 - Synopsis
+14:37:52 - /pgp libver
+14:37:52 - /pgp keys
+14:37:52 - /pgp contacts
+14:37:52 - /pgp setkey <contact> <keyid>
+14:37:52 - /pgp start [<contact>]
+14:37:52 - /pgp end
+14:37:52 - /pgp log on|off|redact
+14:37:52 - /pgp char <char>
+14:37:52 -
+14:37:52 - Description
+14:37:52 - Open PGP commands to manage keys, and perform PGP encryption during chat sessions. See the /account command to set your own PGP key.
+14:37:52 -
+14:37:52 - Arguments
+14:37:52 - libver                   : Show which version of the libgpgme library is being used.
+14:37:52 - keys                     : List all keys known to the system.
+14:37:52 - contacts                 : Show contacts with assigned public keys.
+14:37:52 - setkey <contact> <keyid> : Manually associate a contact with a public key.
+14:37:52 - start [<contact>]        : Start PGP encrypted chat, current contact will be used if not specified.
+14:37:52 - end                      : End PGP encrypted chat with the current recipient.
+14:37:52 - log on|off               : Enable or disable plaintext logging of PGP encrypted messages.
+14:37:52 - log redact               : Log PGP encrypted messages, but replace the contents with [redacted]. This is the default.
+14:37:52 - char <char>              : Set the character to be displayed next to PGP encrypted messages.
+```
+## OX
+We should implement the `/ox` command which can be used for XEP-0373 instead of
+XEP-0027.
+
+```
+/ox keys - List all public keys known to the system (gnupg's keyring)
+/ox contacts - Shows contacts with an assigned public key.
+```
+
+The `keys` command will list all public keys of gnupg's Keyring, independent if
+the key is in use for XMPP or not.
+
+In profanity we are going to implement the key lookup with a XMPP-URI as OpenPGP
+User-ID. An OpenPGP public key can only be used, if the owner of the public key
+created an User-ID with the XMPP-URI as Name. https://xmpp.org/extensions/xep-0373.html#openpgp-user-ids
+It's not required and possible to assign a contact to an public key.
+
+```
+sec   rsa3072 2020-05-01 [SC] [verfällt: 2022-05-01]
+      7FA1EB8644BAC07E7F18E7C9F121E6A6F3A0C7A5
+uid        [ ultimativ ] Doctor Snuggles <doctor.snuggles@domain.tld>
+uid        [ ultimativ ] xmpp:doctor.snuggles@domain.tld
+ssb   rsa3072 2020-05-01 [E] [verfällt: 2022-05-01]
+```
+
+The `contacts` command will show all contacts of the roster with a public key in
+the keyring, if there is a xmpp user-id within the public key.
+
+OX provides the elements: `<signcrypt/>`, `<sign/>` and `<crypt/>`. Profanity
+implements signcrypt, only.
+
+
+## Keys command
+The command `keys` is independent of the XEP. Should we move common commands
+(e.g. /pgp keys /ox keys) to /openpgp which will will be the function which are
+related to gnupg itself.
+
+## Appendix
+
+* https://xmpp.org/extensions/xep-0373.html - 0.4.0 (2018-07-30)
+
+