1man(1)                       Profanity XMPP client                      man(1)
2
3
4

NAME

6       Profanity - a simple console based XMPP chat client.
7

DESCRIPTION

9       This man page is intended to help you set up XEP-0374: OpenPGP for XMPP
10       Instant Messaging.  Also known as OX.
11
12       For details on usage see man profanity-ox or /help ox.
13
14       Profanity wants to give the user a maximum freedom in setting up  their
15       system.  So we won’t touch your GPG settings directly.  Which means you
16       will need to do some manual steps.  They are described here
17

Generate OpenPGP key materials

19       The first step is to create a OpenPGP key pair.  The key  pair  genera‐
20       tion will be done with the gpg command of GnuPG.
21
22              gpg --quick-generate-key xmpp:alice@domain.tld future-default default 3y
23
24       This  command  will  generated  a OpenPGP key with a UID xmpp:alice@do‐
25       main.tld.  The option  future-default  has  been  used  to  generate  a
26       ed25519/cv25519 key.  The key is set to expire in threeyears.
27
28       Replace  the  Jabber  ID  with your JID and do not forget the URI xmpp:
29       prefix.
30
31       Example output:
32
33              pub   ed25519 2021-09-21 [SC] [verfällt: 2024-09-20]
34                    583BAE703A801095B6B71A56BD801174B1A0B84A
35              uid                      xmpp:alice@domain.tld
36              sub   cv25519 2021-09-21 [E]
37

Export your public key

39       You need to export your public key so you can later upload  it  into  a
40       PEP node.  It’s just a way how your chat partners can retrieve the pub‐
41       lic key from you.  Use the command below to export public key:
42
43       Example command:
44
45              gpg --export \
46                --export-options export-minimal \
47                --export-filter 'keep-uid=uid =~ xmpp:alice@domain.tld' \
48                --export-filter 'drop-subkey=usage =~ a' \
49                583BAE703A801095B6B71A56BD801174B1A0B84A \
50                > /tmp/pep-key.gpg
51
52       The key will be exported to /tmp/pep-key.gpg.  You may  check  the  key
53       with the command below:
54
55       gpg --show-key --with-sig-list /tmp/pep-key.gpg
56
57       Keep  in mind: Public keys may have some information (signatures, name,
58       e-mail address).  Be careful which data will be exported.  The  export-
59       options  and  export-filter option of GnuPG will help you to filter the
60       data.
61

Publish your key

63       You can use profanity to publish your exported key  into  your  account
64       (PEP).  The /ox announce command will publish your key.
65
66              /ox announce /tmp/pep-key.gpg
67
68       The command will create two PEP node records to store the key.
69

Discover keys

71       To discover public keys of your partners use the /ox discover command.
72
73       Example output:
74
75              /ox discover buddy@domain.tld
76              Discovering Public Key for buddy@domain.tld
77              1234567890ABCDEF1234567890ABCDEF12345678
78
79       To request and import a key, you can use the /ox request command.
80
81              /ox request buddy@domain.tld 1234567890ABCDEF1234567890ABCDEF12345678
82              Requesting Public Key 1234567890ABCDEF1234567890ABCDEF12345678 for buddy@domain.tld
83              Public Key imported
84
85       The key will be imported into your gnupg keyring.
86

Sign the imported key

88       The key can been shown via gpg gpg -k xmpp:buddy@domain.tld.  Make sure
89       the key is the key of your buddy and sign the key with your key.
90
91              gpg --ask-cert-level --default-key 583BAE703A801095B6B71A56BD801174B1A0B84A --sign-key 1234567890ABCDEF1234567890ABCDEF12345678
92
93       The command /ox contacts will show the keys with XMPP-UID.  The command
94       /ox keys will show all known OpenPGP keys.
95
96       Only once you signed the key you can actually use OX with your partner.
97

Use OX

99       Within a chat window you can start OX via /ox start and stop it via /ox
100       end.
101
102       Messages will be send signed and encrypted.
103
104
105
1060.14.0                            2023-08-03                            man(1)
Impressum