If you're filing a bug (as opposed to a feature request), please try the
following things:

* Upgrade to the latest version of ``setuptools`` and ``pip``
* Make sure you're on a supported version of OpenSSL
* Try with the latest version of ``cryptography``

If none of that works, please make sure to include the following information in
your bug report:

* Versions of Python, ``cryptography``, ``cffi``, ``pip``, and ``setuptools``
  you're using
* How you installed ``cryptography``
* Clear steps for reproducing your bug
