APEL/SSMOverview
Jump to navigation
Jump to search
These notes are incomplete and will be updated. Please send suggestions and queries to apel-admins@mailtalk.ac.uk.
The Secure Stomp Messenger (SSM) is a python package designed to send arbitrary files using ActiveMQ and the STOMP protocol. Its key features are:
- It sends any files from a client to a server SSM
- It can use any broker configured to use STOMP
- Files are encrypted during transit using X509 certificates
- Files are sent sequentially - the next file is sent only when receipt of the previous file is confirmed
It is designed to have a simple interface:
Very simplified version
- The sending and receiving SSMs are configured to communicate using a specified topic.
- A file is written to the sending SSM's 'outgoing' directory (by some other process)
- The file disappears from outgoing directory.
- The file appears in receiving SSM's 'incoming' directory along with a second file containing the sending SSM's certificate DN.
Less simplified version
- The sending SSM:
- requests the receiving SSM's certificate
- takes files from a directory on its filesystem
- encrypts (using requested certificate) and signs (using own key) the files
- sends the encrypted files to a specified ActiveMQ topic.
- The receiving SSM:
- receives the message from the topic
- decrypts the message (using own key)
- retrieves the sender's certificate (from signature)
- stores the message and the sender's certificate DN (in separate files) in a directory on its filesystem.
Once the sending and receiving SSMs are configured and running correctly (this is not yet a trivial process), the details of this process are not important. If you are sending a message, put a file in the correct outgoing directory and it will disappear. It will promptly appear in the incoming directory of the receiving SSM.