/mandos/trunk

To get this branch, use:
bzr branch http://bzr.recompile.se/loggerhead/mandos/trunk

« back to all changes in this revision

Viewing changes to network-protocol.txt

merge

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
The Mandos server announces itself as a Zeroconf service of type
 
2
"_mandos._tcp". The Mandos client sends a line of text where the first
 
3
whitespace-separated field is the protocol version, which currently is
 
4
"1".  The client and server then start a TLS protocol handshake with a
 
5
slight quirk: the Mandos server program acts as a TLS "client" while
 
6
the connecting Mandos client acts as a TLS "server".  The Mandos
 
7
client must supply an OpenPGP certificate, and the fingerprint of this
 
8
certificate is used by the Mandos server to look up (in a list read
 
9
from a file at start time) which binary blob to give the client.  No
 
10
other authentication or authorization is done by the server.
 
11
 
 
12
| Mandos server   |     | Mandos client                              |
 
13
|                 |     | <Connect>                                  |
 
14
|                 | <-  | "1\r\n"                                    |
 
15
| <TLS handshake> | <-> | <TLS handshake>                            |
 
16
|                 | <-  | OpenPGP public key (part of TLS handshake) |
 
17
| <Binary blob>   | ->  |                                            |
 
18
| <Close>         |     |                                            |