diff options
Diffstat (limited to 'src/include/cchecker/certs.h')
-rw-r--r-- | src/include/cchecker/certs.h | 31 |
1 files changed, 24 insertions, 7 deletions
diff --git a/src/include/cchecker/certs.h b/src/include/cchecker/certs.h index ed8efe0..7da95e6 100644 --- a/src/include/cchecker/certs.h +++ b/src/include/cchecker/certs.h @@ -25,19 +25,36 @@ #ifndef CCHECKER_CERTS_H #define CCHECKER_CERTS_H +#include <ckm/ckm-certificate.h> +#include <vcore/Certificate.h> + #include <cchecker/app.h> +#include <ckm/ckm-manager.h> namespace CCHECKER { class Certs { public: - Certs(); - virtual ~Certs(); - void get_certificates (app_t &app, ocsp_urls_t &ocsp_urls); - private: - void find_app_signatures (app_t &app, const std::string &app_path, ocsp_urls_t &ocsp_urls); - void search_app (app_t &app, ocsp_urls_t &ocsp_urls); - + enum class ocsp_response_t { + OCSP_APP_OK, + OCSP_APP_REVOKED, + OCSP_CHECK_AGAIN, + OCSP_CERT_ERROR + }; + Certs(); + virtual ~Certs(); + void get_certificates (app_t &app, ocsp_urls_t &ocsp_urls); + ocsp_response_t check_ocsp (const app_t &app); // TODO: add custom url support + protected: // Needed for tests + ocsp_response_t check_ocsp_chain (const chain_t &chain); + void find_app_signatures (app_t &app, const std::string &app_path, ocsp_urls_t &ocsp_urls); + void search_app (app_t &app, ocsp_urls_t &ocsp_urls); + bool ocsp_create_list(const chain_t &chain, ValidationCore::CertificateList &certs_list); + bool ocsp_build_chain (const ValidationCore::CertificateList &certs_list, + CKM::CertificateShPtrVector &vect_ckm_chain); + + //private: + CKM::ManagerShPtr m_ckm; }; } // CCHECKER |