blob: 241cc4d626d71cbd9d715956ae220429a0fa2482 [file] [log] [blame]
Alex Gaynor6d02e2d2013-09-30 10:37:22 -07001OpenSSL
2=======
3
Alex Gaynor0f7f7812013-09-30 10:52:36 -07004.. warning::
5
6 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
13.. data:: cryptography.bindings.openssl.api
14
15 This is the exposed API for the OpenSSL bindings. It has two public
16 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/