Tutorial 2009-12-27


Required modules

  • SPADE (included);
  • Tkinter;
  • python-dns.


cedric@debian:~/pyChatter/source/spade$ python configure.py spade_platform_address


Launch the SPADE platform:

cedric@debian:~/pyChatter/source/spade$ python runspade.py &
cedric@debian:~/pyChatter/source$ python authenticationAgent.py &

The authentication agent is in charge of serving requests of clients
  • manage the XML file of known client agents;
  • provides informations (ontology, public key) to a client about an other client.

And the clients:

cedric@debian:~/pyChatter/source$ python2.5 simpleGui.py --name Bob --ontology ontoBob &
cedric@debian:~/pyChatter/source$ python2.5 simpleGui.py --name Alice --ontology ontoAlice

Later these parameters will be settable thanks to the user interface.

Screen shots

Registration to the authentication agent

This step is necessary to be able to send and receive encrypted messages.
In fact each client has two pairs of RSA keys (public and private) and has a proper ontology.
This step consist (for example for Bob) of sendig the public RSA pair and the ontology to the authentication agent.
Thereafter, the authentication agent can provide these informations to Alice.


Adding a contact

This step consist of retrieving the public RSA pair and the ontology of the selected client. The client ask for these informations to the authentication agent wich keeps up-to-date an XML file containing informations (public keys and ontology) about registered clients.


On the picture above Alice will accept the message from Bob. Since Bob has registered himself to the authentication agent, Alice is able to retrieve the RSA public key and ontology of Bob.

Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-NonCommercial-ShareAlike 3.0 License