openikev2::Enums Class Reference

This class contains nearly all the IKEv2 related enumerations. More...

#include <enums.h>

List of all members.

Public Types

enum  NOTIFY_ACTION { NOTIFY_ACTION_CONTINUE_MESSAGE_PROCESSING = 0, NOTIFY_ACTION_FINISH_MESSAGE_PROCESSING = 1, NOTIFY_ACTION_OMIT_MESSAGE = 2 }
 Received Payload Notify action. More...
enum  MESSAGE_ACTION { MESSAGE_ACTION_CONTINUE_PROCESSING = 0, MESSAGE_ACTION_CLOSE_IKE_SA = 1, MESSAGE_ACTION_OMIT_MESSAGE = 2, MESSAGE_ACTION_STOP_PROCESSING = 3 }
 Message action. More...
enum  IPSEC_MODE { TRANSPORT_MODE = 1, TUNNEL_MODE = 2 }
 IPsec modes. More...
enum  ATTRIBUTE_TYPE { ATTR_KEY_LEN = 14 }
 Attribute types. More...
enum  TRANSFORM_TYPE {
  ENCR = 1, PRF = 2, INTEG = 3, D_H = 4,
  ESN = 5
}
 Transform types. More...
enum  ENCR_ID {
  ENCR_NONE = 0, ENCR_DES_IV64 = 1, ENCR_DES = 2, ENCR_3DES = 3,
  ENCR_RC5 = 4, ENCR_IDEA = 5, ENCR_CAST = 6, ENCR_BLOWFISH = 7,
  ENCR_3IDEA = 8, ENCR_DES_IV32 = 9, ENCR_NULL = 11, ENCR_AES_CBC = 12,
  ENCR_AES_CTR = 13
}
 Transform type 1 (ENCR) IDs. More...
enum  PRF_ID {
  PRF_NONE = 0, PRF_HMAC_MD5 = 1, PRF_HMAC_SHA1 = 2, PRF_HMAC_TIGER = 3,
  PRF_AES128_CBC = 4
}
 Transform type 2 (PRF) IDs. More...
enum  INTEG_ID {
  AUTH_NONE = 0, AUTH_HMAC_MD5_96 = 1, AUTH_HMAC_SHA1_96 = 2, AUTH_DES_MAC = 3,
  AUTH_KPDK_MD5 = 4, AUTH_AES_XCBC_96 = 5
}
 Transform type 3 (INTEG) IDs. More...
enum  DH_ID {
  DH_NONE = 0, DH_GROUP_1 = 1, DH_GROUP_2 = 2, DH_GROUP_5 = 5,
  DH_GROUP_14 = 14, DH_GROUP_15 = 15, DH_GROUP_16 = 16, DH_GROUP_17 = 17,
  DH_GROUP_18 = 18
}
 Transform type 4 (D_H) IDs. More...
enum  ESN_ID { ESN_NO = 0, ESN_YES = 1 }
 Transform type 5 (ESN) IDs. More...
enum  PROTOCOL_ID { PROTO_NONE = 0, PROTO_IKE = 1, PROTO_AH = 2, PROTO_ESP = 3 }
 Protocol IDs. More...
enum  DIRECTION { DIR_ALL = 0, DIR_IN = 1, DIR_OUT = 2, DIR_FWD = 3 }
 Directions. More...
enum  ROLE_ID { ROLE_ANY = 0, ROLE_INITIATOR = 1, ROLE_RESPONDER = 2 }
 Role ID. More...
enum  ID_TYPE {
  RESERVED = 0, ID_IPV4_ADDR = 1, ID_FQDN = 2, ID_RFC822_ADDR = 3,
  ID_IPV6_ADDR = 5, ID_DER_ASN1_DN = 9, ID_DER_ASN1_GN = 10, ID_KEY_ID = 11
}
 Identification Type. More...
enum  IP_PROTOCOL {
  IP_PROTO_ANY = 0, IP_PROTO_ICMP = 1, IP_PROTO_TCP = 6, IP_PROTO_UDP = 17,
  IP_PROTO_ICMPv6 = 58, IP_PROTO_MH = 135
}
 Most used IP protocols. More...
enum  CERT_ENCODING {
  CERT_RESERVED = 0, CERT_X509_PKCS_7 = 1, CERT_PGP = 2, CERT_DNS = 3,
  CERT_X509_SIGNATURE = 4, CERT_KERBEROS = 6, CERT_CRL = 7, CERT_ARL = 8,
  CERT_SPKI = 9, CERT_X509_ATTRIBUTE = 10, CERT_RAW_RSA = 11, CERT_HASH_URL = 12,
  CERT_HASH_URL_BUNDLE = 13
}
 Certificate encoding. More...
enum  AUTH_METHOD {
  AUTH_METHOD_NONE = 0, AUTH_METHOD_RSA = 1, AUTH_METHOD_PSK = 2, AUTH_METHOD_DSS = 3,
  AUTH_METHOD_CERT = 200, AUTH_METHOD_BTNS = 201
}
 Authentication methods. More...

Static Public Member Functions

static string IPSEC_MODE_STR (IPSEC_MODE mode)
 Returns the textual representation of a IPSEC_MODE value.
static string ATTRIBUTE_TYPE_STR (ATTRIBUTE_TYPE attr_type)
 Returns the textual representation of a ATTRIBUTE_TYPE value.
static string TRANSFORM_TYPE_STR (TRANSFORM_TYPE transform_type)
 Returns the textual representation of a TRANSFORM_TYPE value.
static string ENCR_ID_STR (ENCR_ID encr_id)
 Returns the textual representation of a ENCR_ID value.
static string PRF_ID_STR (PRF_ID prf_id)
 Returns the textual representation of a PRF_ID value.
static string INTEG_ID_STR (INTEG_ID integ_id)
 Returns the textual representation of a INTEG_ID value.
static string DH_ID_STR (DH_ID dh_id)
 Returns the textual representation of a DH_ID value.
static string ESN_ID_STR (ESN_ID esn_id)
 Returns the textual representation of a ESN_ID value.
static string PROTOCOL_ID_STR (PROTOCOL_ID protocol)
 Returns the textual representation of a PROTOCOL_ID value.
static string DIRECTION_STR (DIRECTION dir)
 Returns the textual representation of a DIRECTION value.
static string ROLE_ID_STR (ROLE_ID role_id)
 Returns the textual representation of a ROLE_ID value.
static string ID_TYPE_STR (ID_TYPE id_type)
 Returns the textual representation of a ID_TYPE value.
static string IP_PROTO_STR (uint8_t ip_proto)
 Returns the textual representation of a IP protocol ID.
static string CERT_ENCODING_STR (uint16_t encoding)
 Translates from encoding ID to textual representation.
static string AUTH_METHOD_STR (AUTH_METHOD auth_method)
 Translate auth method ID to string.
static bool authMethodIsCompatibleWith (AUTH_METHOD method1, AUTH_METHOD method2)
 Indicates if method1 is a subset of method2.


Detailed Description

This class contains nearly all the IKEv2 related enumerations.

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


Member Enumeration Documentation

enum openikev2::Enums::NOTIFY_ACTION

Received Payload Notify action.

Enumerator:
NOTIFY_ACTION_CONTINUE_MESSAGE_PROCESSING  Continue processing message.
NOTIFY_ACTION_FINISH_MESSAGE_PROCESSING  Stop processing message.
NOTIFY_ACTION_OMIT_MESSAGE  Omit message (like if it had never been recived).

enum openikev2::Enums::MESSAGE_ACTION

Message action.

Enumerator:
MESSAGE_ACTION_CONTINUE_PROCESSING  Continue processing message.
MESSAGE_ACTION_CLOSE_IKE_SA  Close IKE_SA.
MESSAGE_ACTION_OMIT_MESSAGE  Omit message.
MESSAGE_ACTION_STOP_PROCESSING  Stop processing the message.

enum openikev2::Enums::IPSEC_MODE

IPsec modes.

Enumerator:
TRANSPORT_MODE  Transport mode.
TUNNEL_MODE  Tunnel mode.

enum openikev2::Enums::ATTRIBUTE_TYPE

Attribute types.

Enumerator:
ATTR_KEY_LEN  Key length attribute type.

enum openikev2::Enums::TRANSFORM_TYPE

Transform types.

Enumerator:
ENCR  Encryption algorithm.
PRF  Pseudo-random function.
INTEG  Integrity algorithm.
D_H  Diffie-Hellman group.
ESN  Extended secuence numbers.

enum openikev2::Enums::ENCR_ID

Transform type 1 (ENCR) IDs.

Enumerator:
ENCR_NONE  NONE.
ENCR_DES_IV64  DES algorithm with an 64 bit initialization vector (RFC 1827).
ENCR_DES  DES algorithm (RFC 2405).
ENCR_3DES  Triple DES algorithm (RFC 2451).
ENCR_RC5  RC5 algorithm (RFC 2451).
ENCR_IDEA  IDEA algorithm (RFC 2451).
ENCR_CAST  CAST algorithm (RFC 2451).
ENCR_BLOWFISH  BLOWFISH algorithm (RFC 2451).
ENCR_3IDEA  Triple IDEA algorithm (RFC 2451).
ENCR_DES_IV32  ?
ENCR_NULL  NULL algorithm (RFC 2410).
ENCR_AES_CBC  AES algorithm in CBC mode (RFC 3602).
ENCR_AES_CTR  AES algorithm in CTR mode (RFC 3664).

enum openikev2::Enums::PRF_ID

Transform type 2 (PRF) IDs.

Enumerator:
PRF_NONE  NONE.
PRF_HMAC_MD5  Pseudo random function based on MD5 HMAC (RFC 2104).
PRF_HMAC_SHA1  Pseudo random function based on SHA1 HMAC (RFC 2104).
PRF_HMAC_TIGER  Pseudo random function based on TIGER HMAC (RFC 2104).
PRF_AES128_CBC  Pseudo random function based on AES128 in CBC mode (RFC 3664).

enum openikev2::Enums::INTEG_ID

Transform type 3 (INTEG) IDs.

Enumerator:
AUTH_NONE  NONE.
AUTH_HMAC_MD5_96  MD5 HMAC 96 algorithm (RFC 2403).
AUTH_HMAC_SHA1_96  SHA1 HMAC 96 algorithm (RFC 2404).
AUTH_DES_MAC  DES MAC algorithm.
AUTH_KPDK_MD5  MD5 KPDK algorithm (RFC 1826).
AUTH_AES_XCBC_96  AES XCBC 96 algorithm (RFC 3566).

enum openikev2::Enums::DH_ID

Transform type 4 (D_H) IDs.

Enumerator:
DH_NONE  NONE.
DH_GROUP_1  Diffie Hellman group 1 (MODP 768).
DH_GROUP_2  Diffie Hellman group 2 (MODP 1024).
DH_GROUP_5  Diffie Hellman group 5 (MODP 1536).
DH_GROUP_14  Diffie Hellman group 14 (MODP 2048).
DH_GROUP_15  Diffie Hellman group 15 (MODP 3072).
DH_GROUP_16  Diffie Hellman group 16 (MODP 4096).
DH_GROUP_17  Diffie Hellman group 17 (MODP 6144).
DH_GROUP_18  Diffie Hellman group 18 (MODP 8192).

enum openikev2::Enums::ESN_ID

Transform type 5 (ESN) IDs.

Enumerator:
ESN_NO  No extended sequence numbers.
ESN_YES  Extended secuence numbers.

enum openikev2::Enums::PROTOCOL_ID

Protocol IDs.

Enumerator:
PROTO_NONE  NONE.
PROTO_IKE  IKE Protocol.
PROTO_AH  AH Protocol.
PROTO_ESP  ESP Protocol.

enum openikev2::Enums::DIRECTION

Directions.

Enumerator:
DIR_ALL  Forward direction.
DIR_IN  Inbound direction.
DIR_OUT  Outbound direction.
DIR_FWD  Forward direction.

enum openikev2::Enums::ROLE_ID

Role ID.

Enumerator:
ROLE_ANY  Unspecified role.
ROLE_INITIATOR  Initiator role.
ROLE_RESPONDER  Responder role.

enum openikev2::Enums::ID_TYPE

Identification Type.

Enumerator:
RESERVED  Reserved.
ID_IPV4_ADDR  IPv4 address.
ID_FQDN  Fully-qualified domain name.
ID_RFC822_ADDR  Fully-qualified RFC822 email address name.
ID_IPV6_ADDR  IPv6 address.
ID_DER_ASN1_DN  DER encoding of an ASN.1 X.500 Distinguised Name.
ID_DER_ASN1_GN  DER encoding of an ASN.1 X.500 General Name.
ID_KEY_ID  Key ID (opaque octet string).

enum openikev2::Enums::IP_PROTOCOL

Most used IP protocols.

Enumerator:
IP_PROTO_ANY  ANY.
IP_PROTO_ICMP  ICMP (v4).
IP_PROTO_TCP  TCP.
IP_PROTO_UDP  UDP.
IP_PROTO_ICMPv6  ICMPv6.
IP_PROTO_MH  MH.

enum openikev2::Enums::CERT_ENCODING

Certificate encoding.

Enumerator:
CERT_RESERVED  RESERVED.
CERT_X509_PKCS_7  PKCS #7 wrapped X.509 certificate.
CERT_PGP  PGP Certificate.
CERT_DNS  DNS signed key.
CERT_X509_SIGNATURE  X.509 Certificate - Signature.
CERT_KERBEROS  Kerberos token.
CERT_CRL  Certificate Revocation List (CRL).
CERT_ARL  Authority Revocation List (ARL).
CERT_SPKI  SPKI Certificate.
CERT_X509_ATTRIBUTE  X.509 Certificate - Attribute.
CERT_RAW_RSA  Raw RSA Key.
CERT_HASH_URL  Hash and URL of X.509 certificate.
CERT_HASH_URL_BUNDLE  Hash and URL of X.509 bundle.

enum openikev2::Enums::AUTH_METHOD

Authentication methods.

Enumerator:
AUTH_METHOD_NONE  NONE.
AUTH_METHOD_RSA  RSA Authentication.
AUTH_METHOD_PSK  Pre-shared keys authentication.
AUTH_METHOD_DSS  DSS authentication.
AUTH_METHOD_CERT  This is an especial method and represents both RSA & DSS.
AUTH_METHOD_BTNS  Better than nothing security.


Member Function Documentation

string openikev2::Enums::IPSEC_MODE_STR ( IPSEC_MODE  mode  )  [static]

Returns the textual representation of a IPSEC_MODE value.

Parameters:
mode IPSEC_MODE value
Returns:
Textual respresentation

string openikev2::Enums::ATTRIBUTE_TYPE_STR ( ATTRIBUTE_TYPE  attr_type  )  [static]

Returns the textual representation of a ATTRIBUTE_TYPE value.

Parameters:
attr_type ATTRIBUTE_TYPE value
Returns:
Textual respresentation

string openikev2::Enums::TRANSFORM_TYPE_STR ( TRANSFORM_TYPE  transform_type  )  [static]

Returns the textual representation of a TRANSFORM_TYPE value.

Parameters:
transform_type TRANSFORM_TYPE value
Returns:
Textual respresentation

string openikev2::Enums::ENCR_ID_STR ( ENCR_ID  encr_id  )  [static]

Returns the textual representation of a ENCR_ID value.

Parameters:
encr_id ENCR_ID value
Returns:
Textual respresentation

string openikev2::Enums::PRF_ID_STR ( PRF_ID  prf_id  )  [static]

Returns the textual representation of a PRF_ID value.

Parameters:
prf_id PRF_ID value
Returns:
Textual respresentation

string openikev2::Enums::INTEG_ID_STR ( INTEG_ID  integ_id  )  [static]

Returns the textual representation of a INTEG_ID value.

Parameters:
integ_id INTEG_ID value
Returns:
Textual respresentation

string openikev2::Enums::DH_ID_STR ( DH_ID  dh_id  )  [static]

Returns the textual representation of a DH_ID value.

Parameters:
dh_id DH_ID value
Returns:
Textual respresentation

string openikev2::Enums::ESN_ID_STR ( ESN_ID  esn_id  )  [static]

Returns the textual representation of a ESN_ID value.

Parameters:
esn_id ESN_ID value
Returns:
Textual respresentation

string openikev2::Enums::PROTOCOL_ID_STR ( PROTOCOL_ID  protocol  )  [static]

Returns the textual representation of a PROTOCOL_ID value.

Parameters:
protocol PROTOCOL_ID value
Returns:
Textual respresentation

string openikev2::Enums::DIRECTION_STR ( DIRECTION  dir  )  [static]

Returns the textual representation of a DIRECTION value.

Parameters:
dir DIRECTION value
Returns:
Textual respresentation

string openikev2::Enums::ROLE_ID_STR ( ROLE_ID  role_id  )  [static]

Returns the textual representation of a ROLE_ID value.

Parameters:
role_id ROLE_ID value
Returns:
Textual respresentation

string openikev2::Enums::ID_TYPE_STR ( ID_TYPE  id_type  )  [static]

Returns the textual representation of a ID_TYPE value.

Parameters:
id_type ID_TYPE value
Returns:
Textual respresentation

string openikev2::Enums::IP_PROTO_STR ( uint8_t  ip_proto  )  [static]

Returns the textual representation of a IP protocol ID.

Parameters:
ip_proto IP protocol ID
Returns:
Textual respresentation

string openikev2::Enums::CERT_ENCODING_STR ( uint16_t  encoding  )  [static]

Translates from encoding ID to textual representation.

Parameters:
encoding Certificate encoding
Returns:
Textual representation

string openikev2::Enums::AUTH_METHOD_STR ( AUTH_METHOD  auth_method  )  [static]

Translate auth method ID to string.

Parameters:
auth_method Auth method to translate
Returns:
String with the translation

bool openikev2::Enums::authMethodIsCompatibleWith ( AUTH_METHOD  method1,
AUTH_METHOD  method2 
) [static]

Indicates if method1 is a subset of method2.

i.e. PSK is a subset only of PSK CERT is a subset only of CERT RSA is a subset of RSA and of CERT

Parameters:
method1 Authentication method
method2 Authentication method
Returns:
TRUE if method1 is a subset of method2


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