diff options
Diffstat (limited to 'cast/common/certificate/cast_trust_store.cc')
-rw-r--r-- | cast/common/certificate/cast_trust_store.cc | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/cast/common/certificate/cast_trust_store.cc b/cast/common/certificate/cast_trust_store.cc index 93db49ba..d8ec513c 100644 --- a/cast/common/certificate/cast_trust_store.cc +++ b/cast/common/certificate/cast_trust_store.cc @@ -4,6 +4,9 @@ #include "cast/common/certificate/cast_trust_store.h" +#include <utility> + +#include "util/crypto/pem_helpers.h" #include "util/osp_logging.h" namespace openscreen { @@ -48,6 +51,16 @@ CastTrustStore* CastTrustStore::CreateInstanceForTest( return store_; } +// static +CastTrustStore* CastTrustStore::CreateInstanceFromPemFile( + absl::string_view file_path, + TrustStore::Mode mode) { + OSP_DCHECK(!store_); + store_ = new CastTrustStore(); + store_->trust_store_ = TrustStore::CreateInstanceFromPemFile(file_path, mode); + return store_; +} + CastTrustStore::CastTrustStore() { trust_store_.certs.emplace_back(MakeTrustAnchor(kCastRootCaDer)); trust_store_.certs.emplace_back(MakeTrustAnchor(kEurekaRootCaDer)); @@ -57,6 +70,9 @@ CastTrustStore::CastTrustStore(const std::vector<uint8_t>& trust_anchor_der) { trust_store_.certs.emplace_back(MakeTrustAnchor(trust_anchor_der)); } +CastTrustStore::CastTrustStore(TrustStore trust_store) + : trust_store_(std::move(trust_store)) {} + CastTrustStore::~CastTrustStore() = default; // static |