xmltooling::OpenSSLSOAPTransport Class Referenceabstract

Encapsulates OpenSSL-capable SOAP transport layer. More...

`#include <xmltooling/soap/OpenSSLSOAPTransport.h>`

Inheritance diagram for xmltooling::OpenSSLSOAPTransport:

## Public Types

typedef bool(* | ssl_ctx_callback_fn) (OpenSSLSOAPTransport *transport, SSL_CTX *ssl_ctx, void *userptr)
| OpenSSL context callback for manipulating credentials and validation behavior.
Public Types inherited from xmltooling::SOAPTransport
enum | transport_auth_t { transport_auth_none = 0 , transport_auth_basic = 1 , transport_auth_digest = 2 , transport_auth_ntlm = 3 , transport_auth_gss = 4 }
| Common types of transport authentication that may be supported.

## Public Member Functions

virtual bool | setSSLCallback (ssl_ctx_callback_fn fn, void *userptr=0)=0
| Set a callback function to invoke against the SSL_CTX before the handshake.
virtual bool | setCipherSuites (const char *cipherlist)=0
| Set an expression identifying the cipher suites to enable using OpenSSL syntax.
virtual void | setAuthenticated (bool auth)=0
| Set indicator that the transport peer has been authenticated.
Public Member Functions inherited from xmltooling::SOAPTransport
virtual bool | isConfidential () const =0
| Indicates whether transport provides confidentiality.
virtual bool | setConnectTimeout (long timeout)=0
| Sets the connection timeout.
virtual bool | setTimeout (long timeout)=0
| Sets the request timeout.
virtual bool | setAuth (transport_auth_t authType, const char *username=0, const char *password=0)=0
| Sets a particular form of transport authentication and credentials.
virtual bool | setVerifyHost (bool verify)=0
| Determines whether TLS/SSL connections include a check of the server's certificate against the expected hostname or address.
virtual bool | setCredential (const Credential *credential=0)=0
| Supplies transport credentials.
virtual bool | setTrustEngine (const X509TrustEngine *trustEngine=0, const CredentialResolver *credResolver=0, CredentialCriteria *criteria=0, bool mandatory=true)=0
| Provides an X509TrustEngine to the transport to authenticate the transport peer.
virtual bool | setCacheTag (std::string *cacheTag=0)
| Installs (or clears) a pointer to an object used for cache management of the content being accessed.
virtual bool | setProviderOption (const char *provider, const char *option, const char *value)
| Sets an implementation-specific transport provider option.
virtual void | send (std::istream &in)=0
| Sends a stream of data over the transport.
virtual void | send (std::istream *in=0)
| Sends an optional stream of data over the transport.
virtual std::istream & | receive ()=0
| Returns reference to response stream.
virtual bool | isAuthenticated () const =0
| Returns result of authenticating transport peer.
virtual std::string | getContentType () const =0
| Returns the MIME type of the response, if any.
virtual long | getStatusCode () const
| Returns the status code of the response.

## Detailed Description

Encapsulates OpenSSL-capable SOAP transport layer.

## Member Function Documentation

## setAuthenticated()

virtual void xmltooling::OpenSSLSOAPTransport::setAuthenticated | ( | bool | auth | ) |

pure virtual

Set indicator that the transport peer has been authenticated.

Parameters

  auth | flag to set

## setCipherSuites()

virtual bool xmltooling::OpenSSLSOAPTransport::setCipherSuites | ( | const char * | cipherlist | ) |

pure virtual

Set an expression identifying the cipher suites to enable using OpenSSL syntax.

Note this does not include TLS 1.3 ciphers.

Parameters

  cipherlist | cipher suite expression/list

Returns
  true iff the ciphers were set

## setSSLCallback()

virtual bool xmltooling::OpenSSLSOAPTransport::setSSLCallback | ( | ssl_ctx_callback_fn | fn,
|  | void * | userptr = 0 )

pure virtual

Set a callback function to invoke against the SSL_CTX before the handshake.

Parameters

  fn | callback function
  userptr | a caller-supplied value to pass to the callback function

Returns
  true iff the callback was set

The documentation for this class was generated from the following file:

- xmltooling/soap/OpenSSLSOAPTransport.h