update upstream changelog
[monkeysphere-validation-agent.git] / msva.protocol.README
1 2010-01-05 18:21:59-0500
2 ------------------------
3
4 msva is the Monkeysphere Validation Agent.
5
6 Its goal is to simplify bindings between cryptographic tokens and the
7 real-world entities that humans actually care about.
8
9 In its current form, the validation agent is conceived of as a
10 minimalistic HTTP server that accepts two different requests:
11
12 GET /  -- initial contact query, protocol version compatibility.
13   (no query parameters)
14   (returns: protoversion, server, available)
15
16 POST /reviewcert  -- request validation of a certificate
17  (required query parameters: uid, context, pkc)
18  (optional query parameters: keyserverpolicy)
19  (returns: valid, message)
20
21 Query parameters are posted as a JSON blob (*not* as
22 www-form-encoded).
23
24 The variables that are returned are application/json as well.
25
26 (PKC means: public key carrier: raw key, OpenPGP cert, or X.509 cert)
27 (UID means: User ID (similar to OpenPGP))
28 (context means: (this is too vague right now) something like "this certificate was used to try to identify an HTTPS server")
29 (keyserverpolicy is optional; it states an advisory preference for how/whether the agent should contact the keyserver network for information about the key.  The options are `always`, `never`, and `unlessvalid` (see the `msva-perl(1)` man page section about the `KEYSERVER_POLICY` environment variable for more details). Be aware that the agent may disregard, override, or simply not implement this preference.)
30
31 Full details on the Monkeysphere Validation Agent protocol should be
32 available at http://web.monkeysphere.info/validation-agent/protocol
33
34 Authors: Daniel Kahn Gillmor <dkg@fifthhorseman.net>
35          Matthew James Goins
36          Jameson Rollins <jrollins@finestructure.net>