25 #include "./internal/export.hpp"
26 #include "./internal/object.hpp"
28 #include <proton/ssl.h>
34 class connection_options;
39 ssl(pn_ssl_t* s) : object_(s) {}
59 NEW = PN_SSL_RESUME_NEW,
67 PN_CPP_EXTERN std::string cipher()
const;
71 PN_CPP_EXTERN std::string protocol()
const;
74 PN_CPP_EXTERN
int ssf()
const;
77 PN_CPP_EXTERN std::string remote_subject()
const;
80 PN_CPP_EXTERN
void resume_session_id(
const std::string& session_id);
90 friend class internal::factory<
ssl>;
103 PN_CPP_EXTERN
ssl_certificate(
const std::string &certdb_main,
const std::string &certdb_extra);
106 PN_CPP_EXTERN
ssl_certificate(
const std::string &certdb_main,
const std::string &certdb_extra,
const std::string &passwd);
110 std::string certdb_main_;
111 std::string certdb_extra_;
121 class ssl_domain_impl;
128 PN_CPP_EXTERN ssl_domain(
const ssl_domain&);
129 PN_CPP_EXTERN ssl_domain& operator=(
const ssl_domain&);
130 PN_CPP_EXTERN ~ssl_domain();
133 ssl_domain(
bool is_server);
134 pn_ssl_domain_t *pn_domain();
137 ssl_domain_impl *impl_;
153 const std::string &advertise_db = std::string(),
163 using internal::ssl_domain::pn_domain;
188 using internal::ssl_domain::pn_domain;
197 #endif // PROTON_SSL_HPP
ssl_server_options()
Server SSL options restricted to available anonymous cipher suites on the platform.
Experimental - SSL configuration for inbound connections.
Definition: ssl.hpp:144
ssl()
Create an empty ssl object.
Definition: ssl.hpp:44
SSL information.
Definition: ssl.hpp:37
Require valid certificate and matching name.
Definition: ssl.hpp:53
Session resume state unknown or not supported.
Definition: ssl.hpp:58
Options for creating a connection.
Definition: connection_options.hpp:67
Experimental - SSL configuration for outbound connections.
Definition: ssl.hpp:171
ssl_certificate(const std::string &certdb_main)
Create an SSL certificate.
resume_status
Outcome specifier for an attempted session resume.
Definition: ssl.hpp:57
ssl_client_options()
SSL connections restricted to available anonymous cipher suites on the platform.
verify_mode
Determines the level of peer validation.
Definition: ssl.hpp:47
Do not require a certificate or cipher authorization.
Definition: ssl.hpp:51
Require peer to provide a valid identifying certificate.
Definition: ssl.hpp:49
Session renegotiated, not resumed.
Definition: ssl.hpp:59
Experimental - An SSL certificate.
Definition: ssl.hpp:95
Session resumed from previous session.
Definition: ssl.hpp:60