Botan  2.12.1
Crypto and TLS for C++11
Namespaces | Macros | Functions
commoncrypto_hash.cpp File Reference
#include <botan/hash.h>
#include <botan/internal/commoncrypto.h>
#include <CommonCrypto/CommonCrypto.h>
#include <unordered_map>

Go to the source code of this file.

Namespaces

 Botan
 

Macros

#define MAKE_COMMONCRYPTO_HASH_1(id)   MAKE_COMMONCRYPTO_HASH_2(#id, id)
 
#define MAKE_COMMONCRYPTO_HASH_2(name, id)   MAKE_COMMONCRYPTO_HASH_3(name, id, id)
 
#define MAKE_COMMONCRYPTO_HASH_3(name, hash, ctx)
 

Functions

std::unique_ptr< HashFunction > Botan::make_commoncrypto_hash (const std::string &name)
 

Macro Definition Documentation

◆ MAKE_COMMONCRYPTO_HASH_1

#define MAKE_COMMONCRYPTO_HASH_1 (   id)    MAKE_COMMONCRYPTO_HASH_2(#id, id)

◆ MAKE_COMMONCRYPTO_HASH_2

#define MAKE_COMMONCRYPTO_HASH_2 (   name,
  id 
)    MAKE_COMMONCRYPTO_HASH_3(name, id, id)

◆ MAKE_COMMONCRYPTO_HASH_3

#define MAKE_COMMONCRYPTO_HASH_3 (   name,
  hash,
  ctx 
)
Value:
std::unique_ptr<HashFunction>( \
new CommonCrypto_HashFunction<CC_ ## ctx ## _CTX >({ \
name, \
CC_ ## hash ## _DIGEST_LENGTH, \
CC_ ## hash ## _BLOCK_BYTES, \
CC_ ## hash ## _Init, \
CC_ ## hash ## _Update, \
CC_ ## hash ## _Final \
}));
MechanismType hash

Referenced by Botan::make_commoncrypto_hash().

Variable Documentation

◆ blockSize

size_t blockSize

Definition at line 25 of file commoncrypto_hash.cpp.

◆ digestLength

size_t digestLength

Definition at line 24 of file commoncrypto_hash.cpp.

◆ final

int(* final) (unsigned char *, CTX *)

Definition at line 28 of file commoncrypto_hash.cpp.

Referenced by Botan::generate_dsa_primes().

◆ init

int(* init) (CTX *)

Definition at line 26 of file commoncrypto_hash.cpp.

Referenced by Botan::FE_25519::FE_25519().

◆ name

std::string name

Definition at line 23 of file commoncrypto_hash.cpp.

Referenced by Botan::Extensions::add(), Botan::OIDS::add_oid(), Botan::OIDS::add_oid2str(), Botan::OIDS::add_oidstr(), Botan::OIDS::add_str2oid(), botan_block_cipher_name(), botan_cipher_name(), botan_hash_name(), botan_mac_name(), Botan::TLS::Certificate_Req::Certificate_Req(), Botan::DL_Group::DL_group_info(), Botan::Entropy_Sources::enabled_sources(), Botan::TLS::Ciphersuite::from_name(), Botan::Encrypted_PSK_Database::get(), Botan::get_aead(), Botan::PSK_Database::get_str(), Botan::OIDS::have_oid(), Botan::ieee1363_hash_id(), Botan::OIDS::lookup(), Botan::make_commoncrypto_block_cipher(), Botan::make_commoncrypto_cipher_mode(), Botan::make_commoncrypto_hash(), Botan::make_compressor(), Botan::make_decompressor(), Botan::make_openssl_block_cipher(), Botan::make_openssl_cipher_mode(), Botan::make_openssl_hash(), Botan::X509_Certificate::matches_dns_name(), Botan::OIDS::name_of(), Botan::parse_algorithm_name(), Botan::DL_Group::PEM_for_named_group(), Botan::EC_Group::PEM_for_named_group(), Botan::pkcs_hash_id(), Botan::Entropy_Sources::poll_just(), Botan::OS::read_env_variable(), Botan::OS::read_env_variable_sz(), Botan::Encrypted_PSK_Database::remove(), Botan::SCAN_Name::SCAN_Name(), Botan::Encrypted_PSK_Database::set(), Botan::Keyed_Filter::set_iv(), Botan::PSK_Database::set_str(), Botan::PSK_Database::set_vec(), Botan::OIDS::str2oid(), Botan::OIDS::str2oid_or_empty(), and Botan::verify_cert_constraints_valid_for_key_type().

◆ update

int(* update) (CTX *, const void *, CC_LONG len)