diff options
Diffstat (limited to 'cpp/src/IceSSL/OpenSSLUtil.h')
-rw-r--r-- | cpp/src/IceSSL/OpenSSLUtil.h | 63 |
1 files changed, 63 insertions, 0 deletions
diff --git a/cpp/src/IceSSL/OpenSSLUtil.h b/cpp/src/IceSSL/OpenSSLUtil.h new file mode 100644 index 00000000000..6edf4d11009 --- /dev/null +++ b/cpp/src/IceSSL/OpenSSLUtil.h @@ -0,0 +1,63 @@ +// ********************************************************************** +// +// Copyright (c) 2003-2017 ZeroC, Inc. All rights reserved. +// +// This copy of Ice is licensed to you under the terms described in the +// ICE_LICENSE file included in this distribution. +// +// ********************************************************************** + +#ifndef ICESSL_OPENSSL_UTIL_I_H +#define ICESSL_OPENSSL_UTIL_I_H + +#include <IceUtil/Shared.h> +#include <IceUtil/Mutex.h> +#include <IceUtil/Handle.h> + +#include <openssl/ssl.h> + +#include <list> + +namespace IceSSL +{ + +namespace OpenSSL +{ + +#ifndef OPENSSL_NO_DH + +class DHParams : public IceUtil::Shared, public IceUtil::Mutex +{ +public: + + DHParams(); + ~DHParams(); + + bool add(int, const std::string&); + DH* get(int); + +private: + + typedef std::pair<int, DH*> KeyParamPair; + typedef std::list<KeyParamPair> ParamList; + ParamList _params; + + DH* _dh512; + DH* _dh1024; + DH* _dh2048; + DH* _dh4096; +}; +typedef IceUtil::Handle<DHParams> DHParamsPtr; + +#endif + +// +// Accumulate the OpenSSL error stack into a string. +// +std::string getSslErrors(bool); + +} // OpenSSL namespace end + +} // IceSSL namespace end + +#endif |