Cryptography engines #
All the files in the root directory of Soter
– src/soter
–
are engine-independent.
Files that depend on the interface and implementation details of a particular cryptography engine
are placed into the corresponding subdirectory of Soter:
src/soter/openssl
for OpenSSL and LibreSSLsrc/soter/boringssl
for BoringSSL
The engine is selected during the build phase of Themis
by setting the ENGINE
variable in the Makefile.
The following values are supported:
openssl
(default option)libressl
boringssl
Check out the page on building and installing Themis to learn more.
Adding new cryptography engines #
To add support for the new crypto engine to Themis:
- write engine adapter with Soter interface
(see
src/soter/soter.h
) - put it into
${your_engine}
subdirectory in Soter’s root directory - add the following engine-selecting block to the Makefile:
ifeq ($(ENGINE),your_engine) CRYPTO_ENGINE_DEF = YOUR_ENGINE # C preprocessor definitions CRYPTO_ENGINE_PATH = your_engine # subdirectory name endif