Vanetza
Loading...
Searching...
No Matches
persistence.cpp
1#include <vanetza/common/serialization.hpp>
2#include <vanetza/security/v3/persistence.hpp>
3#include <fstream>
4#include <iterator>
5
6namespace vanetza
7{
8namespace security
9{
10namespace v3
11{
12
13Certificate load_certificate_from_file(const std::string& certificate_path)
14{
15 Certificate certificate;
16
17 std::ifstream certificate_src;
18 certificate_src.open(certificate_path, std::ios::in | std::ios::binary);
19 vanetza::ByteBuffer buffer(std::istreambuf_iterator<char>(certificate_src), {});
20 certificate.decode(buffer);
21
22 return certificate;
23}
24
25void save_certificate_to_file(const std::string& certificate_path, const Certificate& certificate)
26{
27 std::ofstream dest;
28 dest.open(certificate_path.c_str(), std::ios::out | std::ios::binary);
29
30 OutputArchive archive(dest);
31 serialize(archive, certificate);
32}
33
34} // namespace v3
35} // namespace security
36} // namespace vanetza