Ice 3.7 C++11 API Reference
Public Member Functions | List of all members
IceSSL::OpenSSL::Plugin Class Referenceabstract

Represents the IceSSL plug-in object. More...

#include <IceSSL/IceSSL.h>

Inheritance diagram for IceSSL::OpenSSL::Plugin:
Inheritance graph
[legend]
Collaboration diagram for IceSSL::OpenSSL::Plugin:
Collaboration graph
[legend]

Public Member Functions

virtual SSL_CTX * getContext ()=0
 Obtains the SSL context. More...
 
virtual Ice::Long getOpenSSLVersion () const =0
 Obtains the OpenSSL version number. More...
 
virtual void setContext (SSL_CTX *ctx)=0
 Establishes the OpenSSL context. More...
 
- Public Member Functions inherited from IceSSL::Plugin
virtual CertificatePtr decode (const std::string &str) const =0
 Decode a certificate from a string that uses the PEM encoding format. More...
 
virtual CertificatePtr load (const std::string &file) const =0
 Load the certificate from a file. More...
 
virtual void setCertificateVerifier (std::function< bool(const std::shared_ptr< ConnectionInfo > &)> v)=0
 Establish the certificate verifier object. More...
 
virtual void setPasswordPrompt (std::function< std::string()> p)=0
 Establish the password prompt object. More...
 
virtual ~Plugin ()
 
- Public Member Functions inherited from Ice::Plugin
virtual void destroy ()=0
 Called when the communicator is being destroyed. More...
 
virtual void initialize ()=0
 Perform any necessary initialization steps. More...
 

Detailed Description

Represents the IceSSL plug-in object.

Member Function Documentation

◆ getContext()

virtual SSL_CTX* IceSSL::OpenSSL::Plugin::getContext ( )
pure virtual

Obtains the SSL context.

Use caution when modifying this value. Changes made to this value have no effect on existing connections.

Returns
The OpenSSL context.

◆ getOpenSSLVersion()

virtual Ice::Long IceSSL::OpenSSL::Plugin::getOpenSSLVersion ( ) const
pure virtual

Obtains the OpenSSL version number.

Returns
The version.

◆ setContext()

virtual void IceSSL::OpenSSL::Plugin::setContext ( SSL_CTX *  ctx)
pure virtual

Establishes the OpenSSL context.

This must be done before the plug-in is initialized, therefore the application must define the property Ice.InitPlugins=0, set the context, and finally invoke Ice::PluginManager::initializePlugins.

When the application supplies its own OpenSSL context, the plug-in ignores configuration properties related to certificates, keys, and passwords.

Note that the plug-in assumes ownership of the given context.

Parameters
ctxThe OpenSSL context.

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