blob: 4e8efc1d1928519ddfee63b2dcbb3c0f83cf06ed [file] [log] [blame]
Alex Stapletonc5fffd32014-03-18 15:29:00 +00001Frequently asked questions
Alex Gaynorde06b292014-02-18 16:40:09 -08002==========================
3
Alex Gaynor59a6bc62014-02-18 18:13:48 -08004How does ``cryptography`` compare to NaCl (Networking and Cryptography Library)?
Alex Gaynorde06b292014-02-18 16:40:09 -08005--------------------------------------------------------------------------------
6
7While ``cryptography`` and `NaCl`_ both share the goal of making cryptography
8easier, and safer, to use for developers, ``cryptography`` is designed to be a
Alex Gaynorc37adab2014-02-18 16:46:58 -08009general purpose library, interoperable with existing systems, while NaCl
10features a collection of hand selected algorithms.
Alex Gaynorde06b292014-02-18 16:40:09 -080011
Alex Gaynor5809d482014-02-19 13:33:18 -080012``cryptography``'s :ref:`recipes <cryptography-layout>` layer has similar goals
13to NaCl.
Alex Gaynorde06b292014-02-18 16:40:09 -080014
15If you prefer NaCl's design, we highly recommend `PyNaCl`_.
16
Paul Kehrerc23d5762014-05-08 12:41:45 -050017When I try to use ``cryptography`` on Windows I get a ``cffi.ffiplatform.VerificationError``
18--------------------------------------------------------------------------------------------
19
20This error looks something like:
21
22.. code-block:: console
23
24 cffi.ffiplatform.VerificationError: importing '<some_path>.pyd': DLL load failed:
25
Paul Kehrer1548a542014-05-08 12:44:37 -050026It typically occurs on Windows when you have not installed OpenSSL. Download
Paul Kehrerf7c139c2014-05-20 08:32:00 -050027a `pre-compiled binary`_ to resolve the issue. To select the right architecture
28(32-bit or 64-bit) open a command prompt and start your Python interpreter.
29
30If it is 32-bit it will say ``32 bit`` as well as ``Intel`` in the output:
31
32.. code-block:: console
33
34 Python 2.7.6 (default, Nov 10 2013, 19:24:18) [MSC v.1500 32 bit (Intel)] on win32
35
36If it is 64-bit you will see ``64 bit`` as well as ``AMD64``:
37
38.. code-block:: console
39
40 Python 2.7.6 (default, Nov 10 2013, 19:24:24) [MSC v.1500 64 bit (AMD64)] on win32
41
42Note that for both 32-bit and 64-bit it will say ``win32``, but other data
43in the string may vary based on your version of Python.
Paul Kehrerc23d5762014-05-08 12:41:45 -050044
Alex Gaynorde06b292014-02-18 16:40:09 -080045.. _`NaCl`: http://nacl.cr.yp.to/
46.. _`PyNaCl`: https://pynacl.readthedocs.org
Paul Kehrerc23d5762014-05-08 12:41:45 -050047.. _`pre-compiled binary`: https://www.openssl.org/related/binaries.html