Botan  2.10.0
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.

◆ init

int(* init) (CTX *)

◆ name

std::string name

Definition at line 23 of file commoncrypto_hash.cpp.

Referenced by Botan::AutoSeeded_RNG::accepts_input(), Botan::RandomNumberGenerator::add_entropy_T(), Botan::CCM_Mode::associated_data_requires_key(), Botan::BearSSL_Error::BearSSL_Error(), Botan::TLS::Certificate_Req::Certificate_Req(), Botan::Cipher_Mode_Filter::Cipher_Mode_Filter(), Botan::Streebog::clone(), Botan::DL_Group::DL_Group(), Botan::EMSA_Raw::EMSA_Raw(), Botan::Entropy_Sources::enabled_sources(), Botan::Encrypted_PSK_Database_SQL::Encrypted_PSK_Database_SQL(), Botan::CommonCrypto_Error::error_code(), Botan::OpenSSL_Error::error_code(), Botan::Stream_Decompression::finish(), Botan::PSK_Database::get_str(), Botan::HMAC_DRBG::HMAC_DRBG(), Botan::EC_Group::initialized(), Botan::Cascade_Cipher::key_spec(), Botan::BLAKE2b::output_length(), Botan::SHAKE_128::output_length(), Botan::Keccak_1600::output_length(), Botan::SHA_3::output_length(), Botan::Skein_512::output_length(), Botan::SHAKE_256::output_length(), Botan::parse_algorithm_name(), Botan::PBKDF2_Family::PBKDF2_Family(), Botan::Entropy_Sources::poll_just(), Botan::ASN1_Formatter::print_to_stream(), Botan::HashFunction::provider(), Botan::SCAN_Name::SCAN_Name(), Botan::SIV_Mode::set_associated_data(), Botan::SymmetricAlgorithm::set_key(), Botan::Fork::set_port(), Botan::PSK_Database::set_str(), Botan::PSK_Database::set_vec(), Botan::SipHash::SipHash(), Botan::OIDS::str2oid(), Botan::X509_Certificate::subject_public_key(), Botan::Cert_Extension::Certificate_Policies::validate(), Botan::verify_cert_constraints_valid_for_key_type(), and Botan::Chain::write().

◆ update

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