summaryrefslogtreecommitdiff
path: root/cpp/src/IceSSL/WinRTEngine.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'cpp/src/IceSSL/WinRTEngine.cpp')
-rwxr-xr-xcpp/src/IceSSL/WinRTEngine.cpp20
1 files changed, 18 insertions, 2 deletions
diff --git a/cpp/src/IceSSL/WinRTEngine.cpp b/cpp/src/IceSSL/WinRTEngine.cpp
index 651fd2ace53..b2bbf069e34 100755
--- a/cpp/src/IceSSL/WinRTEngine.cpp
+++ b/cpp/src/IceSSL/WinRTEngine.cpp
@@ -41,16 +41,26 @@ WinRTEngine::initialize()
const auto properties = communicator()->getProperties();
//
+ // Load CAs
+ //
+ //string ca = properties->getProperty("IceSSL.CAs");
+ //if(!ca.empty())
+ //{
+ // _ca = Certificate::load(ca);
+ //}
+
+ //
// Load client certificate
//
string findCert = properties->getProperty("IceSSL.FindCert");
if(!findCert.empty())
{
auto certs = findCertificates(properties->getPropertyWithDefault("IceSSL.CertStore", "My"), findCert);
- if(certs->Size > 0)
+ if(certs->Size == 0)
{
- _certificate = make_shared<IceSSL::Certificate>(certs->GetAt(0));
+ throw Ice::PluginInitializationException(__FILE__, __LINE__, "IceSSL: no certificates found");
}
+ _certificate = make_shared<IceSSL::Certificate>(certs->GetAt(0));
}
_initialized = true;
}
@@ -61,6 +71,12 @@ WinRTEngine::initialized() const
return _initialized;
}
+//shared_ptr<Certificate>
+//WinRTEngine::ca()
+//{
+// return _ca;
+//}
+
shared_ptr<Certificate>
WinRTEngine::certificate()
{