9#ifndef BOTAN_EAC_CVC_GEN_CERT_H__
10#define BOTAN_EAC_CVC_GEN_CERT_H__
12#include <botan/eac_obj.h>
13#include <botan/eac_asn_obj.h>
14#include <botan/ecdsa.h>
15#include <botan/pubkey.h>
22template<
typename Derived>
106template<
typename Derived>
122template<
typename Derived>
154 throw Invalid_Argument(
"EAC1_1_gen_CVC::encode() cannot PEM encode an EAC object");
159template<
typename Derived>
169 .raw_bytes(res_tbs_bits)
BER_Decoder(DataSource &)
DER_Encoder & start_cons(ASN1_Tag type_tag, ASN1_Tag class_tag=UNIVERSAL)
DER_Encoder & raw_bytes(const byte val[], size_t len)
SecureVector< byte > get_contents()
DER_Encoder & encode(bool b)
bool is_self_signed() const
void encode(Pipe &out, X509_Encoding encoding) const
static SecureVector< byte > build_cert_body(MemoryRegion< byte > const &tbs)
Public_Key * subject_public_key() const
SecureVector< byte > tbs_data() const
static void decode_info(DataSource &source, SecureVector< byte > &res_tbs_bits, ECDSA_Signature &res_sig)
static MemoryVector< byte > make_signed(PK_Signer &signer, const MemoryRegion< byte > &tbs_bits, RandomNumberGenerator &rng)
SecureVector< byte > tbs_bits
SecureVector< byte > sign_message(const byte in[], size_t length, RandomNumberGenerator &rng)
void write(const byte in[], size_t length)
std::invalid_argument Invalid_Argument
ECDSA_Signature decode_concatenation(const MemoryRegion< byte > &concat)