#pragma once
+
#include <memory>
+#include <vector>
+
#include <openssl/ssl.h>
+#include "database.h"
+
class X509Req {
private:
std::shared_ptr<EVP_PKEY> pk;
void setIssuerNameFrom( std::shared_ptr<X509> ca );
void setPubkeyFrom( std::shared_ptr<X509Req> r );
void setSerialNumber( int num );
- void setExtensions( std::shared_ptr<X509> caCert );
- void setTimes( long before, long after );
- std::string sign( std::shared_ptr<EVP_PKEY> caKey );
+ void setExtensions( std::shared_ptr<X509> caCert, std::vector<std::shared_ptr<SAN>>& sans );
+ void setTimes( uint32_t before, uint32_t after );
+ std::shared_ptr<SignedCertificate> sign( std::shared_ptr<EVP_PKEY> caKey );
};
-