blob: 5a00395e0f4af252262bd4ddc63cc6b3e575152d [file] [log] [blame]
Alex Gaynor6d02e2d2013-09-30 10:37:22 -07001OpenSSL
2=======
3
Alex Gaynor0f7f7812013-09-30 10:52:36 -07004.. warning::
5
Paul Kehrer2c4873f2013-10-22 20:19:38 -05006 The OpenSSL API is not easy to use, small mistakes can lead to significant
Hynek Schlawack5cb03b22013-10-03 13:13:55 +02007 security vulnerabilities. We strongly recommend not using this directly,
Alex Gaynor0f7f7812013-09-30 10:52:36 -07008 and instead using one of the higher level APIs exposed by ``cryptography``.
9
10
Alex Gaynor6d02e2d2013-09-30 10:37:22 -070011These are `CFFI`_ bindings to the `OpenSSL`_ C library.
12
Donald Stufftce0d7812013-10-27 16:52:33 -040013.. data:: cryptography.hazmat.bindings.openssl.backend
Alex Gaynor6d02e2d2013-09-30 10:37:22 -070014
Paul Kehrer2c4873f2013-10-22 20:19:38 -050015 This is the exposed API for the OpenSSL bindings. It has two public
Alex Gaynor6d02e2d2013-09-30 10:37:22 -070016 attributes:
17
18 .. attribute:: ffi
19
20 This is a :class:`cffi.FFI` instance. It can be used to allocate and
21 otherwise manipulate OpenSSL structures.
22
23 .. attribute:: lib
24
25 This is a ``cffi`` library. It can be used to call OpenSSL functions,
26 and access constants.
27
28
29.. _`CFFI`: http://cffi.readthedocs.org/
30.. _`OpenSSL`: https://www.openssl.org/