Botan
1.11.15
|
Functions | |
bool | maybe_BER (DataSource &source) |
std::vector< byte > | put_in_sequence (const std::vector< byte > &contents) |
std::string | to_string (const BER_Object &obj) |
bool Botan::ASN1::maybe_BER | ( | DataSource & | src | ) |
Heuristics tests; is this object possibly BER?
src | a data source that will be peeked at but not modified |
Definition at line 55 of file asn1_obj.cpp.
References Botan::CONSTRUCTED, Botan::DataSource::peek_byte(), and Botan::SEQUENCE.
Referenced by Botan::X509::load_key().
{ byte first_byte; if(!source.peek_byte(first_byte)) throw Stream_IO_Error("ASN1::maybe_BER: Source was empty"); if(first_byte == (SEQUENCE | CONSTRUCTED)) return true; return false; }
std::vector< byte > Botan::ASN1::put_in_sequence | ( | const std::vector< byte > & | contents | ) |
Definition at line 34 of file asn1_obj.cpp.
References Botan::DER_Encoder::end_cons(), Botan::DER_Encoder::get_contents_unlocked(), Botan::DER_Encoder::raw_bytes(), Botan::SEQUENCE, and Botan::DER_Encoder::start_cons().
Referenced by Botan::X509_Certificate::subject_public_key(), and Botan::X509_Object::tbs_data().
{ return DER_Encoder() .start_cons(SEQUENCE) .raw_bytes(contents) .end_cons() .get_contents_unlocked(); }
std::string Botan::ASN1::to_string | ( | const BER_Object & | obj | ) |
Definition at line 46 of file asn1_obj.cpp.
References Botan::BER_Object::value.
Referenced by Botan::Data_Store::add(), Botan::TLS::Stream_Handshake_IO::add_record(), Botan::TLS::Alert::Alert(), Botan::SCAN_Name::arg(), Botan::EAC_Time::as_string(), Botan::OID::as_string(), Botan::ASN1_String::ASN1_String(), Botan::BER_Object::assert_is_a(), Botan::DL_Group::BER_decode(), Botan::CCM_Mode::CCM_Mode(), Botan::CFB_Mode::CFB_Mode(), Botan::check_passhash9(), Botan::PK_Verifier::check_signature(), Botan::TLS::Client_Key_Exchange::Client_Key_Exchange(), Botan::CMAC::CMAC(), Botan::TLS::Handshake_State::confirm_transition_to(), Botan::ASN1_String::decode_from(), Botan::X509_Time::decode_from(), Botan::AlternativeName::decode_from(), Botan::ASN1_EAC_String::decode_from(), Botan::DL_Group::DER_encode(), Botan::DL_Group::DL_Group(), Botan::EAX_Mode::EAX_Mode(), Botan::Blowfish::eks_key_schedule(), Botan::GCM_Mode::GCM_Mode(), Botan::generate_dsa_primes(), Botan::generate_passhash9(), Botan::gf2m_small_m::Gf2m_Field::Gf2m_Field(), Botan::TLS::Heartbeat_Support_Indicator::Heartbeat_Support_Indicator(), Botan::HTTP::http_sync(), Botan::ipv4_to_string(), Botan::Keccak_1600::Keccak_1600(), Botan::make_compressor(), Botan::TLS::Maximum_Fragment_Length::Maximum_Fragment_Length(), Botan::Tiger::name(), Botan::SipHash::name(), Botan::CFB_Mode::name(), Botan::RC5::name(), Botan::RC4::name(), Botan::SAFER_SK::name(), Botan::CCM_Mode::name(), Botan::Keccak_1600::name(), Botan::Skein_512::name(), Botan::Lion::name(), Botan::OCB_Mode::OCB_Mode(), Botan::HTTP::operator<<(), Botan::OS2ECP(), Botan::pbkdf2(), Botan::DL_Group::PEM_encode(), Botan::CMAC::poly_double(), Botan::random_prime(), Botan::random_safe_prime(), Botan::RC5::RC5(), Botan::read_cfg(), Botan::TLS::Channel::received_data(), Botan::OCSP::Response::Response(), Botan::RSA_PrivateKey::RSA_PrivateKey(), Botan::RW_PrivateKey::RW_PrivateKey(), Botan::TLS::Maximum_Fragment_Length::serialize(), Botan::TLS::Server_Key_Exchange::Server_Key_Exchange(), Botan::X509_Time::set_to(), Botan::DE_EAC::sign_request(), Botan::PK_Signer::signature(), Botan::srp6_group_identifier(), Botan::Tiger::Tiger(), Botan::Charset::transcode(), and Botan::TLS::Alert::type_string().
{
return std::string(reinterpret_cast<const char*>(&obj.value[0]),
obj.value.size());
}