TAO::SSLIOP::ClientCredentials Class Reference

#include <SSLIOP_ClientCredentials.h>

Collaboration diagram for TAO::SSLIOP::ClientCredentials:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 ClientCredentials (::X509 *cert,::EVP_PKEY *evp,::SSL *ssl)
 Constructor.
SecurityLevel3::Credentials Methods
Methods required by the SecurityLevel3::Credentials interface.

virtual SecurityLevel3::CredentialsType creds_type ()
SecurityLevel3::ClientCredentials Methods
Methods required by the SecurityLevel3::ClientCredentials interface.

virtual char * context_id (void)
virtual SecurityLevel3::Principal * client_principal ()
virtual SecurityLevel3::StatementList * client_supporting_statements ()
virtual SecurityLevel3::ResourceNameList * client_restricted_resources ()
virtual SecurityLevel3::Principal * target_principal ()
virtual SecurityLevel3::StatementList * target_supporting_statements ()
virtual SecurityLevel3::ResourceNameList * target_restricted_resources ()
virtual SecurityLevel3::OwnCredentials_ptr parent_credentials ()
virtual CORBA::Boolean client_authentication (void)
virtual CORBA::Boolean target_authentication (void)
virtual CORBA::Boolean confidentiality (void)
virtual CORBA::Boolean integrity (void)

Protected Member Functions

 ~ClientCredentials (void)
 Destructor.

Private Attributes

TAO::SSLIOP::SSL_var ssl_

Detailed Description

Definition at line 51 of file SSLIOP_ClientCredentials.h.


Constructor & Destructor Documentation

TAO::SSLIOP::ClientCredentials::ClientCredentials ( ::X509 cert,
::EVP_PKEY evp,
::SSL *  ssl 
)

Constructor.

TAO::SSLIOP::ClientCredentials::~ClientCredentials ( void   )  [protected]

Destructor.

Protected destructor to enforce proper memory management through the reference counting mechanism.

Definition at line 23 of file SSLIOP_ClientCredentials.cpp.

00024 {
00025 }


Member Function Documentation

CORBA::Boolean TAO::SSLIOP::ClientCredentials::client_authentication ( void   )  [virtual]

Definition at line 91 of file SSLIOP_ClientCredentials.cpp.

00092 {
00093   // If the client presented no certificate (i.e. cert_.ptr() == 0),
00094   // the client was not authenticated.  Otherwise, verify the peer's
00095   // certificate.
00096 
00097   return
00098     this->x509_.in () != 0
00099     && SSL_get_verify_result (this->ssl_.in ()) == X509_V_OK;
00100 }

SecurityLevel3::Principal * TAO::SSLIOP::ClientCredentials::client_principal (  )  [virtual]

Definition at line 40 of file SSLIOP_ClientCredentials.cpp.

00041 {
00042   throw CORBA::NO_IMPLEMENT ();
00043 }

SecurityLevel3::ResourceNameList * TAO::SSLIOP::ClientCredentials::client_restricted_resources (  )  [virtual]

Definition at line 52 of file SSLIOP_ClientCredentials.cpp.

00053 {
00054   throw CORBA::NO_IMPLEMENT ();
00055 }

SecurityLevel3::StatementList * TAO::SSLIOP::ClientCredentials::client_supporting_statements (  )  [virtual]

Definition at line 46 of file SSLIOP_ClientCredentials.cpp.

00047 {
00048   throw CORBA::NO_IMPLEMENT ();
00049 }

CORBA::Boolean TAO::SSLIOP::ClientCredentials::confidentiality ( void   )  [virtual]

Definition at line 109 of file SSLIOP_ClientCredentials.cpp.

00110 {
00111   throw CORBA::NO_IMPLEMENT ();
00112 }

char * TAO::SSLIOP::ClientCredentials::context_id ( void   )  [virtual]

Definition at line 34 of file SSLIOP_ClientCredentials.cpp.

00035 {
00036   throw CORBA::NO_IMPLEMENT ();
00037 }

SecurityLevel3::CredentialsType TAO::SSLIOP::ClientCredentials::creds_type (  )  [virtual]

Definition at line 28 of file SSLIOP_ClientCredentials.cpp.

00029 {
00030   return SecurityLevel3::CT_ClientCredentials;
00031 }

CORBA::Boolean TAO::SSLIOP::ClientCredentials::integrity ( void   )  [virtual]

Definition at line 115 of file SSLIOP_ClientCredentials.cpp.

00116 {
00117   // TAO's SSLIOP pluggable transport always provides integrity.  Note
00118   // that if we
00119 
00120   return true;
00121 }

SecurityLevel3::OwnCredentials_ptr TAO::SSLIOP::ClientCredentials::parent_credentials (  )  [virtual]

Definition at line 76 of file SSLIOP_ClientCredentials.cpp.

References ACE_NEW_THROW_EX.

00077 {
00078   SecurityLevel3::OwnCredentials_ptr creds =
00079     SecurityLevel3::OwnCredentials::_nil ();
00080 
00081   ACE_NEW_THROW_EX (creds,
00082                     TAO::SSLIOP::OwnCredentials (
00083                       ::SSL_get_certificate (this->ssl_.in ()),
00084                       ::SSL_get_privatekey (this->ssl_.in ())),
00085                     CORBA::NO_MEMORY ());
00086 
00087   return creds;
00088 }

CORBA::Boolean TAO::SSLIOP::ClientCredentials::target_authentication ( void   )  [virtual]

Definition at line 103 of file SSLIOP_ClientCredentials.cpp.

00104 {
00105   throw CORBA::NO_IMPLEMENT ();
00106 }

SecurityLevel3::Principal * TAO::SSLIOP::ClientCredentials::target_principal (  )  [virtual]

Definition at line 58 of file SSLIOP_ClientCredentials.cpp.

00059 {
00060   throw CORBA::NO_IMPLEMENT ();
00061 }

SecurityLevel3::ResourceNameList * TAO::SSLIOP::ClientCredentials::target_restricted_resources (  )  [virtual]

Definition at line 70 of file SSLIOP_ClientCredentials.cpp.

00071 {
00072   throw CORBA::NO_IMPLEMENT ();
00073 }

SecurityLevel3::StatementList * TAO::SSLIOP::ClientCredentials::target_supporting_statements (  )  [virtual]

Definition at line 64 of file SSLIOP_ClientCredentials.cpp.

00065 {
00066   throw CORBA::NO_IMPLEMENT ();
00067 }


Member Data Documentation

TAO::SSLIOP::SSL_var TAO::SSLIOP::ClientCredentials::ssl_ [private]

Reference to the OpenSSL SSL data structure associated with the current security context (e.g. SSL connection).

Definition at line 115 of file SSLIOP_ClientCredentials.h.


The documentation for this class was generated from the following files:
Generated on Tue Feb 2 17:48:57 2010 for TAO_SSLIOP by  doxygen 1.4.7