1.1 --- a/README.txt Wed Jul 10 18:46:28 2013 +0200
1.2 +++ b/README.txt Sun Jul 14 00:32:33 2013 +0200
1.3 @@ -3,7 +3,7 @@
1.4
1.5 MoinMessage provides a library for creating, signing, encrypting, decrypting,
1.6 and verifying PGP/GPG content in Python along with mechanisms for updating
1.7 -MoinMoin Wiki instances with such content such that contributors can be
1.8 +MoinMoin wiki instances with such content such that contributors can be
1.9 identified from their PGP signatures and such details used to authenticate
1.10 their contributions.
1.11
1.12 @@ -15,7 +15,7 @@
1.13
1.14 ./scripts/init_wiki_keyring.sh WIKI WEBUSER
1.15
1.16 -Here, WIKI should be replaced by the top-level Wiki instance directory, and
1.17 +Here, WIKI should be replaced by the top-level wiki instance directory, and
1.18 WEBUSER should be the name of the user under which the Web server operates.
1.19
1.20 Note that this script may need re-running after the homedir has been changed
1.21 @@ -28,7 +28,7 @@
1.22
1.23 gpg --list-keys --with-fingerprint
1.24
1.25 -The full fingerprints are used when defining a user mapping in the Wiki, and
1.26 +The full fingerprints are used when defining a user mapping in the wiki, and
1.27 the --with-fingerprint option is used to show them. Otherwise, only the last
1.28 eight characters of the fingerprints are shown.
1.29
1.30 @@ -36,19 +36,19 @@
1.31
1.32 gpg --armor --output 1C1AAF83.asc --export 1C1AAF83
1.33
1.34 -Import the key into the Wiki's GPG homedir:
1.35 +Import the key into the wiki's GPG homedir:
1.36
1.37 gpg --homedir wiki/gnupg --import 1C1AAF83.asc
1.38
1.39 -For the Wiki to receive encrypted data, a key for the Wiki must be created:
1.40 +For the wiki to receive encrypted data, a key for the wiki must be created:
1.41
1.42 gpg --homedir wiki/gnupg --gen-key
1.43
1.44 -For the Wiki environment to be able to use the key, password access must be
1.45 +For the wiki environment to be able to use the key, password access must be
1.46 disabled. This can be done by either not specifying a password or by removing
1.47 it later using the --edit-key option.
1.48
1.49 -Export the Wiki's key for encrypting messages sent to the Wiki:
1.50 +Export the wiki's key for encrypting messages sent to the wiki:
1.51
1.52 gpg --homedir wiki/gnupg --armor --output 0891463A.asc --export 0891463A
1.53
1.54 @@ -59,7 +59,7 @@
1.55 Configuring the Wiki
1.56 --------------------
1.57
1.58 -In the Wiki configuration, define the following settings:
1.59 +In the wiki configuration, define the following settings:
1.60
1.61 moinmessage_gpg_homedir
1.62 This sets the path to the homedir initialised above.
1.63 @@ -77,7 +77,7 @@
1.64 site root.
1.65
1.66 moinmessage_reject_messages_without_dates (optional, default is True)
1.67 - This causes messages sent to a Wiki using the PostMessage action to be
1.68 + This causes messages sent to a wiki using the PostMessage action to be
1.69 rejected if date information is missing.
1.70
1.71 moinmessage_static_files (optional, may refer to the built-in htdocs directory)
1.72 @@ -99,14 +99,14 @@
1.73 auth = [MoinAuth(), PGPAuth()]
1.74
1.75 This would permit the traditional Moin authentication and add signature-based
1.76 -authentication so that messages can be accepted by the Wiki.
1.77 +authentication so that messages can be accepted by the wiki.
1.78
1.79 Fingerprints and Keys
1.80 ---------------------
1.81
1.82 All fingerprints mentioned in the various configuration pages must exclude
1.83 space characters - that is, the letters and digits must appear together in a
1.84 -continuous block of text - and refer to keys available in the Wiki homedir.
1.85 +continuous block of text - and refer to keys available in the wiki homedir.
1.86
1.87 The Fingerprint-to-Username Mapping
1.88 -----------------------------------
1.89 @@ -117,9 +117,9 @@
1.90 fingerprint:: username
1.91
1.92 Each fingerprint corresponds to a key used by a person wanting to send
1.93 -messages to the Wiki to sign such messages.
1.94 +messages to the wiki to sign such messages.
1.95
1.96 -Each username must correspond to a registered user in the Wiki.
1.97 +Each username must correspond to a registered user in the wiki.
1.98
1.99 The Username-to-Signing Key Mapping
1.100 -----------------------------------
1.101 @@ -130,10 +130,12 @@
1.102
1.103 username:: fingerprint
1.104
1.105 -Each fingerprint corresponds to a key available in the Wiki's GPG homedir
1.106 +Each fingerprint corresponds to a key available in the wiki's GPG homedir
1.107 generated for the purpose of signing the specified user's messages. Such a key
1.108 -is not the same as one used by a person to send messages to the Wiki since
1.109 -only the public key used to verify such messages should be known to the Wiki.
1.110 +is not the same as one used by a person to send messages to the wiki since
1.111 +only the public key is available to the wiki when verifying such messages,
1.112 +whereas the signing of messages requires access to a private key. Thus, the
1.113 +signing process employs a special private key known to the wiki for a user.
1.114
1.115 The Recipients Mapping
1.116 ----------------------
1.117 @@ -153,7 +155,7 @@
1.118 Where a type of "url" has been given, a fingerprint must accompany this
1.119 information in order to encrypt messages sent to the specified resource.
1.120
1.121 -Each fingerprint corresponds to a key used by the Wiki to encrypt messages and
1.122 +Each fingerprint corresponds to a key used by the wiki to encrypt messages and
1.123 by the remote site (as identified by the URL) to decrypt messages.
1.124
1.125 Quick Start: Signing, Encrypting and Sending Messages
1.126 @@ -162,11 +164,11 @@
1.127 To send a message signed and encrypted to a resource on localhost:
1.128
1.129 python tests/test_send.py 1C1AAF83 0891463A http://localhost/wiki/ShareTest \
1.130 - collection update 'An update to the Wiki.' 'Another update.'
1.131 + collection update 'An update to the wiki.' 'Another update.'
1.132
1.133 Here, the first identifier is a reference to the signing key (over which you
1.134 have complete control), and the second identifier is a reference to the
1.135 -encryption key (which is a public key published for the Wiki).
1.136 +encryption key (which is a public key published for the wiki).
1.137
1.138 This needs password protection to be removed from the secret key in the Web
1.139 server environment. It also uses a modified trust model when invoking gpg in
1.140 @@ -176,7 +178,7 @@
1.141
1.142 python tests/test_send.py 1C1AAF83 0891463A --forward 1C1AAF83 \
1.143 http://localhost/wiki/ShareTest \
1.144 - collection update 'An update to the Wiki.' 'Another update.'
1.145 + collection update 'An update to the wiki.' 'Another update.'
1.146
1.147 Below, the mechanisms employed are illustrated through the use of the other
1.148 test programs.
1.149 @@ -187,13 +189,13 @@
1.150 Prepare a message signed with a "detached signature" (note that this does not
1.151 seem to be what gpg calls a detached signature with the --detach-sig option):
1.152
1.153 - python tests/test_message.py collection update 'An update to the Wiki.' \
1.154 + python tests/test_message.py collection update 'An update to the wiki.' \
1.155 'Another update.' \
1.156 | python tests/test_sign.py 1C1AAF83
1.157
1.158 The complicated recipe based on the individual operations is as follows:
1.159
1.160 - python tests/test_message.py collection update 'An update to the Wiki.' \
1.161 + python tests/test_message.py collection update 'An update to the wiki.' \
1.162 'Another update.' \
1.163 > test.txt \
1.164 && cat test.txt \
1.165 @@ -205,13 +207,13 @@
1.166
1.167 Prepare a message with an encrypted payload using the above key:
1.168
1.169 - python tests/test_message.py collection update 'An update to the Wiki.' \
1.170 + python tests/test_message.py collection update 'An update to the wiki.' \
1.171 'Another update.' \
1.172 | python tests/test_encrypt.py 0891463A
1.173
1.174 The complicated recipe based on the individual operations is as follows:
1.175
1.176 - python tests/test_message.py collection update 'An update to the Wiki.' \
1.177 + python tests/test_message.py collection update 'An update to the wiki.' \
1.178 'Another update.' \
1.179 > test.txt \
1.180 && cat test.txt \
1.181 @@ -225,14 +227,14 @@
1.182
1.183 Sign and encrypt a message:
1.184
1.185 - python tests/test_message.py collection update 'An update to the Wiki.' \
1.186 + python tests/test_message.py collection update 'An update to the wiki.' \
1.187 'Another update.' \
1.188 | python tests/test_sign.py 1C1AAF83 \
1.189 | python tests/test_encrypt.py 0891463A
1.190
1.191 The complicated recipe based on the individual operations is as follows:
1.192
1.193 - python tests/test_message.py collection update 'An update to the Wiki.' \
1.194 + python tests/test_message.py collection update 'An update to the wiki.' \
1.195 'Another update.' \
1.196 > test.txt \
1.197 && cat test.txt \
1.198 @@ -248,7 +250,7 @@
1.199 author, encrypted, but then signed by the forwarder (perhaps initially the
1.200 author):
1.201
1.202 - python tests/test_message.py collection update 'An update to the Wiki.' \
1.203 + python tests/test_message.py collection update 'An update to the wiki.' \
1.204 'Another update.' \
1.205 | python tests/test_sign.py 1C1AAF83 \
1.206 | python tests/test_encrypt.py 0891463A \
1.207 @@ -256,7 +258,7 @@
1.208
1.209 The complicated recipe based on the individual operations is as follows:
1.210
1.211 - python tests/test_message.py collection update 'An update to the Wiki.' \
1.212 + python tests/test_message.py collection update 'An update to the wiki.' \
1.213 'Another update.' \
1.214 > test.txt \
1.215 && cat test.txt \
1.216 @@ -302,9 +304,9 @@
1.217
1.218 For each update, the "Update-Action" header indicates the action to be taken
1.219 with the update content. Where it is absent, the content is inserted into the
1.220 -Wiki page specified in the request; where it is present and set to "replace",
1.221 -the content replaces all content on the Wiki page; where it is set to "store",
1.222 -the content is stored in a message store associated with the Wiki page.
1.223 +wiki page specified in the request; where it is present and set to "replace",
1.224 +the content replaces all content on the wiki page; where it is set to "store",
1.225 +the content is stored in a message store associated with the wiki page.
1.226
1.227 Each update may describe multiple representations of some content by employing
1.228 a multipart/alternative section containing parts for each of the