]> WPIA git - cassiopeia.git/blobdiff - src/database.h
add: Initial code to implement revocation
[cassiopeia.git] / src / database.h
index e3a9516d137790fbaf683e37faae1af41a865bab..f23f61012588a297be5d2d577adc36d3716c0bf3 100644 (file)
@@ -6,6 +6,7 @@
 
 struct Job {
     std::string id;
+    std::string warning;
     std::string target;
     std::string task;
     std::string from;
@@ -17,31 +18,41 @@ struct SAN {
     std::string type;
 };
 
+struct AVA {
+    std::string name;
+    std::string value;
+};
+
 struct TBSCertificate {
-    std::string CN;
-    std::string subj;
     std::string md;
     std::string profile;
+    /**
+     * CSR path
+     */
     std::string csr;
     std::string csr_type;
     std::string csr_content;
     std::vector<std::shared_ptr<SAN>> SANs;
+    std::vector<std::shared_ptr<AVA>> AVAs;
 };
 
+
 struct SignedCertificate {
     std::string certificate;
-    uint32_t serial;
+    std::string serial;
     uint32_t before;
     uint32_t after;
     std::string pkHash;
     std::string certHash;
     std::string crt_name;
+    std::string log;
 };
 
 class JobProvider {
 public:
     virtual std::shared_ptr<Job> fetchJob() = 0;
-    virtual bool finishJob( std::shared_ptr<Job> job ) = 0;
+    virtual void finishJob( std::shared_ptr<Job> job ) = 0;
+    virtual void failJob( std::shared_ptr<Job> job ) = 0;
     virtual std::shared_ptr<TBSCertificate> fetchTBSCert( std::shared_ptr<Job> job ) = 0;
     virtual void writeBack( std::shared_ptr<Job> job, std::shared_ptr<SignedCertificate> res ) = 0;
 };