Botan
1.10.9
|
#include <cms_enc.h>
Public Member Functions | |
void | authenticate (const X509_Certificate &, const std::string &="") |
void | authenticate (const std::string &, const std::string &="") |
void | authenticate (const SymmetricKey &, const std::string &="") |
CMS_Encoder (const std::string &str) | |
CMS_Encoder (const byte buf[], size_t length) | |
void | compress (const std::string &) |
void | digest (const std::string &="") |
void | encrypt (RandomNumberGenerator &, const X509_Certificate &, const std::string="") |
void | encrypt (RandomNumberGenerator &rng, const std::string &, const std::string &="") |
void | encrypt (RandomNumberGenerator &rng, const SymmetricKey &, const std::string &="") |
SecureVector< byte > | get_contents () |
std::string | PEM_contents () |
void | set_data (const std::string &) |
void | set_data (const byte[], size_t) |
void | sign (const X509_Certificate &cert, const Private_Key &key, RandomNumberGenerator &rng, const std::vector< X509_Certificate > &cert_chain, const std::string &hash, const std::string &padding) |
Static Public Member Functions | |
static bool | can_compress_with (const std::string &) |
|
inline |
|
inline |
void Botan::CMS_Encoder::authenticate | ( | const X509_Certificate & | , |
const std::string & | mac_algo = "" |
||
) |
void Botan::CMS_Encoder::authenticate | ( | const std::string & | , |
const std::string & | mac_algo = "" |
||
) |
void Botan::CMS_Encoder::authenticate | ( | const SymmetricKey & | , |
const std::string & | mac_algo = "" |
||
) |
|
static |
Definition at line 56 of file cms_comp.cpp.
Referenced by compress().
void Botan::CMS_Encoder::compress | ( | const std::string & | algo | ) |
Definition at line 24 of file cms_comp.cpp.
References can_compress_with(), Botan::PEM_Code::encode(), Botan::Pipe::process_msg(), Botan::Pipe::read_all(), Botan::SEQUENCE, and Botan::DER_Encoder::start_cons().
void Botan::CMS_Encoder::digest | ( | const std::string & | user_hash = "" | ) |
Definition at line 344 of file cms_ealg.cpp.
References Botan::DER_Encoder::encode(), Botan::DER_Encoder::end_cons(), Botan::OIDS::have_oid(), Botan::OIDS::lookup(), Botan::OCTET_STRING, Botan::DER_Encoder::raw_bytes(), Botan::SEQUENCE, Botan::DER_Encoder::start_cons(), and Botan::AlgorithmIdentifier::USE_NULL_PARAM.
void Botan::CMS_Encoder::encrypt | ( | RandomNumberGenerator & | rng, |
const X509_Certificate & | to, | ||
const std::string | user_cipher = "" |
||
) |
Definition at line 93 of file cms_ealg.cpp.
References Botan::X509_Certificate::constraints(), Botan::KEY_AGREEMENT, Botan::KEY_ENCIPHERMENT, Botan::NO_CONSTRAINTS, and Botan::X509_Certificate::subject_public_key().
void Botan::CMS_Encoder::encrypt | ( | RandomNumberGenerator & | rng, |
const std::string & | , | ||
const std::string & | user_cipher = "" |
||
) |
Definition at line 225 of file cms_ealg.cpp.
void Botan::CMS_Encoder::encrypt | ( | RandomNumberGenerator & | rng, |
const SymmetricKey & | kek, | ||
const std::string & | user_cipher = "" |
||
) |
Definition at line 192 of file cms_ealg.cpp.
References Botan::DER_Encoder::encode(), Botan::DER_Encoder::end_cons(), Botan::OIDS::lookup(), Botan::OCTET_STRING, Botan::DER_Encoder::raw_bytes(), Botan::SEQUENCE, Botan::DER_Encoder::start_cons(), Botan::DER_Encoder::start_explicit(), and Botan::AlgorithmIdentifier::USE_NULL_PARAM.
SecureVector< byte > Botan::CMS_Encoder::get_contents | ( | ) |
Definition at line 39 of file cms_enc.cpp.
References Botan::MemoryRegion< T >::clear(), Botan::PEM_Code::encode(), Botan::DER_Encoder::get_contents(), Botan::OIDS::lookup(), Botan::SEQUENCE, and Botan::DER_Encoder::start_cons().
Referenced by PEM_contents().
std::string Botan::CMS_Encoder::PEM_contents | ( | ) |
Definition at line 67 of file cms_enc.cpp.
References Botan::PEM_Code::encode(), and get_contents().
void Botan::CMS_Encoder::set_data | ( | const std::string & | str | ) |
Definition at line 31 of file cms_enc.cpp.
void Botan::CMS_Encoder::set_data | ( | const byte | buf[], |
size_t | length | ||
) |
Definition at line 18 of file cms_enc.cpp.
References Botan::copy_mem(), Botan::MemoryRegion< T >::empty(), and Botan::MemoryRegion< T >::resize().
void Botan::CMS_Encoder::sign | ( | const X509_Certificate & | cert, |
const Private_Key & | key, | ||
RandomNumberGenerator & | rng, | ||
const std::vector< X509_Certificate > & | cert_chain, | ||
const std::string & | hash, | ||
const std::string & | padding | ||
) |
Definition at line 284 of file cms_ealg.cpp.
References Botan::Public_Key::algo_name(), Botan::X509_Object::BER_encode(), Botan::CONTEXT_SPECIFIC, Botan::DER_Encoder::encode(), Botan::DER_Encoder::end_cons(), Botan::IEEE_1363, Botan::OIDS::lookup(), Botan::OCTET_STRING, Botan::DER_Encoder::raw_bytes(), Botan::SEQUENCE, Botan::SET, Botan::PK_Signer::signature(), Botan::MemoryRegion< T >::size(), Botan::DER_Encoder::start_cons(), Botan::X509_Certificate::subject_key_id(), Botan::PK_Signer::update(), and Botan::AlgorithmIdentifier::USE_NULL_PARAM.