diff options
Diffstat (limited to 'ruby/src/IceRuby/Connection.cpp')
-rw-r--r-- | ruby/src/IceRuby/Connection.cpp | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/ruby/src/IceRuby/Connection.cpp b/ruby/src/IceRuby/Connection.cpp index 4f6b615ffc2..03e872ea8fb 100644 --- a/ruby/src/IceRuby/Connection.cpp +++ b/ruby/src/IceRuby/Connection.cpp @@ -385,7 +385,14 @@ IceRuby::createConnectionInfo(const Ice::ConnectionInfoPtr& p) IceSSL::ConnectionInfoPtr ssl = IceSSL::ConnectionInfoPtr::dynamicCast(p); rb_ivar_set(info, rb_intern("@cipher"), createString(ssl->cipher)); - rb_ivar_set(info, rb_intern("@certs"), stringSeqToArray(ssl->certs)); + + Ice::StringSeq encoded; + for(vector<IceSSL::CertificatePtr>::const_iterator i = ssl->certs.begin(); i != ssl->certs.end(); ++i) + { + encoded.push_back((*i)->encode()); + } + + rb_ivar_set(info, rb_intern("@certs"), stringSeqToArray(encoded)); rb_ivar_set(info, rb_intern("@verified"), ssl->verified ? Qtrue : Qfalse); } else if(Ice::IPConnectionInfoPtr::dynamicCast(p)) |