5#ifndef ICESSL_OPENSSL_H
6#define ICESSL_OPENSSL_H
10#include <openssl/x509v3.h>
11#include <openssl/pem.h>
17# if !defined(ICE_BUILDING_ICESSL_OPENSSL) && defined(ICESSL_OPENSSL_API_EXPORTS)
18# define ICE_BUILDING_ICESSL_OPENSSL
21# if !defined(ICE_BUILDING_ICESSL_OPENSSL)
22# pragma comment(lib, ICE_LIBNAME("IceSSLOpenSSL"))
26#ifndef ICESSL_OPENSSL_API
27# if defined(ICE_STATIC_LIBS)
28# define ICESSL_OPENSSL_API
29# elif defined(ICESSL_OPENSSL_API_EXPORTS)
30# define ICESSL_OPENSSL_API ICE_DECLSPEC_EXPORT
32# define ICESSL_OPENSSL_API ICE_DECLSPEC_IMPORT
36#if defined(_WIN32) && !defined(ICESSL_OPENSSL_API_EXPORTS)
#define ICE_DEFINE_PTR(TPtr, T)
Definition Config.h:359
#define ICESSL_OPENSSL_API
Definition OpenSSL.h:32
#define ICE_PLUGIN_REGISTER_DECLSPEC_IMPORT
Definition RegisterPlugins.h:24
This convenience class is a wrapper around a native certificate.
Definition Plugin.h:412
Encapsulates an OpenSSL X.509 certificate.
Definition OpenSSL.h:67
static CertificatePtr create(x509_st *cert)
Construct a certificate using a native certificate.
static CertificatePtr decode(const std::string &cert)
Decode a certificate from a string that uses the PEM encoding format.
virtual x509_st * getCert() const =0
Retrieve the native X509 certificate value wrapped by this object.
static CertificatePtr load(const std::string &file)
Load the certificate from a file.
Represents the IceSSL plug-in object.
Definition OpenSSL.h:109
virtual void setContext(SSL_CTX *ctx)=0
Establishes the OpenSSL context.
virtual SSL_CTX * getContext()=0
Obtains the SSL context.
virtual Ice::Long getOpenSSLVersion() const =0
Obtains the OpenSSL version number.
Represents the IceSSL plug-in object.
Definition Plugin.h:665
::std::shared_ptr< Plugin > PluginPtr
Definition OpenSSL.h:141
::std::shared_ptr< Certificate > CertificatePtr
Definition OpenSSL.h:60
Definition ConnectionInfo.h:59
Definition BuiltinSequences.h:56
long long int Long
The mapping for the Slice long type.
Definition Config.h:57