openikev2::KeyRing Class Reference

This class represents a KeyRing. More...

#include <keyring.h>

Inheritance diagram for openikev2::KeyRing:

Inheritance graph
[legend]
List of all members.

Public Member Functions

virtual void generateIkeSaKeys (ByteArray &nonce_i, ByteArray &nonce_r, uint64_t spi_i, uint64_t spi_r, ByteArray &shared_secret, ByteArray *old_sk_d)
 Generate the IKE_SA keys.
virtual void generateChildSaKeys (ByteArray &nonce_i, ByteArray &nonce_r, ByteArray &sk_d, ByteArray *shared_secret)
 Generate the CHILD_SA keys.
virtual string toStringTab (uint8_t tabs) const
 Construct a textual representation of the object, preceded of a num of tabs of size TAB_SIZE.

Public Attributes

auto_ptr< ByteArraysk_ai
 Key used for integrity operations in the initiator.
auto_ptr< ByteArraysk_ar
 Key used for integrity operations in the responder.
auto_ptr< ByteArraysk_ei
 Key used for encryption operations in the initiator.
auto_ptr< ByteArraysk_er
 Key used for encryption operations in the responder.
auto_ptr< ByteArraysk_pi
 Key used for Payload_AUTH generation in the initiator (IKE_SA only).
auto_ptr< ByteArraysk_pr
 Key used for Payload_AUTH generation in the responder (IKE_SA only).
auto_ptr< ByteArraysk_d
 Key used for deriving new keys for the CHILD_SAs (IKE_SA only).
auto_ptr< ByteArrayskeyseed
 Skeyseed (IKE_SA only).

Protected Attributes

PseudoRandomFunctionprf
 Pseudo random function used for key derivation.
uint32_t encr_key_size
 Encryption key size.
uint32_t integ_key_size
 Integrity key size.

Detailed Description

This class represents a KeyRing.

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


Member Function Documentation

void openikev2::KeyRing::generateIkeSaKeys ( ByteArray nonce_i,
ByteArray nonce_r,
uint64_t  spi_i,
uint64_t  spi_r,
ByteArray shared_secret,
ByteArray old_sk_d 
) [virtual]

Generate the IKE_SA keys.

Parameters:
nonce_i Initiator nonce
nonce_r Responder nonce
spi_i Initiator SPI
spi_r Responder SPI
shared_secret Shared secret
old_sk_d Old SK_d, for rekeying (use a NULL if not needed)

void openikev2::KeyRing::generateChildSaKeys ( ByteArray nonce_i,
ByteArray nonce_r,
ByteArray sk_d,
ByteArray shared_secret 
) [virtual]

Generate the CHILD_SA keys.

Parameters:
nonce_i Initiator nonce
nonce_r Initiator nonce
sk_d IKE_SA SK_d key
shared_secret Shared secret (use NULL if not needed)

string openikev2::KeyRing::toStringTab ( uint8_t  tabs  )  const [virtual]

Construct a textual representation of the object, preceded of a num of tabs of size TAB_SIZE.

Parameters:
tabs Num of tabs preceding the textual representation.
Returns:
Textual tabulated represetation of the object.

Implements openikev2::Printable.


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