From baac437baf820f74b2a65fa0ef65cdbcc03b049d Mon Sep 17 00:00:00 2001 From: Lionel Gauthier <lionel.gauthier@eurecom.fr> Date: Tue, 5 Aug 2014 11:19:08 +0000 Subject: [PATCH] security algorithms git-svn-id: http://svn.eurecom.fr/openair4G/trunk@5660 818b1a75-f10b-46b9-bf7c-635c3b92a50f --- .../NAS/EURECOM-NAS/src/emm/sap/emm_as.c | 27 ++++++++++++++++--- 1 file changed, 24 insertions(+), 3 deletions(-) diff --git a/openair-cn/NAS/EURECOM-NAS/src/emm/sap/emm_as.c b/openair-cn/NAS/EURECOM-NAS/src/emm/sap/emm_as.c index 2c6d5ba5cfb..f8788815ffa 100644 --- a/openair-cn/NAS/EURECOM-NAS/src/emm/sap/emm_as.c +++ b/openair-cn/NAS/EURECOM-NAS/src/emm/sap/emm_as.c @@ -1264,14 +1264,20 @@ static int _emm_as_send(const emm_as_t *msg) LOG_FUNC_RETURN (RETURNok); } else { LOG_TRACE(DEBUG, "EMMAS-SAP - " - "Sending nas_itti_establish_cnf to S1AP UE ID %d", - as_msg.msg.nas_establish_rsp.UEid); + "Sending nas_itti_establish_cnf to S1AP UE ID %d" + " selected_encryption_algorithm 0x%04X", + " selected_integrity_algorithm 0x%04X", + as_msg.msg.nas_establish_rsp.UEid, + as_msg.msg.nas_establish_rsp.selected_encryption_algorithm, + as_msg.msg.nas_establish_rsp.selected_integrity_algorithm); /* Handle success case */ nas_itti_establish_cnf( as_msg.msg.nas_establish_rsp.UEid, as_msg.msg.nas_establish_rsp.errCode, as_msg.msg.nas_establish_rsp.nasMsg.data, - as_msg.msg.nas_establish_rsp.nasMsg.length); + as_msg.msg.nas_establish_rsp.nasMsg.length, + as_msg.msg.nas_establish_rsp.selected_encryption_algorithm, + as_msg.msg.nas_establish_rsp.selected_integrity_algorithm); LOG_FUNC_RETURN (RETURNok); } } break; @@ -2028,6 +2034,21 @@ static int _emm_as_establish_cnf(const emm_as_establish_t *msg, LOG_TRACE(DEBUG, "Set nas_msg.header.sequence_number -> %u", nas_msg.header.sequence_number); + + as_msg->selected_encryption_algorithm = htons(0x8000 >> emm_security_context->selected_algorithms.encryption); + as_msg->selected_integrity_algorithm = htons(0x8000 >> emm_security_context->selected_algorithms.integrity); + //as_msg->selected_encryption_algorithm = htons(0x8000 >> emm_security_context->capability.encryption); + //as_msg->selected_integrity_algorithm = htons(0x8000 >> emm_security_context->capability.integrity); + + LOG_TRACE(DEBUG, + "Set nas_msg.selected_encryption_algorithm -> NBO: 0x%04X (%u)", + as_msg->selected_encryption_algorithm, + emm_security_context->selected_algorithms.encryption); + LOG_TRACE(DEBUG, + "Set nas_msg.selected_integrity_algorithm -> NBO: 0x%04X (%u)", + as_msg->selected_integrity_algorithm, + emm_security_context->selected_algorithms.integrity); + } /* Encode the initial NAS information message */ -- GitLab