X-Git-Url: https://code.wpia.club/?a=blobdiff_plain;f=src%2Fcrypto%2FsslUtil.h;h=1327a17bd47367dd0113ce8dec984e1ca93ccb27;hb=3ea4de25c712971a35dbad27d8834d75933daa08;hp=a85871a4520751bf2101ebfe8e1ccef62af9c2a6;hpb=56358cbe81dd0d11267a06133ce227c2c53f10f7;p=cassiopeia.git diff --git a/src/crypto/sslUtil.h b/src/crypto/sslUtil.h index a85871a..1327a17 100644 --- a/src/crypto/sslUtil.h +++ b/src/crypto/sslUtil.h @@ -1,9 +1,14 @@ #pragma once -#include + #include #include #include #include +#include + +#include + +#include "db/database.h" class CAConfig { public: @@ -13,8 +18,8 @@ public: std::shared_ptr ca; std::shared_ptr caKey; std::shared_ptr 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> ca; + std::time_t maxValidity; std::shared_ptr 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 ssl_lib_ref; -std::shared_ptr loadX509FromFile( std::string filename ); -std::shared_ptr loadPkeyFromFile( std::string filename ); +std::shared_ptr loadX509FromFile( const std::string& filename ); +std::shared_ptr loadPkeyFromFile( const std::string& filename ); std::shared_ptr generateSSLContext( bool server ); -std::shared_ptr openSerial( const std::string name ); +std::shared_ptr openSerial( const std::string& name ); +std::string timeToString( std::shared_ptr time ); +void extractTimes( std::shared_ptr source, std::shared_ptr cert );