ORBAsec SL3 uses this kind of mechanism because it is the easiest way to represent optional arguments.
To alleviate the hassles of dealing with any's and creating them, there is a factory retrieved by ORB::resolve_initial_references using "SL3:ArgumentFactory". From this object one may create an acquisition argument builder. This approach takes most of the work out of forming the Credentials acquisition argument. The form of the arguments and their requiredness or optionality are defined by the specific acquisition mechanisms using them. The Credentials Acquired with these arguments handle the CORBA CSIv2 protocol.
const SecurityLevel3::AcquisitionMethod AQM_CSIArgs = "CSIArgs";There is currently only one acquisition method for CSI based Credentials.