#include <SSLIOP_ClientCredentials.h>
Collaboration diagram for TAO::SSLIOP::ClientCredentials:
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_ |
Definition at line 51 of file SSLIOP_ClientCredentials.h.
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.
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] |
SecurityLevel3::ResourceNameList * TAO::SSLIOP::ClientCredentials::client_restricted_resources | ( | ) | [virtual] |
SecurityLevel3::StatementList * TAO::SSLIOP::ClientCredentials::client_supporting_statements | ( | ) | [virtual] |
CORBA::Boolean TAO::SSLIOP::ClientCredentials::confidentiality | ( | void | ) | [virtual] |
char * TAO::SSLIOP::ClientCredentials::context_id | ( | void | ) | [virtual] |
SecurityLevel3::CredentialsType TAO::SSLIOP::ClientCredentials::creds_type | ( | ) | [virtual] |
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] |
SecurityLevel3::Principal * TAO::SSLIOP::ClientCredentials::target_principal | ( | ) | [virtual] |
SecurityLevel3::ResourceNameList * TAO::SSLIOP::ClientCredentials::target_restricted_resources | ( | ) | [virtual] |
SecurityLevel3::StatementList * TAO::SSLIOP::ClientCredentials::target_supporting_statements | ( | ) | [virtual] |
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.