21 void check_pem_format();
25 Pem(std::string pem_string);
38 return !(*
this == rhs);
46 [[nodiscard]]
const std::string&
str()
const
53 return reinterpret_cast<uint8_t*
>(s.data());
56 [[nodiscard]]
const uint8_t*
data()
const
58 return reinterpret_cast<const uint8_t*
>(s.data());
61 [[nodiscard]]
size_t size()
const
66 [[nodiscard]]
bool empty()
const
71 [[nodiscard]] 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);
108 nlohmann::json& schema, [[maybe_unused]]
const Pem* pem)
110 schema[
"type"] =
"string";
117 struct hash<
ccf::crypto::Pem>
121 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 *pem)
Definition pem.h:107
std::string schema_name(const Pem *pem)
Definition pem.h:99
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
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:119