32 #include <openssl/x509.h>
70 return m_ca_file.get() && m_crl_file.get()
71 && (!m_build_store || m_ca_store.get());}
112 static std::unique_ptr<TempCAGuard>
create(
XrdSysError &,
const std::string &ca_tmp_dir);
130 TempCAGuard(
int ca_fd,
int crl_fd,
const std::string &ca_tmp_dir,
const std::string &ca_fname,
const std::string &crl_fname);
134 std::string m_ca_tmp_dir;
135 std::string m_ca_fname;
136 std::string m_crl_fname;
158 std::shared_ptr<X509_STORE> BuildCAStore(
const std::string &ca_fname,
159 const std::string &crl_fname,
165 static void *MaintenanceThread(
void *myself_raw);
171 int m_maintenance_pipe_r{-1};
172 int m_maintenance_pipe_w{-1};
173 int m_maintenance_thread_pipe_r{-1};
174 int m_maintenance_thread_pipe_w{-1};
176 const std::string m_ca_dir;
177 const bool m_build_store;
181 std::shared_ptr<std::string> m_ca_file;
182 std::shared_ptr<std::string> m_crl_file;
183 std::shared_ptr<X509_STORE> m_ca_store;
184 bool m_atLeastOneCRLFound =
false;
187 static constexpr
unsigned m_update_interval = 900;
189 static constexpr
unsigned m_update_interval_failure = 10;
static std::unique_ptr< TempCAGuard > create(XrdSysError &, const std::string &ca_tmp_dir)
std::string getCRLFilename() const
std::string getCAFilename() const
TempCAGuard(const TempCAGuard &)=delete
bool atLeastOneValidCRLFound() const
std::shared_ptr< X509_STORE > CAStore() const
XrdTlsTempCA(XrdSysError *log, std::string ca_dir, bool build_store=true)
std::string CAFilename() const
std::string CRLFilename() const