Skip to content

GitLab

  • Menu
Projects Groups Snippets
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in
  • Trac Trac
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Issues 246
    • Issues 246
    • List
    • Boards
    • Service Desk
    • Milestones
  • Monitor
    • Monitor
    • Metrics
    • Incidents
  • Analytics
    • Analytics
    • Value stream
  • Wiki
    • Wiki
  • Activity
  • Create a new issue
  • Issue Boards
Collapse sidebar
  • Legacy
  • TracTrac
  • Issues
  • #8353

Closed
Open
Created Feb 28, 2013 by Isis Lovecruft@isis

ooni: Add support for manual TLS/SSL handshakes to tls_handshake.py

The previous version of nettests/experimental/tls_handshake.py used Twisted/pyOpenSSL's do_handshake() method, which rather automagically handles handshaking without allowing any control or insight into the steps taken, which parameters (such as the client ciphersuite list, or which TLS/SSL context method) are set. Because of that, it is impossible to tell where or why a handshake fails, which would be incredibly useful information for helping to determine how Tor is being censored in any given place.

To implement this, we will need to manually handle stepping through OpenSSL's memory BIO state machine asynchronously...a quite non-trivial task.

I believe this is important, and the tls_handshake test is not nearly as useful as it could be without it.

To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information
Assignee
Assign to
Time tracking