summaryrefslogtreecommitdiff
path: root/cpp/src/IceSSL/SSLEngine.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'cpp/src/IceSSL/SSLEngine.cpp')
-rw-r--r--cpp/src/IceSSL/SSLEngine.cpp22
1 files changed, 15 insertions, 7 deletions
diff --git a/cpp/src/IceSSL/SSLEngine.cpp b/cpp/src/IceSSL/SSLEngine.cpp
index 355b8fad16f..81f36d38948 100644
--- a/cpp/src/IceSSL/SSLEngine.cpp
+++ b/cpp/src/IceSSL/SSLEngine.cpp
@@ -22,11 +22,13 @@
using namespace std;
using namespace Ice;
+using namespace IceUtil;
using namespace IceSSL;
IceUtil::Shared* IceSSL::upCast(IceSSL::SSLEngine* p) { return p; }
IceSSL::SSLEngine::SSLEngine(const Ice::CommunicatorPtr& communicator) :
+ _initialized(false),
_communicator(communicator),
_logger(communicator->getLogger()),
_trustManager(new TrustManager(communicator))
@@ -80,6 +82,13 @@ IceSSL::SSLEngine::password(bool /*encrypting*/)
}
}
+bool
+IceSSL::SSLEngine::initialized() const
+{
+ Mutex::Lock lock(_mutex);
+ return _initialized;
+}
+
string
IceSSL::SSLEngine::getPassword() const
{
@@ -128,13 +137,8 @@ IceSSL::SSLEngine::initialize()
}
void
-IceSSL::SSLEngine::verifyPeer(const string& address, const NativeConnectionInfoPtr& info, const string& desc)
+IceSSL::SSLEngine::verifyPeerCertName(const string& address, const NativeConnectionInfoPtr& info)
{
- const CertificateVerifierPtr verifier = getCertificateVerifier();
-
-#if defined(ICE_USE_SCHANNEL) || \
- (defined(ICE_USE_OPENSSL) && defined(OPENSSL_VERSION_NUMBER) && OPENSSL_VERSION_NUMBER < 0x10002000L)
-
//
// For an outgoing connection, we compare the proxy address (if any) against
// fields in the server's certificate (if any).
@@ -219,8 +223,12 @@ IceSSL::SSLEngine::verifyPeer(const string& address, const NativeConnectionInfoP
}
}
}
-#endif
+}
+void
+IceSSL::SSLEngine::verifyPeer(const string& address, const NativeConnectionInfoPtr& info, const string& desc)
+{
+ const CertificateVerifierPtr verifier = getCertificateVerifier();
if(_verifyDepthMax > 0 && static_cast<int>(info->certs.size()) > _verifyDepthMax)
{
ostringstream ostr;