aboutsummaryrefslogtreecommitdiffstats
path: root/tests/auth
diff options
context:
space:
mode:
authorHarald Welte <laforge@gnumonks.org>2012-03-21 08:19:47 +0100
committerHarald Welte <laforge@gnumonks.org>2012-03-21 08:19:47 +0100
commit042afe7fe73929f40b32545bbdd97f10f260af60 (patch)
tree11cb9c8245a1c296c3b20f47269e1f01bfb12b04 /tests/auth
parentfb6a2e274fe05865021f4b695239e73490e34437 (diff)
milenage: Add function to compute OPC from OP and K
Diffstat (limited to 'tests/auth')
-rw-r--r--tests/auth/milenage_test.c20
1 files changed, 20 insertions, 0 deletions
diff --git a/tests/auth/milenage_test.c b/tests/auth/milenage_test.c
index da7c800a..7c996f02 100644
--- a/tests/auth/milenage_test.c
+++ b/tests/auth/milenage_test.c
@@ -37,6 +37,24 @@ static struct osmo_sub_auth_data test_aud = {
},
};
+static int opc_test(const struct osmo_sub_auth_data *aud)
+{
+ int rc;
+ uint8_t opc[16];
+#if 0
+ const uint8_t op[16] = { 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,
+ 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f };
+#else
+ const uint8_t op[16] = { 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 };
+#endif
+
+ rc = milenage_opc_gen(opc, aud->u.umts.k, op);
+
+ printf("OP:\t%s\n", osmo_hexdump(op, sizeof(op)));
+ printf("OPC:\t%s\n", osmo_hexdump(opc, sizeof(opc)));
+ return rc;
+}
+
int main(int argc, char **argv)
{
struct osmo_auth_vector _vec;
@@ -73,6 +91,8 @@ int main(int argc, char **argv)
printf("AUTS success: SEQ.MS = %lu\n", test_aud.u.umts.sqn);
}
+ opc_test(&test_aud);
+
exit(0);
}