Botan 3.0.0
Crypto and TLS for C&
Public Member Functions | List of all members
Botan::Attribute Class Referencefinal

#include <pkix_types.h>

Inheritance diagram for Botan::Attribute:
Botan::ASN1_Object

Public Member Functions

 Attribute ()=default
 
 Attribute (const OID &oid, const std::vector< uint8_t > &params)
 
 Attribute (std::string_view oid_str, const std::vector< uint8_t > &params)
 
std::vector< uint8_t > BER_encode () const
 
void decode_from (BER_Decoder &from) override
 
void encode_into (DER_Encoder &to) const override
 
const std::vector< uint8_t > & get_parameters () const
 
const OIDobject_identifier () const
 
const OIDoid () const
 
const std::vector< uint8_t > & parameters () const
 

Detailed Description

Attribute

Definition at line 162 of file pkix_types.h.

Constructor & Destructor Documentation

◆ Attribute() [1/3]

Botan::Attribute::Attribute ( )
default

◆ Attribute() [2/3]

Botan::Attribute::Attribute ( const OID oid,
const std::vector< uint8_t > &  params 
)

Definition at line 17 of file x509_attribute.cpp.

17 :
18 m_oid(attr_oid),
19 m_parameters(attr_value)
20 {}

◆ Attribute() [3/3]

Botan::Attribute::Attribute ( std::string_view  oid_str,
const std::vector< uint8_t > &  params 
)

Definition at line 25 of file x509_attribute.cpp.

26 :
27 m_oid(OID::from_string(attr_oid)),
28 m_parameters(attr_value)
29 {}
static OID from_string(std::string_view str)
Definition: asn1_oid.cpp:78

Member Function Documentation

◆ BER_encode()

std::vector< uint8_t > Botan::ASN1_Object::BER_encode ( ) const
inherited

Return the encoding of this object. This is a convenience method when just one object needs to be serialized. Use DER_Encoder for complicated encodings.

Definition at line 17 of file asn1_obj.cpp.

18 {
19 std::vector<uint8_t> output;
20 DER_Encoder der(output);
21 this->encode_into(der);
22 return output;
23 }
virtual void encode_into(DER_Encoder &to) const =0

References Botan::ASN1_Object::encode_into().

Referenced by Botan::PSS_Params::decode_from(), Botan::Certificate_Store_In_SQL::find_all_certs(), Botan::Certificate_Store_In_SQL::find_cert(), Botan::X509_Certificate::fingerprint(), Botan::Certificate_Store_In_SQL::insert_cert(), Botan::X509_Object::PEM_encode(), and Botan::Certificate_Store_In_SQL::revoke_cert().

◆ decode_from()

void Botan::Attribute::decode_from ( BER_Decoder from)
overridevirtual

Decode whatever this object is from from

Parameters
fromthe BER_Decoder that will be read from

Implements Botan::ASN1_Object.

Definition at line 47 of file x509_attribute.cpp.

48 {
49 codec.start_sequence()
50 .decode(m_oid)
51 .start_set()
52 .raw_bytes(m_parameters)
53 .end_cons()
54 .end_cons();
55 }

References Botan::BER_Decoder::decode(), Botan::BER_Decoder::end_cons(), Botan::BER_Decoder::start_sequence(), and Botan::BER_Decoder::start_set().

◆ encode_into()

void Botan::Attribute::encode_into ( DER_Encoder to) const
overridevirtual

Encode whatever this object is into to

Parameters
tothe DER_Encoder that will be written to

Implements Botan::ASN1_Object.

Definition at line 34 of file x509_attribute.cpp.

35 {
36 codec.start_sequence()
37 .encode(m_oid)
38 .start_set()
39 .raw_bytes(m_parameters)
40 .end_cons()
41 .end_cons();
42 }

References Botan::DER_Encoder::encode(), Botan::DER_Encoder::end_cons(), Botan::DER_Encoder::raw_bytes(), Botan::DER_Encoder::start_sequence(), and Botan::DER_Encoder::start_set().

◆ get_parameters()

const std::vector< uint8_t > & Botan::Attribute::get_parameters ( ) const
inline

Definition at line 176 of file pkix_types.h.

176{ return m_parameters; }

◆ object_identifier()

const OID & Botan::Attribute::object_identifier ( ) const
inline

Definition at line 175 of file pkix_types.h.

175{ return m_oid; }

◆ oid()

const OID & Botan::Attribute::oid ( ) const
inline

Definition at line 172 of file pkix_types.h.

172{ return m_oid; }

◆ parameters()

const std::vector< uint8_t > & Botan::Attribute::parameters ( ) const
inline

Definition at line 173 of file pkix_types.h.

173{ return m_parameters; }

The documentation for this class was generated from the following files: