botan/2.19.4

Botan is a cryptography library written in modern C++.
Recipe info
2024-02-22

Available packages
Linux
Windows
macOS
macOS Apple Silicon

Install
Add the following line to your conanfile.txt:
[requires]
botan/2.19.4

Using botan

Note

If you are a new Conan user, we recommend reading the how to consume packages tutorial.

If you need additional assistance, please ask a question in the Conan Center Index repository.

Simplest use case consuming this recipe and assuming CMake as your local build tool:

[requires]
botan/2.19.4
[generators]
CMakeDeps
CMakeToolchain
[layout]
cmake_layout
from conan import ConanFile
from conan.tools.cmake import cmake_layout


class ExampleRecipe(ConanFile):
    settings = "os", "compiler", "build_type", "arch"
    generators = "CMakeDeps", "CMakeToolchain"

    def requirements(self):
        self.requires("botan/2.19.4")

    def layout(self):
        cmake_layout(self)

Now, you can run this Conan command to locally install (and build if necessary) this recipe and its dependencies (if any):

$ conan install conanfile.txt --build=missing

Useful information to take into account to consume this library:


These are the main declared targets:

  • CMake package name(s): botan
  • CMake target name(s): botan::botan
  • pkg-config file name(s): botan-2.pc

A simple use case using the CMake file name and the global target:

# ...
find_package(botan REQUIRED)
# ...
target_link_libraries(YOUR_TARGET botan::botan)

These are all the available headers. Some of these ones might be non-public; make sure of it by visiting the botan homepage listed above:

#include "botan/adler32.h"
#include "botan/aead.h"
#include "botan/aes.h"
#include "botan/alg_id.h"
#include "botan/argon2.h"
#include "botan/aria.h"
#include "botan/asn1_alt_name.h"
#include "botan/asn1_attribute.h"
#include "botan/asn1_obj.h"
#include "botan/asn1_oid.h"
#include "botan/asn1_print.h"
#include "botan/asn1_str.h"
#include "botan/asn1_time.h"
#include "botan/assert.h"
#include "botan/auto_rng.h"
#include "botan/b64_filt.h"
#include "botan/base32.h"
#include "botan/base58.h"
#include "botan/base64.h"
#include "botan/basefilt.h"
#include "botan/bcrypt.h"
#include "botan/bcrypt_pbkdf.h"
#include "botan/ber_dec.h"
#include "botan/bigint.h"
#include "botan/blake2b.h"
#include "botan/blinding.h"
#include "botan/block_cipher.h"
#include "botan/blowfish.h"
#include "botan/botan.h"
#include "botan/bswap.h"
#include "botan/buf_comp.h"
#include "botan/buf_filt.h"
#include "botan/build.h"
#include "botan/calendar.h"
#include "botan/camellia.h"
#include "botan/cascade.h"
#include "botan/cast128.h"
#include "botan/cast256.h"
#include "botan/cbc.h"
#include "botan/cbc_mac.h"
#include "botan/ccm.h"
#include "botan/cecpq1.h"
#include "botan/cert_status.h"
#include "botan/certstor.h"
#include "botan/certstor_flatfile.h"
#include "botan/certstor_sql.h"
#include "botan/certstor_system.h"
#include "botan/cfb.h"
#include "botan/chacha.h"
#include "botan/chacha20poly1305.h"
#include "botan/chacha_rng.h"
#include "botan/charset.h"
#include "botan/cipher_filter.h"
#include "botan/cipher_mode.h"
#include "botan/cmac.h"
#include "botan/comb4p.h"
#include "botan/comp_filter.h"
#include "botan/compiler.h"
#include "botan/cpuid.h"
#include "botan/crc24.h"
#include "botan/crc32.h"
#include "botan/credentials_manager.h"
#include "botan/crl_ent.h"
#include "botan/cryptobox.h"
#include "botan/ctr.h"
#include "botan/curve25519.h"
#include "botan/curve_gfp.h"
#include "botan/curve_nistp.h"
#include "botan/data_snk.h"
#include "botan/data_src.h"
#include "botan/database.h"
#include "botan/datastor.h"
#include "botan/der_enc.h"
#include "botan/des.h"
#include "botan/desx.h"
#include "botan/dh.h"
#include "botan/divide.h"
#include "botan/dl_algo.h"
#include "botan/dl_group.h"
#include "botan/dlies.h"
#include "botan/dsa.h"
#include "botan/dyn_load.h"
#include "botan/eax.h"
#include "botan/ec_group.h"
#include "botan/ecc_key.h"
#include "botan/ecdh.h"
#include "botan/ecdsa.h"
#include "botan/ecgdsa.h"
#include "botan/ecies.h"
#include "botan/eckcdsa.h"
#include "botan/ed25519.h"
#include "botan/elgamal.h"
#include "botan/eme.h"
#include "botan/eme_pkcs.h"
#include "botan/eme_raw.h"
#include "botan/emsa.h"
#include "botan/emsa1.h"
#include "botan/emsa_pkcs1.h"
#include "botan/emsa_raw.h"
#include "botan/emsa_x931.h"
#include "botan/entropy_src.h"
#include "botan/exceptn.h"
#include "botan/fd_unix.h"
#include "botan/ffi.h"
#include "botan/filter.h"
#include "botan/filters.h"
#include "botan/fpe_fe1.h"
#include "botan/gcm.h"
#include "botan/gf2m_small_m.h"
#include "botan/ghash.h"
#include "botan/gmac.h"
#include "botan/gost_28147.h"
#include "botan/gost_3410.h"
#include "botan/gost_3411.h"
#include "botan/hash.h"
#include "botan/hash_id.h"
#include "botan/hex.h"
#include "botan/hex_filt.h"
#include "botan/hkdf.h"
#include "botan/hmac.h"
#include "botan/hmac_drbg.h"
#include "botan/hotp.h"
#include "botan/http_util.h"
#include "botan/idea.h"
#include "botan/init.h"
#include "botan/iso9796.h"
#include "botan/kasumi.h"
#include "botan/kdf.h"
#include "botan/kdf1.h"
#include "botan/kdf1_iso18033.h"
#include "botan/kdf2.h"
#include "botan/keccak.h"
#include "botan/key_constraint.h"
#include "botan/key_filt.h"
#include "botan/key_spec.h"
#include "botan/keypair.h"
#include "botan/lion.h"
#include "botan/loadstor.h"
#include "botan/locking_allocator.h"
#include "botan/lookup.h"
#include "botan/mac.h"
#include "botan/mceies.h"
#include "botan/mceliece.h"
#include "botan/md4.h"
#include "botan/md5.h"
#include "botan/mdx_hash.h"
#include "botan/mem_ops.h"
#include "botan/mgf1.h"
#include "botan/misty1.h"
#include "botan/mode_pad.h"
#include "botan/monty.h"
#include "botan/mul128.h"
#include "botan/mutex.h"
#include "botan/name_constraint.h"
#include "botan/newhope.h"
#include "botan/nist_keywrap.h"
#include "botan/noekeon.h"
#include "botan/numthry.h"
#include "botan/oaep.h"
#include "botan/ocb.h"
#include "botan/ocsp.h"
#include "botan/ocsp_types.h"
#include "botan/ofb.h"
#include "botan/oids.h"
#include "botan/otp.h"
#include "botan/p11.h"
#include "botan/p11_ecc_key.h"
#include "botan/p11_ecdh.h"
#include "botan/p11_ecdsa.h"
#include "botan/p11_module.h"
#include "botan/p11_object.h"
#include "botan/p11_randomgenerator.h"
#include "botan/p11_rsa.h"
#include "botan/p11_session.h"
#include "botan/p11_slot.h"
#include "botan/p11_types.h"
#include "botan/p11_x509.h"
#include "botan/package.h"
#include "botan/par_hash.h"
#include "botan/parsing.h"
#include "botan/passhash9.h"
#include "botan/pbes2.h"
#include "botan/pbkdf.h"
#include "botan/pbkdf1.h"
#include "botan/pbkdf2.h"
#include "botan/pem.h"
#include "botan/pgp_s2k.h"
#include "botan/pipe.h"
#include "botan/pk_algs.h"
#include "botan/pk_keys.h"
#include "botan/pk_ops.h"
#include "botan/pk_ops_fwd.h"
#include "botan/pkcs10.h"
#include "botan/pkcs11.h"
#include "botan/pkcs11f.h"
#include "botan/pkcs11t.h"
#include "botan/pkcs8.h"
#include "botan/pkix_enums.h"
#include "botan/pkix_types.h"
#include "botan/point_gfp.h"
#include "botan/poly1305.h"
#include "botan/polyn_gf2m.h"
#include "botan/pow_mod.h"
#include "botan/prf_tls.h"
#include "botan/prf_x942.h"
#include "botan/processor_rng.h"
#include "botan/psk_db.h"
#include "botan/psk_db_sql.h"
#include "botan/pssr.h"
#include "botan/pubkey.h"
#include "botan/pwdhash.h"
#include "botan/rc4.h"
#include "botan/rdrand_rng.h"
#include "botan/reducer.h"
#include "botan/rfc3394.h"
#include "botan/rfc6979.h"
#include "botan/rmd160.h"
#include "botan/rng.h"
#include "botan/rotate.h"
#include "botan/roughtime.h"
#include "botan/rsa.h"
#include "botan/salsa20.h"
#include "botan/scan_name.h"
#include "botan/scrypt.h"
#include "botan/secmem.h"
#include "botan/secqueue.h"
#include "botan/seed.h"
#include "botan/serpent.h"
#include "botan/sha160.h"
#include "botan/sha2_32.h"
#include "botan/sha2_64.h"
#include "botan/sha3.h"
#include "botan/shacal2.h"
#include "botan/shake.h"
#include "botan/shake_cipher.h"
#include "botan/siphash.h"
#include "botan/siv.h"
#include "botan/skein_512.h"
#include "botan/sm2.h"
#include "botan/sm2_enc.h"
#include "botan/sm3.h"
#include "botan/sm4.h"
#include "botan/sodium.h"
#include "botan/sp800_108.h"
#include "botan/sp800_56a.h"
#include "botan/sp800_56c.h"
#include "botan/srp6.h"
#include "botan/stateful_rng.h"
#include "botan/stl_compatibility.h"
#include "botan/stream_cipher.h"
#include "botan/stream_mode.h"
#include "botan/streebog.h"
#include "botan/sym_algo.h"
#include "botan/symkey.h"
#include "botan/system_rng.h"
#include "botan/threefish.h"
#include "botan/threefish_512.h"
#include "botan/tiger.h"
#include "botan/tls_alert.h"
#include "botan/tls_algos.h"
#include "botan/tls_blocking.h"
#include "botan/tls_callbacks.h"
#include "botan/tls_channel.h"
#include "botan/tls_ciphersuite.h"
#include "botan/tls_client.h"
#include "botan/tls_exceptn.h"
#include "botan/tls_extensions.h"
#include "botan/tls_handshake_msg.h"
#include "botan/tls_magic.h"
#include "botan/tls_messages.h"
#include "botan/tls_policy.h"
#include "botan/tls_server.h"
#include "botan/tls_server_info.h"
#include "botan/tls_session.h"
#include "botan/tls_session_manager.h"
#include "botan/tls_session_manager_sql.h"
#include "botan/tls_version.h"
#include "botan/totp.h"
#include "botan/tss.h"
#include "botan/twofish.h"
#include "botan/types.h"
#include "botan/uuid.h"
#include "botan/version.h"
#include "botan/whrlpool.h"
#include "botan/workfactor.h"
#include "botan/x509_ca.h"
#include "botan/x509_crl.h"
#include "botan/x509_dn.h"
#include "botan/x509_ext.h"
#include "botan/x509_key.h"
#include "botan/x509_obj.h"
#include "botan/x509cert.h"
#include "botan/x509path.h"
#include "botan/x509self.h"
#include "botan/x919_mac.h"
#include "botan/xmss.h"
#include "botan/xmss_hash.h"
#include "botan/xmss_key_pair.h"
#include "botan/xmss_parameters.h"
#include "botan/xmss_privatekey.h"
#include "botan/xmss_publickey.h"
#include "botan/xmss_wots.h"
#include "botan/xmss_wots_parameters.h"
#include "botan/xmss_wots_privatekey.h"
#include "botan/xmss_wots_publickey.h"
#include "botan/xtea.h"
#include "botan/xts.h"
#include "botan/zfec.h"