aboutsummaryrefslogtreecommitdiffstats
path: root/src/libimcv
diff options
context:
space:
mode:
authorSansar Choinyambuu <schoinya@hsr.ch>2011-09-23 16:06:29 +0200
committerAndreas Steffen <andreas.steffen@strongswan.org>2011-11-28 16:05:19 +0100
commitbe922d56b22dbc2fd172b6070d8c93c761ed61f1 (patch)
treec4db9a151451972e0f01e7a92793ab83bcc410f8 /src/libimcv
parente3cbd18892cd2a2b8e8e156700f499738cc68ac3 (diff)
downloadstrongswan-be922d56b22dbc2fd172b6070d8c93c761ed61f1.tar.bz2
strongswan-be922d56b22dbc2fd172b6070d8c93c761ed61f1.tar.xz
Implemented handling of DH Parameters Response and Finish attributes
Implemented calculating session secrets
Diffstat (limited to 'src/libimcv')
-rw-r--r--src/libimcv/plugins/imc_attestation/imc_attestation.c6
-rw-r--r--src/libimcv/plugins/imv_attestation/imv_attestation.c12
2 files changed, 18 insertions, 0 deletions
diff --git a/src/libimcv/plugins/imc_attestation/imc_attestation.c b/src/libimcv/plugins/imc_attestation/imc_attestation.c
index 99fbdc1cf..101f59250 100644
--- a/src/libimcv/plugins/imc_attestation/imc_attestation.c
+++ b/src/libimcv/plugins/imc_attestation/imc_attestation.c
@@ -68,6 +68,12 @@ static linked_list_t *evidences = NULL;
static pts_dh_group_t supported_dh_groups = 0;
/**
+ * High Entropy Random Data
+ * used in calculation of shared secret for the assessment session
+ */
+static chunk_t responder_nonce;
+
+/**
* see section 3.7.1 of TCG TNC IF-IMC Specification 1.2
*/
TNC_Result TNC_IMC_Initialize(TNC_IMCID imc_id,
diff --git a/src/libimcv/plugins/imv_attestation/imv_attestation.c b/src/libimcv/plugins/imv_attestation/imv_attestation.c
index 87832a730..9f9131b3a 100644
--- a/src/libimcv/plugins/imv_attestation/imv_attestation.c
+++ b/src/libimcv/plugins/imv_attestation/imv_attestation.c
@@ -63,6 +63,12 @@ static pts_dh_group_t supported_dh_groups = PTS_DH_GROUP_NONE;
static pts_dh_group_t supported_dh_groups = 0;
/**
+ * High Entropy Random Data
+ * used in calculation of shared secret for the assessment session
+ */
+static chunk_t initiator_nonce;
+
+/**
* PTS file measurement database
*/
static pts_database_t *pts_db;
@@ -78,6 +84,11 @@ static pts_creds_t *pts_creds;
static credential_manager_t *pts_credmgr;
/**
+ * TRUE if DH Nonce Parameters Request attribute is sent
+ */
+static bool dh_nonce_req_sent = FALSE;
+
+/**
* see section 3.7.1 of TCG TNC IF-IMV Specification 1.2
*/
TNC_Result TNC_IMV_Initialize(TNC_IMVID imv_id,
@@ -474,6 +485,7 @@ TNC_Result TNC_IMV_Terminate(TNC_IMVID imv_id)
}
DESTROY_IF(pts_db);
DESTROY_IF(pts_credmgr);
+ free(initiator_nonce.ptr);
libpts_deinit();