]> WPIA git - cassiopeia.git/blobdiff - src/database.h
chg: Tamper with the signature more efficiently
[cassiopeia.git] / src / database.h
index e719df63628ba2923b6a7b3b0088eff0b56390e3..ca90bd447e591a01cd5272ab4b676abf66ccdc70 100644 (file)
@@ -2,6 +2,7 @@
 
 #include <string>
 #include <memory>
+#include <vector>
 
 struct Job {
     std::string id;
@@ -10,13 +11,40 @@ struct Job {
     std::string from;
     std::string to;
 };
+
+struct SAN {
+    std::string content;
+    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;
+    std::string serial;
+    uint32_t before;
+    uint32_t after;
+    std::string pkHash;
+    std::string certHash;
+    std::string crt_name;
+    std::string log;
 };
 
 class JobProvider {
@@ -24,4 +52,5 @@ public:
     virtual std::shared_ptr<Job> fetchJob() = 0;
     virtual bool finishJob( 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;
 };