8 #ifndef MOD_SERVLET_SSL_H 
    9 #define MOD_SERVLET_SSL_H 
   14 #include <experimental/string_view> 
   19 using std::experimental::string_view;
 
   34     typedef std::chrono::time_point<std::chrono::system_clock, typename std::chrono::system_clock::duration> 
time_type;
 
   51     virtual int version() 
const = 0;
 
  206     virtual string_view 
issuer_DN() 
const = 0;
 
  215     virtual const std::map<string_view, string_view, std::less<>>& 
issuer_DN_components() 
const = 0;
 
  305 enum class SSL_SESSION_STATE
 
  325 template<
typename CharT, 
typename Traits>
 
  326 std::basic_ostream<CharT, Traits>& operator<<(std::basic_ostream<CharT, Traits>& out, SSL_SESSION_STATE ss)
 
  330         case SSL_SESSION_STATE::INITIAL: out << 
"INITIAL"; 
break;
 
  331         case SSL_SESSION_STATE::RESUMED: out << 
"RESUMED"; 
break;
 
  366     virtual string_view 
protocol() 
const = 0;
 
  435 #endif // MOD_SERVLET_SSL_H 
virtual time_type valid_since() const =0
Gets the notBefore date from the validity period of the certificate. 
 
virtual string_view certificate_exact_assertion() const =0
Serial number and issuer of the certificate. 
 
virtual const std::map< string_view, string_view, std::less<> > & subject_DN_components() const =0
Returns components of the subject (subject distinguished name) value from the certificate. 
 
virtual const std::map< string_view, std::vector< string_view >, std::less<> > & subject_alternative_names() const =0
Gets an immutable collection of subject alternative names from the SubjectAltName extension...
 
virtual string_view PEM_encoded() const =0
Returns PEM (Privacy Enhanced Mail) encoded certificate string. 
 
virtual const std::vector< string_view > & certificate_chain() const =0
Returns PEM (Privacy Enhanced Mail) encoded certificates in client certificate chain. 
 
virtual string_view key_algorithm_name() const =0
Gets the public key algorithm name. 
 
virtual bool check_valid() const =0
Checks that the certificate is currently valid. 
 
virtual ~certificate() noexcept
Destructor. 
Definition: ssl.h:39
 
virtual string_view serial_number() const =0
Gets the serialNumber value from the certificate. 
 
virtual const std::map< string_view, string_view, std::less<> > & issuer_DN_components() const =0
Returns components of the issuer (subject distinguished name) value from the certificate. 
 
std::chrono::time_point< std::chrono::system_clock, typename std::chrono::system_clock::duration > time_type
time_point type to be used for date representation in this class 
Definition: ssl.h:34
 
Abstract class holding available information regarding client or server security certificate. 
Definition: ssl.h:28
 
virtual time_type valid_until() const =0
Gets the notAfter date from the validity period of the certificate. 
 
virtual string_view signature_algorithm_name() const =0
Gets the signature algorithm name for the certificate signature algorithm. 
 
virtual string_view subject_DN() const =0
Returns the subject (subject distinguished name) value from the certificate. 
 
virtual string_view issuer_DN() const =0
Returns the issuer (subject distinguished name) value from the certificate. 
 
virtual int version() const =0
Gets the version (version number) value from the certificate.