Botan
1.11.15
|
#include <eac_asn_obj.h>
Public Member Functions | |
ASN1_Chr (std::string const &str="") | |
void | decode_from (class BER_Decoder &) |
void | encode_into (class DER_Encoder &) const |
std::string | iso_8859 () const |
ASN1_Tag | tagging () const |
std::string | value () const |
Protected Member Functions | |
bool | sanity_check () const |
This class represents CHRs of CVCs (tag 32)
Definition at line 211 of file eac_asn_obj.h.
Botan::ASN1_Chr::ASN1_Chr | ( | std::string const & | str = "" | ) |
Create a CHR with the specified content.
str | the CHR value |
Definition at line 123 of file asn1_eac_str.cpp.
: ASN1_EAC_String(str, ASN1_Tag(32)) {}
void Botan::ASN1_EAC_String::decode_from | ( | class BER_Decoder & | from | ) | [virtual, inherited] |
Decode whatever this object is from from
from | the BER_Decoder that will be read from |
Implements Botan::ASN1_Object.
Definition at line 66 of file asn1_eac_str.cpp.
References Botan::ASN1_EAC_String::ASN1_EAC_String(), Botan::BER_Decoder::get_next_object(), Botan::LATIN1_CHARSET, Botan::LOCAL_CHARSET, Botan::ASN1::to_string(), Botan::Charset::transcode(), and Botan::BER_Object::type_tag.
{ BER_Object obj = source.get_next_object(); if(obj.type_tag != this->tag) { std::stringstream ss; ss << "ASN1_EAC_String tag mismatch, tag was " << std::hex << obj.type_tag << " expected " << std::hex << this->tag; throw Decoding_Error(ss.str()); } Character_Set charset_is; charset_is = LATIN1_CHARSET; try { *this = ASN1_EAC_String( Charset::transcode(ASN1::to_string(obj), charset_is, LOCAL_CHARSET), obj.type_tag); } catch(Invalid_Argument& inv_arg) { throw Decoding_Error(std::string("ASN1_EAC_String decoding failed: ") + inv_arg.what()); } }
void Botan::ASN1_EAC_String::encode_into | ( | class DER_Encoder & | to | ) | const [virtual, inherited] |
Encode whatever this object is into to
to | the DER_Encoder that will be written to |
Implements Botan::ASN1_Object.
Definition at line 57 of file asn1_eac_str.cpp.
References Botan::DER_Encoder::add_object(), Botan::APPLICATION, Botan::ASN1_EAC_String::iso_8859(), Botan::ASN1_EAC_String::tagging(), and Botan::ASN1_EAC_String::value().
{ std::string value = iso_8859(); encoder.add_object(tagging(), APPLICATION, value); }
std::string Botan::ASN1_EAC_String::iso_8859 | ( | ) | const [inherited] |
Get this objects string value.
Definition at line 33 of file asn1_eac_str.cpp.
Referenced by Botan::ASN1_EAC_String::encode_into(), Botan::operator==(), and Botan::DE_EAC::sign_request().
{
return iso_8859_str;
}
bool Botan::ASN1_EAC_String::sanity_check | ( | ) | const [protected, inherited] |
Definition at line 100 of file asn1_eac_str.cpp.
Referenced by Botan::ASN1_EAC_String::ASN1_EAC_String().
ASN1_Tag Botan::ASN1_EAC_String::tagging | ( | ) | const [inherited] |
Definition at line 49 of file asn1_eac_str.cpp.
Referenced by Botan::ASN1_EAC_String::encode_into().
{
return tag;
}
std::string Botan::ASN1_EAC_String::value | ( | ) | const [inherited] |
Get this objects string value.
Definition at line 41 of file asn1_eac_str.cpp.
References Botan::LATIN1_CHARSET, Botan::LOCAL_CHARSET, and Botan::Charset::transcode().
Referenced by Botan::CVC_EAC::create_self_signed_cert(), Botan::ASN1_EAC_String::encode_into(), and Botan::DE_EAC::sign_request().
{ return Charset::transcode(iso_8859_str, LATIN1_CHARSET, LOCAL_CHARSET); }