summaryrefslogtreecommitdiff
path: root/cpp/src/IceSSL/OpenSSLTransceiverI.h
diff options
context:
space:
mode:
authorBenoit Foucher <benoit@zeroc.com>2015-04-17 16:56:32 +0200
committerBenoit Foucher <benoit@zeroc.com>2015-04-17 16:56:32 +0200
commit76c9d40ecc5bd5edcfbfaab9b2902e35cc1ac19a (patch)
tree00385dd48603a40e66750557f25a281505625680 /cpp/src/IceSSL/OpenSSLTransceiverI.h
parentFixed SChannel issue where intermediate certificates were not being sent (diff)
downloadice-76c9d40ecc5bd5edcfbfaab9b2902e35cc1ac19a.tar.bz2
ice-76c9d40ecc5bd5edcfbfaab9b2902e35cc1ac19a.tar.xz
ice-76c9d40ecc5bd5edcfbfaab9b2902e35cc1ac19a.zip
Fixed IceSSL OpenSSL implementation to provide and use the verified certificate chain
Diffstat (limited to 'cpp/src/IceSSL/OpenSSLTransceiverI.h')
-rw-r--r--cpp/src/IceSSL/OpenSSLTransceiverI.h5
1 files changed, 5 insertions, 0 deletions
diff --git a/cpp/src/IceSSL/OpenSSLTransceiverI.h b/cpp/src/IceSSL/OpenSSLTransceiverI.h
index 43c43d1214f..85fa55d4548 100644
--- a/cpp/src/IceSSL/OpenSSLTransceiverI.h
+++ b/cpp/src/IceSSL/OpenSSLTransceiverI.h
@@ -11,6 +11,7 @@
#define ICE_SSL_TRANSCEIVER_I_H
#include <IceSSL/Config.h>
+#include <IceSSL/Util.h>
#include <IceSSL/InstanceF.h>
#include <IceSSL/Plugin.h>
#include <IceSSL/SSLEngineF.h>
@@ -48,12 +49,15 @@ public:
virtual void checkSendSize(const IceInternal::Buffer&);
virtual void setBufferSize(int rcvSize, int sndSize);
+ int verifyCallback(int , X509_STORE_CTX*);
+
private:
TransceiverI(const InstancePtr&, const IceInternal::StreamSocketPtr&, const std::string&, bool);
virtual ~TransceiverI();
virtual NativeConnectionInfoPtr getNativeConnectionInfo() const;
+ NativeConnectionInfoPtr initNativeConnectionInfo(X509_STORE_CTX*) const;
friend class ConnectorI;
friend class AcceptorI;
@@ -64,6 +68,7 @@ private:
const std::string _adapterName;
const bool _incoming;
const IceInternal::StreamSocketPtr _stream;
+ NativeConnectionInfoPtr _info;
SSL* _ssl;
};