TAO::SSLIOP::ClientCredentials Class Reference

#include <SSLIOP_ClientCredentials.h>

Inheritance diagram for TAO::SSLIOP::ClientCredentials:

Inheritance graph
[legend]
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_

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.

References TAO::SSLIOP::OpenSSL_st_var< T >::in().

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]
 

Implements TAO::SSLIOP_Credentials.

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, TAO::SSLIOP::OpenSSL_st_var< T >::in(), and ssl_.

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.

Referenced by parent_credentials().


The documentation for this class was generated from the following files:
Generated on Sun Jan 27 16:14:08 2008 for TAO_SSLIOP by doxygen 1.3.6