From 9e5416239ba37a54ad3818cd6318d39e1dba5e11 Mon Sep 17 00:00:00 2001 From: Francisco Molina Date: Mon, 12 Aug 2019 14:30:53 +0200 Subject: [PATCH] tests/pkg_libcose: adapt to c25519 and monocypher --- tests/pkg_libcose/Makefile | 11 ++++++++++- tests/pkg_libcose/main.c | 15 ++++++++++++--- 2 files changed, 22 insertions(+), 4 deletions(-) diff --git a/tests/pkg_libcose/Makefile b/tests/pkg_libcose/Makefile index a966217159..7e9de80e9a 100644 --- a/tests/pkg_libcose/Makefile +++ b/tests/pkg_libcose/Makefile @@ -14,11 +14,20 @@ BOARD_INSUFFICIENT_MEMORY := i-nucleo-lrwan1 \ TEST_ON_CI_WHITELIST += native -CFLAGS += -DTHREAD_STACKSIZE_MAIN=\(4*THREAD_STACKSIZE_DEFAULT\) USEPKG += libcose +# By default we use hacl as crypto backend, uncomment to use a different +# crypto backend. USEMODULE += libcose_crypt_hacl +# USEMODULE += libcose_crypt_c25519 +# USEMODULE += libcose_crypt_monocypher USEMODULE += memarray USEMODULE += embunit +ifneq (,$(filter libcose_crypt_monocypher,$(USEMODULE))) + CFLAGS += -DTHREAD_STACKSIZE_MAIN=\(6*THREAD_STACKSIZE_DEFAULT\) +else + CFLAGS += -DTHREAD_STACKSIZE_MAIN=\(4*THREAD_STACKSIZE_DEFAULT\) +endif + include $(RIOTBASE)/Makefile.include diff --git a/tests/pkg_libcose/main.c b/tests/pkg_libcose/main.c index fcfa9cab01..6a6de802eb 100644 --- a/tests/pkg_libcose/main.c +++ b/tests/pkg_libcose/main.c @@ -40,16 +40,21 @@ static unsigned char pk[COSE_CRYPTO_SIGN_ED25519_PUBLICKEYBYTES]; static unsigned char sk[COSE_CRYPTO_SIGN_ED25519_SECRETKEYBYTES]; static unsigned char pk2[COSE_CRYPTO_SIGN_ED25519_PUBLICKEYBYTES]; static unsigned char sk2[COSE_CRYPTO_SIGN_ED25519_SECRETKEYBYTES]; -static unsigned char symmkey[COSE_CRYPTO_AEAD_CHACHA20POLY1305_KEYBYTES]; -static uint8_t nonce[COSE_CRYPTO_AEAD_CHACHA20POLY1305_NONCEBYTES] = { 0 }; /* COSE structs */ static cose_sign_enc_t sign; static cose_sign_dec_t verify; static cose_signature_t signature1, signature2; -static cose_key_t signer1, signer2, symm; +static cose_key_t signer1, signer2; + +#if defined(MODULE_LIBCOSE_CRYPT_HACL) || defined(MODULE_LIBCOSE_CRYPT_MONOCYPHER) +static unsigned char symmkey[COSE_CRYPTO_AEAD_CHACHA20POLY1305_KEYBYTES]; +static uint8_t nonce[COSE_CRYPTO_AEAD_CHACHA20POLY1305_NONCEBYTES] = { 0 }; +static cose_key_t symm; static cose_encrypt_t test_encrypt; static cose_encrypt_dec_t test_decrypt; static cose_recp_dec_t test_derecp; +#endif + /* COSE sign buffer */ static uint8_t buf[2048]; /* Signature Verification buffer */ @@ -179,6 +184,7 @@ static void test_libcose_02(void) sizeof(vbuf))); } +#if defined(MODULE_LIBCOSE_CRYPT_HACL) || defined(MODULE_LIBCOSE_CRYPT_MONOCYPHER) /* Untagged 1 encrypt test with chacha20poly1305*/ static void test_libcose_03(void) { @@ -207,13 +213,16 @@ static void test_libcose_03(void) vbuf, &plaintext_len)); TEST_ASSERT_EQUAL_INT( sizeof(payload) - 1, plaintext_len); } +#endif Test *tests_libcose(void) { EMB_UNIT_TESTFIXTURES(fixtures) { new_TestFixture(test_libcose_01), new_TestFixture(test_libcose_02), +#if defined(MODULE_LIBCOSE_CRYPT_HACL) || defined(MODULE_LIBCOSE_CRYPT_MONOCYPHER) new_TestFixture(test_libcose_03), +#endif }; EMB_UNIT_TESTCALLER(libcose_tests, setUp, NULL, fixtures);