#include <openssl/ssl.h>
#include "database.h"
+#include "sslUtil.h"
class X509Req {
private:
X509Req( X509_REQ* csr );
X509Req( std::string spkac );
public:
- static std::shared_ptr<X509Req> parse( std::string filename );
- static std::shared_ptr<X509Req> parseSPKAC( std::string filename );
+ static std::shared_ptr<X509Req> parseCSR( std::string content );
+ static std::shared_ptr<X509Req> parseSPKAC( std::string content );
int verify();
std::shared_ptr<EVP_PKEY> getPkey();
};
void setIssuerNameFrom( std::shared_ptr<X509> ca );
void setPubkeyFrom( std::shared_ptr<X509Req> r );
void setSerialNumber( BIGNUM* num );
- void setExtensions( std::shared_ptr<X509> caCert, std::vector<std::shared_ptr<SAN>>& sans );
+ void setExtensions( std::shared_ptr<X509> caCert, std::vector<std::shared_ptr<SAN>>& sans, Profile& prof );
void setTimes( uint32_t before, uint32_t after );
- std::shared_ptr<SignedCertificate> sign( std::shared_ptr<EVP_PKEY> caKey );
+ std::shared_ptr<SignedCertificate> sign( std::shared_ptr<EVP_PKEY> caKey, std::string signAlg );
};