openikev2::CryptoControllerImpl Class Reference

This abstract class represents a CryptoController concrete implementation. More...

#include <cryptocontrollerimpl.h>

List of all members.

Public Member Functions

virtual auto_ptr< DiffieHellmangetDiffieHellman (Enums::DH_ID group)=0
 Creates a new DiffieHellman object.
virtual auto_ptr< CiphergetCipher (Proposal &proposal, auto_ptr< ByteArray > encr_key, auto_ptr< ByteArray > integ_key)=0
 Creates a new Cipher object.
virtual auto_ptr< RandomgetRandom ()=0
 Creates a new Random object.
virtual auto_ptr< PseudoRandomFunctiongetPseudoRandomFunction (Transform &prf_transform)=0
 Creates a new PseudoRandomFunction object.
virtual auto_ptr< KeyRinggetKeyRing (Proposal &proposal, const PseudoRandomFunction &prf)=0
 Creates a new KeyRing object.
virtual auto_ptr< Payload_NOTIFYgenerateCookie (Message &message)=0
 Creates a new cookie.
virtual auto_ptr< ProposalchooseProposal (Payload_SA &received_payload_sa, Proposal &desired_proposal)
 Creates a new Proposal containing the matching selection between a received Payload_SA and a desired Proposal.

Protected Member Functions

virtual auto_ptr< ProposalselectBestTransfroms (Proposal &proposal)
 Generates a Proposal with the best of the contained Transforms for each type.


Detailed Description

This abstract class represents a CryptoController concrete implementation.

Author:
Alejandro Perez Mendez, Pedro J. Fernandez Ruiz <alejandro_perez@dif.um.es, pedroj.fernandez@dif.um.es>


Member Function Documentation

auto_ptr< Proposal > openikev2::CryptoControllerImpl::selectBestTransfroms ( Proposal proposal  )  [protected, virtual]

Generates a Proposal with the best of the contained Transforms for each type.

Parameters:
proposal Proposal
Returns:
A proposal containing the best Transforms for each type

virtual auto_ptr<DiffieHellman> openikev2::CryptoControllerImpl::getDiffieHellman ( Enums::DH_ID  group  )  [pure virtual]

Creates a new DiffieHellman object.

Parameters:
group DiffieHellman group
Returns:
A new DiffieHellman object

virtual auto_ptr<Cipher> openikev2::CryptoControllerImpl::getCipher ( Proposal proposal,
auto_ptr< ByteArray encr_key,
auto_ptr< ByteArray integ_key 
) [pure virtual]

Creates a new Cipher object.

Parameters:
proposal Proposal containing the ENCR and INTEG transforms
encr_key Encryption key
integ_key Integrity key
Returns:
A new Cipher

virtual auto_ptr<Random> openikev2::CryptoControllerImpl::getRandom (  )  [pure virtual]

Creates a new Random object.

Returns:
A new Random object

virtual auto_ptr<PseudoRandomFunction> openikev2::CryptoControllerImpl::getPseudoRandomFunction ( Transform prf_transform  )  [pure virtual]

Creates a new PseudoRandomFunction object.

Parameters:
prf_transform PRF tranform
Returns:
A new PseudoRandomFunction object

virtual auto_ptr<KeyRing> openikev2::CryptoControllerImpl::getKeyRing ( Proposal proposal,
const PseudoRandomFunction prf 
) [pure virtual]

Creates a new KeyRing object.

Parameters:
proposal Proposal containing all the transforms
prf PRF to be used
Returns:
A new KeyRing object

virtual auto_ptr<Payload_NOTIFY> openikev2::CryptoControllerImpl::generateCookie ( Message message  )  [pure virtual]

Creates a new cookie.

Parameters:
message Full IKE_SA_INIT request message
Returns:
A new COOKIE notify payload containing the new generated cookie

auto_ptr< Proposal > openikev2::CryptoControllerImpl::chooseProposal ( Payload_SA received_payload_sa,
Proposal desired_proposal 
) [virtual]

Creates a new Proposal containing the matching selection between a received Payload_SA and a desired Proposal.

Parameters:
received_payload_sa Received Payload_SA
desired_proposal Our desired Proposal
Returns:
A new negociated Proposal


Generated on Fri Jul 27 11:04:50 2007 for libopenikev2 by  doxygen 1.5.1