Problem
- Product Name: VisiBroker
 - Product Version: 7.0
 - Platform/OS version: ALL
 - JDK: ALL
 
The method getPeerCertificateChain() has been changed in VisiBroker 7.0 onwards. The following code will work on VisiBroker 6.5 but not on VisiBroker 7.0 onwards.
 CORBA::Object_var obj = orb->resolve_initial_references("SSLCurrent");
 ssl::Current_var current = ssl::Current::_narrow(obj);
 ::CORBAsec::X509CertList_var certList = current->getPeerCertificateChain(current);
 The function ssl::Current::getPeerCertificateChain(CORBA::Object_ptr peer) is used to get "peer" object's CertificateChain. In VisiBroker 7.0, this call will throw CORBA::MARSHAL exception with minor code 4f4d0000. 
Resolution
From VisiBroker 7.0 onwards, if you want to get peer info(getPeerCertificates) of the client/server side from the server/client, you need to use vbsec::SSLSession::getPeerCertificates() to get this information.
 
 Example:
 
 const vbsec::SSLSession* ses = _seccur->getPeerSession( NULL); ....
 const CORBAsec::X509CertList& liz = ses->getPeerCertificates();
 
 Please refer the file "BankImplSec.h" in the /examples/vbroker/security/bank_ssl example.
#Security
#getPeerCertificates
#getPeerCertificateChain
#VisiBroker