Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  • All of the SSL encryption possibilities have some use and all could be used to authenticate the server for the client to avoid "man-in-the-middle" attacks.
  • The right 2 columns correspond to an encrypted connection
  • The bottom 2 rows correspond to an authenticated connection

Current State of Code

A substantial portion of this work is complete and ready to be included for the 0.9 Proton release (subject to API and code review of course). The items of work that will remain to be completed for 0.10 are:

  •  Tie the SSL code into the more unified transport API:
    The current code base has no changes in the SSL code for these changes.
  •  Consequently, pn_transport_require_encryption() is not implemented.
  •  Using SASL for encryption is currently not implemented.
  •  Example code. 
  •  An implementation of the PLAIN SASL mechanism that can be used when Cyrus SASL is not available.
    This will involve some application interaction as the application will have to authenticate the user, password combination itself and signal to proton whether the incoming connection is authenticated or not.
    The likely mechanism will be to send a transport event and for the application to use pn_sasl_done() to signal the outcome.

...