21 void check_pem_format();
25 Pem(std::string pem_string);
38 return !(*
this == rhs);
46 inline const std::string&
str()
const
53 return reinterpret_cast<uint8_t*
>(s.data());
56 inline const uint8_t*
data()
const
58 return reinterpret_cast<const uint8_t*
>(s.data());
71 inline std::vector<uint8_t>
raw()
const
86 p =
Pem(j.get<std::string>());
88 else if (j.is_array())
90 p =
Pem(j.get<std::vector<uint8_t>>());
94 throw std::runtime_error(
95 fmt::format(
"Unable to parse pem from this JSON: {}", j.dump()));
105 const std::string_view& pem);
109 schema[
"type"] =
"string";
116 struct hash<
ccf::crypto::Pem>
120 return std::hash<std::string>()(pem.
str());
size_t size() const
Definition pem.h:61
bool empty() const
Definition pem.h:66
bool operator<(const Pem &rhs) const
Definition pem.h:41
bool operator!=(const Pem &rhs) const
Definition pem.h:36
Pem(const std::vector< uint8_t > &v)
Definition pem.h:29
const std::string & str() const
Definition pem.h:46
std::vector< uint8_t > raw() const
Definition pem.h:71
Pem(std::span< const uint8_t > s)
Definition pem.h:28
bool operator==(const Pem &rhs) const
Definition pem.h:31
uint8_t * data()
Definition pem.h:51
const uint8_t * data() const
Definition pem.h:56
void fill_json_schema(nlohmann::json &schema, const Pem *)
Definition pem.h:107
void to_json(nlohmann::json &j, const Pem &p)
Definition pem.h:77
std::vector< ccf::crypto::Pem > split_x509_cert_bundle(const std::string_view &pem)
Definition pem.cpp:37
std::string schema_name(const Pem *)
Definition pem.h:99
void from_json(const nlohmann::json &j, Pem &p)
Definition pem.h:82
Definition app_interface.h:14
size_t operator()(const ccf::crypto::Pem &pem) const
Definition pem.h:118