1 #ifndef PROTON_CPP_SSL_H
2 #define PROTON_CPP_SSL_H
25 #include "proton/export.hpp"
27 #include "proton/ssl.h"
32 class connection_options;
50 NEW = PN_SSL_RESUME_NEW,
55 ssl(pn_ssl_t* s) : object_(s) {}
62 PN_CPP_EXTERN std::string cipher()
const;
66 PN_CPP_EXTERN std::string protocol()
const;
69 PN_CPP_EXTERN
int ssf()
const;
72 PN_CPP_EXTERN
void peer_hostname(
const std::string &);
73 PN_CPP_EXTERN std::string peer_hostname()
const;
76 PN_CPP_EXTERN std::string remote_subject()
const;
79 PN_CPP_EXTERN
void resume_session_id(
const std::string& session_id);
89 class ssl_certificate {
92 PN_CPP_EXTERN ssl_certificate(
const std::string &certdb_main,
const std::string &certdb_extra = std::string());
98 PN_CPP_EXTERN ssl_certificate(
const std::string &certdb_main,
const std::string &certdb_extra,
const std::string &passwd);
101 std::string certdb_main_;
102 std::string certdb_extra_;
107 friend class ssl_client_options;
108 friend class ssl_server_options;
112 class ssl_domain_impl;
119 PN_CPP_EXTERN ssl_domain(
const ssl_domain&);
120 PN_CPP_EXTERN ssl_domain& operator=(
const ssl_domain&);
121 PN_CPP_EXTERN ~ssl_domain();
124 ssl_domain(
bool is_server);
125 pn_ssl_domain_t *pn_domain();
128 ssl_domain_impl *impl_;
143 const std::string &advertise_db = std::string(),
153 using internal::ssl_domain::pn_domain;
181 using internal::ssl_domain::pn_domain;
190 #endif // PROTON_CPP_SSL_H
ssl_server_options()
Server SSL options restricted to available anonymous cipher suites on the platform.
SSL configuration for inbound connections.
Definition: ssl.hpp:134
SSL information.
Definition: ssl.hpp:35
Require valid certificate and matching name.
Definition: ssl.hpp:44
Session resume state unknown or not supported.
Definition: ssl.hpp:49
Options for creating a connection.
Definition: connection_options.hpp:60
SSL configuration for outbound connections.
Definition: ssl.hpp:161
resume_status
Outcome specifier for an attempted session resume.
Definition: ssl.hpp:48
ssl_client_options()
Server SSL options restricted to available anonymous cipher suites on the platform.
verify_mode
Determines the level of peer validation.
Definition: ssl.hpp:38
Do not require a certificate or cipher authorization.
Definition: ssl.hpp:42
Require peer to provide a valid identifying certificate.
Definition: ssl.hpp:40
Session renegotiated, not resumed.
Definition: ssl.hpp:50
Session resumed from previous session.
Definition: ssl.hpp:51