#include <yassl_imp.hpp>
Inheritance diagram for yaSSL::ClientKeyExchange:


Public Member Functions | |
| ClientKeyExchange (SSL &ssl) | |
| ClientKeyExchange () | |
| ~ClientKeyExchange () | |
| void | createKey (SSL &) |
| void | build (SSL &ssl) |
| const opaque * | getKey () const |
| int | getKeyLength () const |
| input_buffer & | set (input_buffer &in) |
| output_buffer & | get (output_buffer &out) const |
| HandShakeType | get_type () const |
| void | Process (input_buffer &, SSL &) |
Private Member Functions | |
| ClientKeyExchange (const ClientKeyExchange &) | |
| ClientKeyExchange & | operator= (const ClientKeyExchange &) |
Private Attributes | |
| ClientKeyBase * | client_key_ |
Friends | |
| output_buffer & | operator<< (output_buffer &, const ClientKeyExchange &) |
Definition at line 535 of file yassl_imp.hpp.
| yaSSL::ClientKeyExchange::ClientKeyExchange | ( | SSL & | ssl | ) | [explicit] |
Definition at line 1813 of file yassl_imp.cpp.
References createKey().
01814 { 01815 createKey(ssl); 01816 }
Here is the call graph for this function:

| yaSSL::ClientKeyExchange::ClientKeyExchange | ( | ) |
| yaSSL::ClientKeyExchange::~ClientKeyExchange | ( | ) |
Definition at line 1824 of file yassl_imp.cpp.
References client_key_, and yaSSL::ysDelete().
01825 { 01826 ysDelete(client_key_); 01827 }
Here is the call graph for this function:

| yaSSL::ClientKeyExchange::ClientKeyExchange | ( | const ClientKeyExchange & | ) | [private] |
| void yaSSL::ClientKeyExchange::build | ( | SSL & | ssl | ) |
Definition at line 1830 of file yassl_imp.cpp.
References yaSSL::ClientKeyBase::build(), client_key_, yaSSL::ClientKeyBase::get_length(), and yaSSL::HandShakeBase::set_length().
Referenced by yaSSL::sendClientKeyExchange().
01831 { 01832 client_key_->build(ssl); 01833 set_length(client_key_->get_length()); 01834 }
Here is the call graph for this function:

Here is the caller graph for this function:

| void yaSSL::ClientKeyExchange::createKey | ( | SSL & | ) |
Definition at line 63 of file yassl_imp.cpp.
References client_key_, yaSSL::Factory< AbstractProduct, IdentifierType, ProductCreator >::CreateObject(), yaSSL::factory_error, yaSSL::Security::get_parms(), yaSSL::sslFactory::getClientKey(), yaSSL::SSL::getFactory(), yaSSL::SSL::getSecurity(), yaSSL::Parameters::kea_, and yaSSL::SSL::SetError().
Referenced by ClientKeyExchange(), and Process().
00064 { 00065 const ClientKeyFactory& ckf = ssl.getFactory().getClientKey(); 00066 client_key_ = ckf.CreateObject(ssl.getSecurity().get_parms().kea_); 00067 00068 if (!client_key_) 00069 ssl.SetError(factory_error); 00070 }
Here is the call graph for this function:

Here is the caller graph for this function:

| output_buffer & yaSSL::ClientKeyExchange::get | ( | output_buffer & | out | ) | const [virtual] |
| HandShakeType yaSSL::ClientKeyExchange::get_type | ( | ) | const [virtual] |
Implements yaSSL::HandShakeBase.
Definition at line 1860 of file yassl_imp.cpp.
References yaSSL::client_key_exchange.
01861 { 01862 return client_key_exchange; 01863 }
| const opaque * yaSSL::ClientKeyExchange::getKey | ( | ) | const |
Definition at line 1836 of file yassl_imp.cpp.
References client_key_, and yaSSL::ClientKeyBase::get_clientKey().
Referenced by yaSSL::operator<<().
01837 { 01838 return client_key_->get_clientKey(); 01839 }
Here is the call graph for this function:

Here is the caller graph for this function:

| int yaSSL::ClientKeyExchange::getKeyLength | ( | ) | const |
Definition at line 1842 of file yassl_imp.cpp.
References client_key_, and yaSSL::ClientKeyBase::get_length().
Referenced by yaSSL::operator<<().
01843 { 01844 return client_key_->get_length(); 01845 }
Here is the call graph for this function:

Here is the caller graph for this function:

| ClientKeyExchange& yaSSL::ClientKeyExchange::operator= | ( | const ClientKeyExchange & | ) | [private] |
| void yaSSL::ClientKeyExchange::Process | ( | input_buffer & | , | |
| SSL & | ||||
| ) | [virtual] |
Implements yaSSL::HandShakeBase.
Definition at line 1800 of file yassl_imp.cpp.
References yaSSL::build_certHashes(), client_key_, yaSSL::clientKeyExchangeComplete, createKey(), yaSSL::SSL::GetError(), and yaSSL::ClientKeyBase::read().
01801 { 01802 createKey(ssl); 01803 if (ssl.GetError()) return; 01804 client_key_->read(ssl, input); 01805 01806 if (ssl.getCrypto().get_certManager().verifyPeer()) 01807 build_certHashes(ssl, ssl.useHashes().use_certVerify()); 01808 01809 ssl.useStates().useServer() = clientKeyExchangeComplete; 01810 }
Here is the call graph for this function:

| input_buffer & yaSSL::ClientKeyExchange::set | ( | input_buffer & | in | ) | [virtual] |
| output_buffer& operator<< | ( | output_buffer & | output, | |
| const ClientKeyExchange & | ck | |||
| ) | [friend] |
Definition at line 536 of file yassl_imp.hpp.
Referenced by build(), createKey(), getKey(), getKeyLength(), Process(), and ~ClientKeyExchange().
1.4.7

