diff options
Diffstat (limited to 'cpp/src/IceSSL/WinRTEngine.cpp')
-rwxr-xr-x | cpp/src/IceSSL/WinRTEngine.cpp | 20 |
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() { |