17 #ifndef GRPC_CORE_LIB_SECURITY_CREDENTIALS_TLS_GRPC_TLS_CERTIFICATE_PROVIDER_H
18 #define GRPC_CORE_LIB_SECURITY_CREDENTIALS_TLS_GRPC_TLS_CERTIFICATE_PROVIDER_H
25 #include "absl/container/inlined_vector.h"
61 std::string root_certificate,
72 bool root_being_watched =
false;
73 bool identity_being_watched =
false;
75 RefCountedPtr<grpc_tls_certificate_distributor> distributor_;
76 std::string root_certificate_;
82 std::map<std::string, WatcherInfo> watcher_info_;
90 std::string identity_certificate_path,
91 std::string root_cert_path,
92 unsigned int refresh_interval_sec);
102 bool root_being_watched =
false;
103 bool identity_being_watched =
false;
108 absl::optional<std::string> ReadRootCertificatesFromFile(
109 const std::string& root_cert_full_path);
111 absl::optional<PemKeyCertPairList> ReadIdentityKeyCertPairFromFiles(
112 const std::string& private_key_path,
113 const std::string& identity_certificate_path);
116 std::string private_key_path_;
117 std::string identity_certificate_path_;
118 std::string root_cert_path_;
119 unsigned int refresh_interval_sec_ = 0;
121 RefCountedPtr<grpc_tls_certificate_distributor> distributor_;
129 std::string root_certificate_;
133 std::map<std::string, WatcherInfo> watcher_info_;
Definition: grpc_tls_certificate_provider.h:87
~FileWatcherCertificateProvider() override
Definition: grpc_tls_certificate_provider.cc:171
FileWatcherCertificateProvider(std::string private_key_path, std::string identity_certificate_path, std::string root_cert_path, unsigned int refresh_interval_sec)
Definition: grpc_tls_certificate_provider.cc:96
RefCountedPtr< grpc_tls_certificate_distributor > distributor() const override
Definition: grpc_tls_certificate_provider.h:96
Definition: ref_counted.h:282
Definition: grpc_tls_certificate_provider.h:58
StaticDataCertificateProvider(std::string root_certificate, grpc_core::PemKeyCertPairList pem_key_cert_pairs)
Definition: grpc_tls_certificate_provider.cc:31
~StaticDataCertificateProvider() override
Definition: grpc_tls_certificate_provider.cc:81
RefCountedPtr< grpc_tls_certificate_distributor > distributor() const override
Definition: grpc_tls_certificate_provider.h:66
Round Robin Policy.
Definition: backend_metric.cc:26
absl::InlinedVector< grpc_core::PemKeyCertPair, 1 > PemKeyCertPairList
Definition: ssl_utils.h:184
struct grpc_pollset_set grpc_pollset_set
Definition: pollset_set.h:31
Definition: sync_generic.h:28
Definition: grpc_tls_certificate_provider.h:45
virtual grpc_core::RefCountedPtr< grpc_tls_certificate_distributor > distributor() const =0
virtual grpc_pollset_set * interested_parties() const
Definition: grpc_tls_certificate_provider.h:47