blob: 14d62116b9faae0947a9a81a1491179593570974 [file] [log] [blame]
Alex Gaynor6d02e2d2013-09-30 10:37:22 -07001OpenSSL
2=======
3
Alex Gaynor0f7f7812013-09-30 10:52:36 -07004.. warning::
5
Paul Kehrerdb37d0e2013-10-22 20:13:06 -05006 The OpenSSL backend 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
Paul Kehrerdb37d0e2013-10-22 20:13:06 -050013.. data:: cryptography.bindings.openssl.backend
Alex Gaynor6d02e2d2013-09-30 10:37:22 -070014
Paul Kehrerdb37d0e2013-10-22 20:13:06 -050015 This is the exposed backend 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/