diff --git a/src/mme/kdf.c b/src/mme/kdf.c index 90cc3c39e..eed4b2e24 100644 --- a/src/mme/kdf.c +++ b/src/mme/kdf.c @@ -3,6 +3,7 @@ #include "core_sha2_hmac.h" #define FC_VALUE 0x15 +#include "core_debug.h" void mme_kdf_nas(c_uint8_t algorithm_type_distinguishers, c_uint8_t algorithm_identity, c_uint8_t *kasme, c_uint8_t *knas) @@ -16,9 +17,9 @@ void mme_kdf_nas(c_uint8_t algorithm_type_distinguishers, s[2] = 0x00; s[3] = 0x01; - s[1] = algorithm_identity; - s[2] = 0x00; - s[3] = 0x01; + s[4] = algorithm_identity; + s[5] = 0x00; + s[6] = 0x01; hmac_sha256(kasme, 32, s, 7, out, 32); memcpy(knas, out+16, 16); diff --git a/src/mme/nas_security.c b/src/mme/nas_security.c index 80022f361..cf369e6ac 100644 --- a/src/mme/nas_security.c +++ b/src/mme/nas_security.c @@ -46,7 +46,6 @@ status_t nas_security_encode(pkbuf_t **pkbuf, nas_mac_calculate(mme_self()->selected_int_algorithm, ue->knas_int, ue->dl_count, NAS_SECURITY_BEARER, NAS_SECURITY_DOWNLINK_DIRECTION, new, mac); - d_print_hex(mac, 4); d_assert(CORE_OK == pkbuf_header(new, sizeof(nas_security_header_t) - sizeof(h.sequence_number)), diff --git a/test/nas_sm_test.c b/test/nas_sm_test.c index a35009b75..9517b730f 100644 --- a/test/nas_sm_test.c +++ b/test/nas_sm_test.c @@ -59,7 +59,6 @@ static void nas_sm_test1(abts_case *tc, void *data) rc = tests1ap_enb_read(sock, recvbuf); ABTS_INT_NEQUAL(tc, 0, rc); recvbuf->len = 63; - ABTS_TRUE(tc, memcmp(recvbuf->payload, core_ascii_to_hex(_authentication_request, strlen(_authentication_request), tmp, sizeof(tmp)), @@ -77,12 +76,10 @@ static void nas_sm_test1(abts_case *tc, void *data) recvbuf = pkbuf_alloc(0, MESSAGE_SDU_SIZE); rc = tests1ap_enb_read(sock, recvbuf); recvbuf->len = 43; - - core_ascii_to_hex(_security_mode_command, - strlen(_security_mode_command), tmp, sizeof(tmp)); - d_print_hex(tmp, recvbuf->len); - d_print_hex(recvbuf->payload, recvbuf->len); - + ABTS_TRUE(tc, memcmp(recvbuf->payload, + core_ascii_to_hex(_security_mode_command, + strlen(_security_mode_command), tmp, sizeof(tmp)), + recvbuf->len) == 0); ABTS_INT_NEQUAL(tc, 0, rc); pkbuf_free(recvbuf); diff --git a/test/security_test.c b/test/security_test.c index d944c7113..64f283b87 100644 --- a/test/security_test.c +++ b/test/security_test.c @@ -97,12 +97,13 @@ static void security_test2(abts_case *tc, void *data) static void security_test3(abts_case *tc, void *data) { - char *_ck = "B40BA9A3C58B2A05BBF0D987B21BF8CB"; - char *_ik = "F769BCD751044604127672711C6D3441"; + char *_ck = "b40ba9a3c58b2a05 bbf0d987b21bf8cb"; + char *_ik = "f769bcd751044604 127672711c6d3441"; char *_plmn_id = "024830"; - char *_sqn = "FD8EEF40DF7D"; - char *_ak = "AA689C648370"; - char *_kasme = "238E457E0F758BADBCA8D34BB2612C10428D426757CB5553B2B184FA64BFC549"; + char *_sqn = "fd8eef40df7d"; + char *_ak = "aa689c648370"; + char *_kasme = + "238e457e0f758bad bca8d34bb2612c10 428d426757cb5553 b2b184fa64bfc549"; c_uint8_t ck[16]; c_uint8_t ik[16]; c_uint8_t plmn_id[3];