00001 // -*- C++ -*- 00002 00003 //============================================================================= 00004 /** 00005 * @file SSLIOP_TargetCredentials.h 00006 * 00007 * SSLIOP_TargetCredentials.h,v 1.14 2006/03/14 06:14:35 jtc Exp 00008 * 00009 * @author Ossama Othman <ossama@dre.vanderbilt.edu> 00010 */ 00011 //============================================================================= 00012 00013 #ifndef TAO_SSLIOP_TARGET_CREDENTIALS_H 00014 #define TAO_SSLIOP_TARGET_CREDENTIALS_H 00015 00016 #include /**/ "ace/pre.h" 00017 00018 #include "orbsvcs/SSLIOP/SSLIOP_Export.h" 00019 00020 #if !defined (ACE_LACKS_PRAGMA_ONCE) 00021 #pragma once 00022 #endif /* ACE_LACKS_PRAGMA_ONCE */ 00023 00024 #include "orbsvcs/SSLIOP/SSLIOP_Credentials.h" 00025 00026 TAO_BEGIN_VERSIONED_NAMESPACE_DECL 00027 00028 namespace TAO 00029 { 00030 namespace SSLIOP 00031 { 00032 /** 00033 * @class TargetCredentials 00034 * 00035 * @brief SSLIOP-specific implementation of the 00036 * SecurityLevel3::TargetCredentials interface. 00037 * 00038 * This class implements SSLIOP-specific 00039 * SecurityLevel3::TargetCredentials. 00040 */ 00041 class TAO_SSLIOP_Export TargetCredentials 00042 : public virtual SecurityLevel3::TargetCredentials, 00043 public virtual SSLIOP_Credentials 00044 { 00045 public: 00046 00047 TargetCredentials (::X509 *cert, ::EVP_PKEY *evp); 00048 00049 /** 00050 * @name SecurityLevel3::Credentials Methods 00051 * 00052 * Methods required by the SecurityLevel3::Credentials 00053 * interface. 00054 */ 00055 //@{ 00056 virtual SecurityLevel3::CredentialsType creds_type ( 00057 ACE_ENV_SINGLE_ARG_DECL) 00058 ACE_THROW_SPEC ((CORBA::SystemException)); 00059 //@} 00060 00061 /** 00062 * @name SecurityLevel3::TargetCredentials Methods 00063 * 00064 * Methods required by the SecurityLevel3::TargetCredentials 00065 * interface. 00066 */ 00067 //@{ 00068 virtual char * context_id (ACE_ENV_SINGLE_ARG_DECL) 00069 ACE_THROW_SPEC ((CORBA::SystemException)); 00070 00071 virtual SecurityLevel3::Principal * client_principal ( 00072 ACE_ENV_SINGLE_ARG_DECL) 00073 ACE_THROW_SPEC ((CORBA::SystemException)); 00074 00075 virtual SecurityLevel3::StatementList * client_supporting_statements ( 00076 ACE_ENV_SINGLE_ARG_DECL) 00077 ACE_THROW_SPEC ((CORBA::SystemException)); 00078 00079 virtual SecurityLevel3::ResourceNameList * client_restricted_resources ( 00080 ACE_ENV_SINGLE_ARG_DECL) 00081 ACE_THROW_SPEC ((CORBA::SystemException)); 00082 00083 virtual SecurityLevel3::Principal * target_principal ( 00084 ACE_ENV_SINGLE_ARG_DECL) 00085 ACE_THROW_SPEC ((CORBA::SystemException)); 00086 00087 virtual SecurityLevel3::StatementList * target_supporting_statements ( 00088 ACE_ENV_SINGLE_ARG_DECL) 00089 ACE_THROW_SPEC ((CORBA::SystemException)); 00090 00091 virtual SecurityLevel3::ResourceNameList * target_restricted_resources ( 00092 ACE_ENV_SINGLE_ARG_DECL) 00093 ACE_THROW_SPEC ((CORBA::SystemException)); 00094 00095 virtual SecurityLevel3::OwnCredentials_ptr parent_credentials ( 00096 ACE_ENV_SINGLE_ARG_DECL) 00097 ACE_THROW_SPEC ((CORBA::SystemException)); 00098 00099 virtual CORBA::Boolean client_authentication (ACE_ENV_SINGLE_ARG_DECL) 00100 ACE_THROW_SPEC ((CORBA::SystemException)); 00101 00102 virtual CORBA::Boolean target_authentication (ACE_ENV_SINGLE_ARG_DECL) 00103 ACE_THROW_SPEC ((CORBA::SystemException)); 00104 00105 virtual CORBA::Boolean confidentiality (ACE_ENV_SINGLE_ARG_DECL) 00106 ACE_THROW_SPEC ((CORBA::SystemException)); 00107 00108 virtual CORBA::Boolean integrity (ACE_ENV_SINGLE_ARG_DECL) 00109 ACE_THROW_SPEC ((CORBA::SystemException)); 00110 00111 virtual CORBA::Boolean target_embodied (ACE_ENV_SINGLE_ARG_DECL) 00112 ACE_THROW_SPEC ((CORBA::SystemException)); 00113 00114 virtual CORBA::Boolean target_endorsed (ACE_ENV_SINGLE_ARG_DECL) 00115 ACE_THROW_SPEC ((CORBA::SystemException)); 00116 00117 virtual void release (ACE_ENV_SINGLE_ARG_DECL) 00118 ACE_THROW_SPEC ((CORBA::SystemException)); 00119 //@} 00120 00121 }; 00122 } 00123 } 00124 00125 TAO_END_VERSIONED_NAMESPACE_DECL 00126 00127 #include /**/ "ace/post.h" 00128 00129 #endif /* TAO_SSLIOP_TARGET_CREDENTIALS_H */