25 #include "./internal/export.hpp" 27 #include <proton/ssl.h> 34 template <
class T>
class factory;
40 ssl(pn_ssl_t* s) : object_(s) {}
50 VERIFY_PEER = PN_SSL_VERIFY_PEER,
52 ANONYMOUS_PEER = PN_SSL_ANONYMOUS_PEER,
54 VERIFY_PEER_NAME = PN_SSL_VERIFY_PEER_NAME
59 UNKNOWN = PN_SSL_RESUME_UNKNOWN,
60 NEW = PN_SSL_RESUME_NEW,
61 REUSED = PN_SSL_RESUME_REUSED
68 PN_CPP_EXTERN std::string cipher()
const;
72 PN_CPP_EXTERN std::string protocol()
const;
75 PN_CPP_EXTERN
int ssf()
const;
78 PN_CPP_EXTERN std::string remote_subject()
const;
81 PN_CPP_EXTERN
void resume_session_id(
const std::string& session_id);
91 friend class internal::factory<
ssl>;
104 PN_CPP_EXTERN ssl_certificate(
const std::string &certdb_main,
const std::string &certdb_extra);
107 PN_CPP_EXTERN ssl_certificate(
const std::string &certdb_main,
const std::string &certdb_extra,
const std::string &passwd);
111 std::string certdb_main_;
112 std::string certdb_extra_;
122 class ssl_domain_impl;
129 PN_CPP_EXTERN ssl_domain(
const ssl_domain&);
130 PN_CPP_EXTERN ssl_domain& operator=(
const ssl_domain&);
131 PN_CPP_EXTERN ~ssl_domain();
134 ssl_domain(
bool is_server);
135 pn_ssl_domain_t *pn_domain();
138 ssl_domain_impl *impl_;
153 PN_CPP_EXTERN ssl_server_options(
ssl_certificate &cert,
const std::string &trust_db,
154 const std::string &advertise_db = std::string(),
159 PN_CPP_EXTERN ssl_server_options();
164 using internal::ssl_domain::pn_domain;
179 PN_CPP_EXTERN ssl_client_options(
ssl_certificate&,
const std::string &trust_db,
184 PN_CPP_EXTERN ssl_client_options();
189 using internal::ssl_domain::pn_domain;
198 #endif // PROTON_SSL_HPP Experimental - SSL configuration for inbound connections.
Definition: ssl.hpp:145
ssl()
Create an empty ssl object.
Definition: ssl.hpp:45
SSL information.
Definition: ssl.hpp:38
Require valid certificate and matching name.
Definition: ssl.hpp:54
Options for creating a connection.
Definition: connection_options.hpp:62
Experimental - SSL configuration for outbound connections.
Definition: ssl.hpp:172
resume_status
Outcome specifier for an attempted session resume.
Definition: ssl.hpp:58
verify_mode
Determines the level of peer validation.
Definition: ssl.hpp:48
Require peer to provide a valid identifying certificate.
Definition: ssl.hpp:50
Experimental - An SSL certificate.
Definition: ssl.hpp:96
The main Proton namespace.
Definition: annotation_key.hpp:30