25#include "./internal/export.hpp"
27#include <proton/ssl.h>
39 ssl(pn_ssl_t* s) : object_(s) {}
58 NEW = PN_SSL_RESUME_NEW,
59 REUSED = PN_SSL_RESUME_REUSED
66 PN_CPP_EXTERN std::string cipher()
const;
70 PN_CPP_EXTERN std::string protocol()
const;
73 PN_CPP_EXTERN
int ssf()
const;
76 PN_CPP_EXTERN std::string remote_subject()
const;
79 PN_CPP_EXTERN
void resume_session_id(
const std::string& session_id);
86 pn_ssl_t*
const object_;
102 PN_CPP_EXTERN
ssl_certificate(
const std::string &certdb_main,
const std::string &certdb_extra);
105 PN_CPP_EXTERN
ssl_certificate(
const std::string &certdb_main,
const std::string &certdb_extra,
const std::string &passwd);
109 std::string certdb_main_;
110 std::string certdb_extra_;
132 const std::string &advertise_db = std::string(),
Options for creating a connection.
Definition connection_options.hpp:67
Unsettled API - An SSL certificate.
Definition ssl.hpp:94
ssl_certificate(const std::string &certdb_main)
Create an SSL certificate.
ssl_certificate(const std::string &certdb_main, const std::string &certdb_extra)
Create an SSL certificate.
ssl_certificate(const std::string &certdb_main, const std::string &certdb_extra, const std::string &passwd)
Create an SSL certificate.
Unsettled API - SSL configuration for outbound connections.
Definition ssl.hpp:153
ssl_client_options(const std::string &trust_db, enum ssl::verify_mode=ssl::VERIFY_PEER_NAME)
Create SSL client specifying the certificate trust database.
ssl_client_options(const ssl_certificate &, const std::string &trust_db, enum ssl::verify_mode=ssl::VERIFY_PEER_NAME)
Create SSL client with a client certificate and a custom certificate trust database.
ssl_client_options(enum ssl::verify_mode)
Create SSL client with unusual verification policy (but default certificate trust database)
ssl_client_options()
Create SSL client with defaults (use system certificate trust database and require name verification)
ssl_client_options(const ssl_certificate &, enum ssl::verify_mode=ssl::VERIFY_PEER_NAME)
Create SSL client with a client certificate.
Unsettled API - SSL configuration for inbound connections.
Definition ssl.hpp:123
ssl_server_options(const ssl_certificate &cert)
Server SSL options based on the supplied X.509 certificate specifier.
ssl_server_options()
Server SSL options restricted to available anonymous cipher suites on the platform.
ssl_server_options(const ssl_certificate &cert, const std::string &trust_db, const std::string &advertise_db=std::string(), enum ssl::verify_mode mode=ssl::VERIFY_PEER)
Server SSL options requiring connecting clients to provide a client certificate.
SSL information.
Definition ssl.hpp:37
resume_status
Outcome specifier for an attempted session resume.
Definition ssl.hpp:56
@ REUSED
Session resumed from previous session.
Definition ssl.hpp:59
@ UNKNOWN
Session resume state unknown or not supported.
Definition ssl.hpp:57
@ NEW
Session renegotiated, not resumed.
Definition ssl.hpp:58
verify_mode
Determines the level of peer validation.
Definition ssl.hpp:46
@ VERIFY_PEER_NAME
Require valid certificate and matching name.
Definition ssl.hpp:52
@ ANONYMOUS_PEER
Do not require a certificate or cipher authorization.
Definition ssl.hpp:50
@ VERIFY_PEER
Require peer to provide a valid identifying certificate.
Definition ssl.hpp:48
A network channel supporting an AMQP connection.
Definition transport.hpp:37
The main Proton namespace.
Definition annotation_key.hpp:33