diff options
Diffstat (limited to 'cpp/src/Glacier2/SessionRouterI.cpp')
-rw-r--r-- | cpp/src/Glacier2/SessionRouterI.cpp | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/cpp/src/Glacier2/SessionRouterI.cpp b/cpp/src/Glacier2/SessionRouterI.cpp index 19ca27d2d8a..cd150de5fa2 100644 --- a/cpp/src/Glacier2/SessionRouterI.cpp +++ b/cpp/src/Glacier2/SessionRouterI.cpp @@ -477,7 +477,7 @@ CreateSession::CreateSession(const SessionRouterIPtr& sessionRouter, const strin _context["_con.cipher"] = info->cipher; if(info->certs.size() > 0) { - _context["_con.peerCert"] = info->certs[0]; + _context["_con.peerCert"] = info->certs[0]->encode(); } } } @@ -853,10 +853,13 @@ SessionRouterI::createSessionFromSecureConnection_async( sslinfo.localPort = ipInfo->localPort; sslinfo.localHost = ipInfo->localAddress; sslinfo.cipher = info->cipher; - sslinfo.certs = info->certs; + for(std::vector<IceSSL::CertificatePtr>::const_iterator i = info->certs.begin(); i != info->certs.end(); ++i) + { + sslinfo.certs.push_back((*i)->encode()); + } if(info->certs.size() > 0) { - userDN = IceSSL::Certificate::decode(info->certs[0])->getSubjectDN(); + userDN = info->certs[0]->getSubjectDN(); } } catch(const IceSSL::CertificateEncodingException&) |