Previous Table of Contents   Next  


24.9.3 Module CSIIOP - CSIv2 IOR Component Tag Definitions


   #ifndef _CSIIOP_IDL_#define _CSIIOP_IDL_import ::IOPimport ::CSI

   module CSIIOP {typeprefix CIIOP “omg.org?;

   // Association options

   typedef unsigned short AssociationOptions;

   const AssociationOptions NoProtection = 1;const AssociationOptions Integrity = 2;const AssociationOptions Confidentiality = 4; const AssociationOptions DetectReplay = 8;const AssociationOptions DetectMisordering = 16;const AssociationOptions EstablishTrustInTarget = 32; const AssociationOptions EstablishTrustInClient = 64;const AssociationOptions NoDelegation = 128;const AssociationOptions SimpleDelegation = 256;const AssociationOptions CompositeDelegation = 512;const AssociationOptions IdentityAssertion = 1024;const AssociationOptions DelegationByClient = 2048;

   // The high order 20-bits of each ServiceConfigurationSyntax constant// shall contain the Vendor Minor Codeset ID (VMCID) of the// organization that defined the syntax. The low order 12 bits shall// contain the organization-scoped syntax identifier. The high-order 20// bits of all syntaxes defined by the OMG shall contain the VMCID// allocated to the OMG (that is, 0x4F4D0).

   typedef unsigned long ServiceConfigurationSyntax;

   const ServiceConfigurationSyntax SCS_GeneralNames = CSI::OMGVMCID | 0; const ServiceConfigurationSyntax SCS_GSSExportedName = CSI::OMGVMCID | 1;

   typedef sequence <octet> ServiceSpecificName; // The name field of the ServiceConfiguration structure identifies a // privilege authority in the format identified in the syntax field. If the // syntax is SCS_GeneralNames, the name field contains an ASN.1 (BER) // SEQUENCE [1..MAX] OF GeneralName, as defined by the type GeneralNames in // [IETF RFC 2459]. If the syntax is SCS_GSSExportedName, the name field // contains a GSS exported name encoded according to the rules in // [IETF RFC 2743] Section 3.2, "Mechanism-Independent Exported Name // Object Format," p. 84.

   struct ServiceConfiguration { ServiceConfigurationSyntax syntax; ServiceSpecificName name;

   };

   typedef sequence <ServiceConfiguration> ServiceConfigurationList;

   // The body of the TAG_NULL_TAG component is a sequence of octets of // length 0.

   // type used to define AS layer functionality within a compound mechanism // definition

   struct AS_ContextSec { AssociationOptions target_supports; AssociationOptions target_requires; CSI::OID client_authentication_mech; CSI::GSS_NT_ExportedName target_name;

   };

   // type used to define SAS layer functionality within a compound mechanism // definition

   struct SAS_ContextSec { AssociationOptions target_supports; AssociationOptions target_requires; ServiceConfigurationList privilege_authorities; CSI::OIDList supported_naming_mechanisms; CSI::IdentityTokenType supported_identity_types;

   };

   // type used in the body of a TAG_CSI_SEC_MECH_LIST component to // describe a compound mechanism

   struct CompoundSecMech { AssociationOptions target_requires; IOP::TaggedComponent transport_mech; AS_ContextSec as_context_mech; SAS_ContextSec sas_context_mech;

   };

   typedef sequence <CompoundSecMech> CompoundSecMechanisms;

   // type corresponding to the body of a TAG_CSI_SEC_MECH_LIST // component

   struct CompoundSecMechList {boolean stateful;CompoundSecMechanisms mechanism_list;

   };

   struct TransportAddress {string host_name;unsigned short port;

   };

   typedef sequence <TransportAddress> TransportAddressList;

   // Tagged component for configuring SECIOP as a CSIv2 transport mechanism

   const IOP::ComponentId TAG_SECIOP_SEC_TRANS = 35;

   struct SECIOP_SEC_TRANS {AssociationOptions target_supports;AssociationOptions target_requires;CSI::OID mech_oid;CSI::GSS_NT_ExportedName target_name;TransportAddressList addresses;

   };

   // tagged component for configuring TLS/SSL as a CSIv2 transport mechanism

   const IOP::ComponentId TAG_TLS_SEC_TRANS = 36;

   struct TLS_SEC_TRANS {AssociationOptions target_supports;AssociationOptions target_requires;TransportAddressList addresses;

   };

    }; //CSIIOP

   #endif