26 #include <sys/types.h>
133 const char *certificate_file,
134 const char *private_key_file,
135 const char *password);
152 const char *certificate_db);
198 const char *trusted_CAs);
237 const char *session_id);
PN_EXTERN int pn_ssl_domain_set_peer_authentication(pn_ssl_domain_t *domain, const pn_ssl_verify_mode_t mode, const char *trusted_CAs)
Configure the level of verification used on the peer certificate.
struct pn_ssl_t pn_ssl_t
Definition: ssl.h:78
PN_EXTERN int pn_ssl_init(pn_ssl_t *ssl, pn_ssl_domain_t *domain, const char *session_id)
Initialize an SSL session.
PN_EXTERN int pn_ssl_domain_allow_unsecured_client(pn_ssl_domain_t *domain)
Permit a server to accept connection requests from non-SSL clients.
pn_ssl_verify_mode_t
Determines the level of peer validation.
Definition: ssl.h:167
#define PN_EXTERN
Definition: import_export.h:53
Session renegotiated - not resumed.
Definition: ssl.h:89
PN_EXTERN pn_ssl_t * pn_ssl(pn_transport_t *transport)
Create a new SSL session object associated with a transport.
pn_ssl_mode_t
Determines the type of SSL endpoint.
Definition: ssl.h:81
Local connection endpoint is an SSL client.
Definition: ssl.h:82
internal use only
Definition: ssl.h:168
PN_EXTERN int pn_ssl_domain_set_trusted_ca_db(pn_ssl_domain_t *domain, const char *certificate_db)
Configure the set of trusted CA certificates used by this domain to verify peers. ...
PN_EXTERN void pn_ssl_domain_free(pn_ssl_domain_t *domain)
Release an SSL configuration domain.
PN_EXTERN int pn_ssl_get_peer_hostname(pn_ssl_t *ssl, char *hostname, size_t *bufsize)
Access the configured peer identity.
pn_ssl_resume_status_t
Indicates whether an SSL session has been resumed.
Definition: ssl.h:87
Local connection endpoint is an SSL server.
Definition: ssl.h:83
struct pn_ssl_domain_t pn_ssl_domain_t
Definition: ssl.h:77
PN_EXTERN pn_ssl_domain_t * pn_ssl_domain(pn_ssl_mode_t mode)
Create an SSL configuration domain.
PN_EXTERN bool pn_ssl_get_protocol_name(pn_ssl_t *ssl, char *buffer, size_t size)
Get the name of the SSL protocol that is currently in use.
PN_EXTERN int pn_ssl_set_peer_hostname(pn_ssl_t *ssl, const char *hostname)
Set the expected identity of the remote peer.
Session resume state unknown/not supported.
Definition: ssl.h:88
PN_EXTERN bool pn_ssl_get_cipher_name(pn_ssl_t *ssl, char *buffer, size_t size)
Get the name of the Cipher that is currently in use.
require peer to provide a valid identifying certificate
Definition: ssl.h:169
PN_EXTERN pn_ssl_resume_status_t pn_ssl_resume_status(pn_ssl_t *ssl)
Check whether the state has been resumed.
require valid certificate and matching name
Definition: ssl.h:171
Session resumed from previous session.
Definition: ssl.h:90
PN_EXTERN int pn_ssl_domain_set_credentials(pn_ssl_domain_t *domain, const char *certificate_file, const char *private_key_file, const char *password)
Set the certificate that identifies the local node to the remote.
do not require a certificate nor cipher authorization
Definition: ssl.h:170
struct pn_transport_t pn_transport_t
An AMQP Transport object.
Definition: types.h:255