00001
00002
00003 #include "orbsvcs/Security/SL3_SecurityManager.h"
00004 #include "orbsvcs/Security/SL3_ContextEstablishmentPolicy.h"
00005 #include "orbsvcs/Security/SL3_ObjectCredentialsPolicy.h"
00006
00007
00008 ACE_RCSID (Security,
00009 SL3_SecurityManager,
00010 "SL3_SecurityManager.cpp,v 1.5 2006/03/14 06:14:35 jtc Exp")
00011
00012
00013 TAO_BEGIN_VERSIONED_NAMESPACE_DECL
00014
00015 TAO::SL3::SecurityManager::SecurityManager (
00016 SecurityLevel3::CredentialsCurator_ptr cc)
00017 : credentials_curator_ (SecurityLevel3::CredentialsCurator::_duplicate (cc))
00018 {
00019 }
00020
00021 TAO::SL3::SecurityManager::~SecurityManager (void)
00022 {
00023 }
00024
00025 SecurityLevel3::CredentialsCurator_ptr
00026 TAO::SL3::SecurityManager::credentials_curator (
00027 ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
00028 ACE_THROW_SPEC ((CORBA::SystemException))
00029 {
00030 return
00031 SecurityLevel3::CredentialsCurator::_duplicate (
00032 this->credentials_curator_.in ());
00033 }
00034
00035 SecurityLevel3::TargetCredentials_ptr
00036 TAO::SL3::SecurityManager::get_target_credentials (CORBA::Object_ptr
00037 ACE_ENV_ARG_DECL)
00038 ACE_THROW_SPEC ((CORBA::SystemException))
00039 {
00040 ACE_THROW_RETURN (CORBA::NO_IMPLEMENT (),
00041 SecurityLevel3::TargetCredentials::_nil ());
00042 }
00043
00044 SecurityLevel3::ContextEstablishmentPolicy_ptr
00045 TAO::SL3::SecurityManager::create_context_estab_policy (
00046 SecurityLevel3::CredsDirective creds_directive,
00047 const SecurityLevel3::OwnCredentialsList & creds_list,
00048 SecurityLevel3::FeatureDirective use_client_auth,
00049 SecurityLevel3::FeatureDirective use_target_auth,
00050 SecurityLevel3::FeatureDirective use_confidentiality,
00051 SecurityLevel3::FeatureDirective use_integrity
00052 ACE_ENV_ARG_DECL)
00053 ACE_THROW_SPEC ((CORBA::SystemException))
00054 {
00055 SecurityLevel3::ContextEstablishmentPolicy_ptr policy;
00056 ACE_NEW_THROW_EX (policy,
00057 TAO::SL3::ContextEstablishmentPolicy (creds_directive,
00058 creds_list,
00059 use_client_auth,
00060 use_target_auth,
00061 use_confidentiality,
00062 use_integrity),
00063 CORBA::NO_MEMORY ());
00064 ACE_CHECK_RETURN (policy);
00065
00066 return policy;
00067 }
00068
00069 SecurityLevel3::ObjectCredentialsPolicy_ptr
00070 TAO::SL3::SecurityManager::create_object_creds_policy (
00071 const SecurityLevel3::OwnCredentialsList & creds_list
00072 ACE_ENV_ARG_DECL)
00073 ACE_THROW_SPEC ((CORBA::SystemException))
00074 {
00075 SecurityLevel3::ObjectCredentialsPolicy_ptr policy;
00076 ACE_NEW_THROW_EX (policy,
00077 TAO::SL3::ObjectCredentialsPolicy (creds_list),
00078 CORBA::NO_MEMORY ());
00079 ACE_CHECK_RETURN (policy);
00080
00081 return policy;
00082 }
00083
00084 TAO_END_VERSIONED_NAMESPACE_DECL