module SecurityLevel2 {
interface Credentials {// Locality Constrained
Credentials copy ();
void destroy();
void set_security_features ( in Security::CommunicationDirection direction, in Security::SecurityFeatureValueList security_features); // veja abaixo Security::SecurityFeatureValueList get_security_features ( in Security::CommunicationDirection direction); boolean set_privileges ( in boolean force_commit, in Security::AttributeList requested_privileges, out Security::AttributeList actual_privileges); Security::AttributeList get_attributes ( in Security::AttributeTypeList attributes); boolean is_valid (out Security::UtcT expiry_time); // note o out boolean refresh(); // permite que a aplicação renove a credencial }; typedef sequence <Credentials> CredentialsList;
enum SecurityFeature { SecNoDelegation, SecSimpleDelegation, SecCompositeDelegation, SecNoProtection, SecIntegrity, SecConfidentiality, SecIntegrityAndConfidentiality, SecDetectReplay, SecDetectMisordering, SecEstablishTrustInTarget };