1 /* Icinga 2 | (c) 2012 Icinga GmbH | GPLv2+ */
6 #include "remote/i2-remote.hpp"
7 #include "base/exception.hpp"
8 #include "base/dictionary.hpp"
9 #include "base/string.hpp"
10 #include <openssl/x509v3.h>
23 static int NewCert(const String& cn, const String& keyfile, const String& csrfile, const String& certfile);
24 static int SignCsr(const String& csrfile, const String& certfile);
25 static std::shared_ptr<X509> FetchCert(const String& host, const String& port);
26 static int WriteCert(const std::shared_ptr<X509>& cert, const String& trustedfile);
27 static int GenTicket(const String& cn, const String& salt, std::ostream& ticketfp);
28 static int RequestCertificate(const String& host, const String& port, const String& keyfile,
29 const String& certfile, const String& cafile, const std::shared_ptr<X509>& trustedcert,
30 const String& ticket = String());
31 static String GetCertificateInformation(const std::shared_ptr<X509>& certificate);
32 static Dictionary::Ptr GetCertificateRequests(bool removed = false);
41 #endif /* PKIUTILITY_H */