X-Git-Url: https://code.wpia.club/?a=blobdiff_plain;f=src%2FX509.h;h=dbc6d0a0df470a76a4dceea1691ddce034f85d1f;hb=fca2260d735fe65cf5376449ba93b6a9148a97b9;hp=ac6c6354dcc60fa536e5559f7cc38fff2613cb8f;hpb=59e3ff1a00dbe5c819ea6f34f86b03b2912b71c5;p=cassiopeia.git diff --git a/src/X509.h b/src/X509.h index ac6c635..dbc6d0a 100644 --- a/src/X509.h +++ b/src/X509.h @@ -15,8 +15,8 @@ private: X509Req( X509_REQ* csr ); X509Req( std::string spkac ); public: - static std::shared_ptr parse( std::string filename ); - static std::shared_ptr parseSPKAC( std::string filename ); + static std::shared_ptr parse( std::string content ); + static std::shared_ptr parseSPKAC( std::string content ); int verify(); std::shared_ptr getPkey(); }; @@ -24,12 +24,14 @@ public: class X509Cert { private: std::shared_ptr target; + std::shared_ptr subject; public: X509Cert(); + void addRDN( int nid, std::string data ); void setIssuerNameFrom( std::shared_ptr ca ); void setPubkeyFrom( std::shared_ptr r ); void setSerialNumber( BIGNUM* num ); void setExtensions( std::shared_ptr caCert, std::vector>& sans ); void setTimes( uint32_t before, uint32_t after ); - std::shared_ptr sign( std::shared_ptr caKey ); + std::shared_ptr sign( std::shared_ptr caKey, std::string signAlg ); };