openikev2::CryptoController Class Reference

This class allows to perform cryptographical operations using several concrete implementations. More...

#include <cryptocontroller.h>

List of all members.

Static Public Member Functions

static void setImplementation (auto_ptr< CryptoControllerImpl > impl)
 Sets the CryptoController implementation.
static auto_ptr< DiffieHellmangetDiffieHellman (Enums::DH_ID group)
 Creates a new DiffieHellman object using the current implementation.
static auto_ptr< CiphergetCipher (Proposal &proposal, auto_ptr< ByteArray > encr_key, auto_ptr< ByteArray > integ_key)
 Creates a new Cipher object.
static auto_ptr< RandomgetRandom ()
 Creates a new Random object using the current implementation.
static auto_ptr< PseudoRandomFunctiongetPseudoRandomFunction (Transform &prf_transform)
 Creates a new PseudoRandomFunction object.
static auto_ptr< KeyRinggetKeyRing (Proposal &proposal, const PseudoRandomFunction &prf)
 Creates a new KeyRing object.
static auto_ptr< Payload_NOTIFYgenerateCookie (Message &message)
 Creates a new cookie using the current implementation.
static 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.

Static Protected Attributes

static auto_ptr< CryptoControllerImplimplementation
 Implementation of the CryptoController.


Detailed Description

This class allows to perform cryptographical operations using several concrete implementations.

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


Member Function Documentation

void openikev2::CryptoController::setImplementation ( auto_ptr< CryptoControllerImpl impl  )  [static]

Sets the CryptoController implementation.

The old one will be deleted.

Parameters:
impl CryptoController implementation

auto_ptr< DiffieHellman > openikev2::CryptoController::getDiffieHellman ( Enums::DH_ID  group  )  [static]

Creates a new DiffieHellman object using the current implementation.

Parameters:
group DiffieHellman group
Returns:
A new DiffieHellman object

auto_ptr< Cipher > openikev2::CryptoController::getCipher ( Proposal proposal,
auto_ptr< ByteArray encr_key,
auto_ptr< ByteArray integ_key 
) [static]

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

auto_ptr< Random > openikev2::CryptoController::getRandom (  )  [static]

Creates a new Random object using the current implementation.

Returns:
A new Random object

auto_ptr< PseudoRandomFunction > openikev2::CryptoController::getPseudoRandomFunction ( Transform prf_transform  )  [static]

Creates a new PseudoRandomFunction object.

Parameters:
prf_transform PRF trandform
Returns:
A new PseudoRandomFunction object

auto_ptr< KeyRing > openikev2::CryptoController::getKeyRing ( Proposal proposal,
const PseudoRandomFunction prf 
) [static]

Creates a new KeyRing object.

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

auto_ptr< Payload_NOTIFY > openikev2::CryptoController::generateCookie ( Message message  )  [static]

Creates a new cookie using the current implementation.

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

auto_ptr< Proposal > openikev2::CryptoController::chooseProposal ( Payload_SA received_payload_sa,
Proposal desired_proposal 
) [static]

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