]> WPIA git - cassiopeia.git/blobdiff - src/crypto/sslUtil.h
fix: Make CppCheck happy by fixing the code
[cassiopeia.git] / src / crypto / sslUtil.h
index a85871a4520751bf2101ebfe8e1ccef62af9c2a6..1327a17bd47367dd0113ce8dec984e1ca93ccb27 100644 (file)
@@ -1,9 +1,14 @@
 #pragma once
-#include <openssl/ssl.h>
+
 #include <memory>
 #include <string>
 #include <vector>
 #include <cinttypes>
+#include <ctime>
+
+#include <openssl/ssl.h>
+
+#include "db/database.h"
 
 class CAConfig {
 public:
@@ -13,8 +18,8 @@ public:
     std::shared_ptr<X509> ca;
     std::shared_ptr<EVP_PKEY> caKey;
     std::shared_ptr<ASN1_TIME> notBefore;
-    CAConfig( std::string name );
-
+    CAConfig( const std::string& name );
+    bool crlNeedsResign();
 };
 
 struct Profile {
@@ -24,6 +29,7 @@ struct Profile {
     std::string ku;
 
     std::vector<std::shared_ptr<CAConfig>> ca;
+    std::time_t maxValidity;
     std::shared_ptr<CAConfig> getCA() {
         for( auto it = ca.rbegin(); it != ca.rend(); it++ ) {
             if( X509_cmp_current_time( ( *it )->notBefore.get() ) < 0 ) {
@@ -37,8 +43,10 @@ struct Profile {
 
 extern std::shared_ptr<int> ssl_lib_ref;
 
-std::shared_ptr<X509> loadX509FromFile( std::string filename );
-std::shared_ptr<EVP_PKEY> loadPkeyFromFile( std::string filename );
+std::shared_ptr<X509> loadX509FromFile( const std::string& filename );
+std::shared_ptr<EVP_PKEY> loadPkeyFromFile( const std::string& filename );
 
 std::shared_ptr<SSL_CTX> generateSSLContext( bool server );
-std::shared_ptr<BIO> openSerial( const std::string name );
+std::shared_ptr<BIO> openSerial( const std::string& name );
+std::string timeToString( std::shared_ptr<ASN1_TIME> time );
+void extractTimes( std::shared_ptr<X509> source, std::shared_ptr<SignedCertificate> cert );