1d4afb5ceSopenharmony_ciproject(lws-crypto-cose-sign C) 2d4afb5ceSopenharmony_cicmake_minimum_required(VERSION 2.8.12) 3d4afb5ceSopenharmony_cifind_package(libwebsockets CONFIG REQUIRED) 4d4afb5ceSopenharmony_cilist(APPEND CMAKE_MODULE_PATH ${LWS_CMAKE_DIR}) 5d4afb5ceSopenharmony_ciinclude(CheckCSourceCompiles) 6d4afb5ceSopenharmony_ciinclude(LwsCheckRequirements) 7d4afb5ceSopenharmony_ci 8d4afb5ceSopenharmony_ciset(SAMP lws-crypto-cose-sign) 9d4afb5ceSopenharmony_ciset(SRCS main.c) 10d4afb5ceSopenharmony_ci 11d4afb5ceSopenharmony_ciset(requirements 1) 12d4afb5ceSopenharmony_cirequire_lws_config(LWS_WITH_COSE 1 requirements) 13d4afb5ceSopenharmony_ci 14d4afb5ceSopenharmony_ciif (requirements) 15d4afb5ceSopenharmony_ci 16d4afb5ceSopenharmony_ci add_executable(${SAMP} ${SRCS}) 17d4afb5ceSopenharmony_ci 18d4afb5ceSopenharmony_ci # EC signing 19d4afb5ceSopenharmony_ci 20d4afb5ceSopenharmony_ci add_test(NAME crypto-cose-sign-1 21d4afb5ceSopenharmony_ci COMMAND lws-crypto-cose-sign -s -k set1.cks --kid 11 22d4afb5ceSopenharmony_ci --alg ES256 --cose-sign 23d4afb5ceSopenharmony_ci --stdin payload.txt 24d4afb5ceSopenharmony_ci --stdout ctest-sig-es256.sig) 25d4afb5ceSopenharmony_ci add_test(NAME crypto-cose-sign-2 26d4afb5ceSopenharmony_ci COMMAND lws-crypto-cose-sign -s -k set1.cks --kid sec384 27d4afb5ceSopenharmony_ci --alg ES384 --cose-sign 28d4afb5ceSopenharmony_ci --stdin payload.txt 29d4afb5ceSopenharmony_ci --stdout ctest-sig-es384.sig) 30d4afb5ceSopenharmony_ci add_test(NAME crypto-cose-sign-3 31d4afb5ceSopenharmony_ci COMMAND lws-crypto-cose-sign -s -k set1.cks --kid sec512 32d4afb5ceSopenharmony_ci --alg ES512 --cose-sign 33d4afb5ceSopenharmony_ci --stdin payload.txt 34d4afb5ceSopenharmony_ci --stdout ctest-sig-es512.sig) 35d4afb5ceSopenharmony_ci 36d4afb5ceSopenharmony_ci # EC validation 37d4afb5ceSopenharmony_ci 38d4afb5ceSopenharmony_ci add_test(NAME crypto-cose-sign-4 39d4afb5ceSopenharmony_ci COMMAND lws-crypto-cose-sign -k set1.cks 40d4afb5ceSopenharmony_ci --stdout r1.txt 41d4afb5ceSopenharmony_ci --stdin ctest-sig-es256.sig) 42d4afb5ceSopenharmony_ci set_tests_properties(crypto-cose-sign-4 PROPERTIES 43d4afb5ceSopenharmony_ci DEPENDS crypto-cose-sign-1) 44d4afb5ceSopenharmony_ci 45d4afb5ceSopenharmony_ci add_test(NAME crypto-cose-sign-5 46d4afb5ceSopenharmony_ci COMMAND lws-crypto-cose-sign -k set1.cks 47d4afb5ceSopenharmony_ci --stdout r2.txt 48d4afb5ceSopenharmony_ci --stdin ctest-sig-es384.sig) 49d4afb5ceSopenharmony_ci set_tests_properties(crypto-cose-sign-5 PROPERTIES 50d4afb5ceSopenharmony_ci DEPENDS crypto-cose-sign-2) 51d4afb5ceSopenharmony_ci 52d4afb5ceSopenharmony_ci add_test(NAME crypto-cose-sign-6 53d4afb5ceSopenharmony_ci COMMAND lws-crypto-cose-sign -k set1.cks --cose-sign 54d4afb5ceSopenharmony_ci --stdout r3.txt 55d4afb5ceSopenharmony_ci --stdin ctest-sig-es512.sig) 56d4afb5ceSopenharmony_ci set_tests_properties(crypto-cose-sign-6 PROPERTIES 57d4afb5ceSopenharmony_ci DEPENDS crypto-cose-sign-3) 58d4afb5ceSopenharmony_ci 59d4afb5ceSopenharmony_ci # RSA 4096 signing 60d4afb5ceSopenharmony_ci 61d4afb5ceSopenharmony_ci add_test(NAME crypto-cose-sign-7 62d4afb5ceSopenharmony_ci COMMAND lws-crypto-cose-sign -s -k rsa-4096.ck 63d4afb5ceSopenharmony_ci --alg RS512 --cose-sign 64d4afb5ceSopenharmony_ci --stdin payload.txt 65d4afb5ceSopenharmony_ci --stdout ctest-sig-rs512.sig) 66d4afb5ceSopenharmony_ci 67d4afb5ceSopenharmony_ci # RSA 4096 validation 68d4afb5ceSopenharmony_ci 69d4afb5ceSopenharmony_ci add_test(NAME crypto-cose-sign-8 70d4afb5ceSopenharmony_ci COMMAND lws-crypto-cose-sign -k rsa-4096.ck --cose-sign 71d4afb5ceSopenharmony_ci --stdout r8.txt 72d4afb5ceSopenharmony_ci --stdin ctest-sig-rs512.sig) 73d4afb5ceSopenharmony_ci set_tests_properties(crypto-cose-sign-8 PROPERTIES 74d4afb5ceSopenharmony_ci DEPENDS crypto-cose-sign-7) 75d4afb5ceSopenharmony_ci 76d4afb5ceSopenharmony_ci # HMAC signing, cose-mac 77d4afb5ceSopenharmony_ci 78d4afb5ceSopenharmony_ci# add_test(NAME crypto-cose-sign-9 79d4afb5ceSopenharmony_ci# COMMAND lws-crypto-cose-sign -s -k set1.cks --kid our-secret 80d4afb5ceSopenharmony_ci# --alg HS256 --cose-mac 81d4afb5ceSopenharmony_ci# --stdin payload.txt 82d4afb5ceSopenharmony_ci# --stdout ctest-sig-hmac256.sig) 83d4afb5ceSopenharmony_ci# add_test(NAME crypto-cose-sign-10 84d4afb5ceSopenharmony_ci# COMMAND lws-crypto-cose-sign -s -k set1.cks --kid sec-48 85d4afb5ceSopenharmony_ci# --alg HS384 --cose-mac 86d4afb5ceSopenharmony_ci# --stdin payload.txt 87d4afb5ceSopenharmony_ci# --stdout ctest-sig-hmac384.sig) 88d4afb5ceSopenharmony_ci# add_test(NAME crypto-cose-sign-11 89d4afb5ceSopenharmony_ci# COMMAND lws-crypto-cose-sign -s -k set1.cks --kid sec-64 90d4afb5ceSopenharmony_ci# --alg HS512 --cose-mac 91d4afb5ceSopenharmony_ci# --stdin payload.txt 92d4afb5ceSopenharmony_ci# --stdout ctest-sig-hmac512.sig) 93d4afb5ceSopenharmony_ci# add_test(NAME crypto-cose-sign-12 94d4afb5ceSopenharmony_ci# COMMAND lws-crypto-cose-sign -s -k set1.cks --kid our-secret 95d4afb5ceSopenharmony_ci# --alg HS256_64 --cose-mac 96d4afb5ceSopenharmony_ci# --stdin payload.txt 97d4afb5ceSopenharmony_ci# --stdout ctest-sig-hmac256_64.sig) 98d4afb5ceSopenharmony_ci 99d4afb5ceSopenharmony_ci # HMAC validation, cose-mac 100d4afb5ceSopenharmony_ci 101d4afb5ceSopenharmony_ci# add_test(NAME crypto-cose-sign-13 102d4afb5ceSopenharmony_ci# COMMAND lws-crypto-cose-sign -k set1.cks 103d4afb5ceSopenharmony_ci# --stdout r1.txt 104d4afb5ceSopenharmony_ci# --stdin ctest-sig-hmac256.sig) 105d4afb5ceSopenharmony_ci# set_tests_properties(crypto-cose-sign-13 106d4afb5ceSopenharmony_ci# PROPERTIES DEPENDS crypto-cose-sign-9) 107d4afb5ceSopenharmony_ci# 108d4afb5ceSopenharmony_ci# add_test(NAME crypto-cose-sign-14 109d4afb5ceSopenharmony_ci# COMMAND lws-crypto-cose-sign -k set1.cks 110d4afb5ceSopenharmony_ci# --stdout r2.txt 111d4afb5ceSopenharmony_ci# --stdin ctest-sig-hmac384.sig) 112d4afb5ceSopenharmony_ci# set_tests_properties(crypto-cose-sign-14 113d4afb5ceSopenharmony_ci# PROPERTIES DEPENDS crypto-cose-sign-10) 114d4afb5ceSopenharmony_ci# 115d4afb5ceSopenharmony_ci# add_test(NAME crypto-cose-sign-15 116d4afb5ceSopenharmony_ci# COMMAND lws-crypto-cose-sign -k set1.cks 117d4afb5ceSopenharmony_ci# --stdout r3.txt 118d4afb5ceSopenharmony_ci# --stdin ctest-sig-hmac512.sig) 119d4afb5ceSopenharmony_ci# set_tests_properties(crypto-cose-sign-15 120d4afb5ceSopenharmony_ci# PROPERTIES DEPENDS crypto-cose-sign-11) 121d4afb5ceSopenharmony_ci# 122d4afb5ceSopenharmony_ci# add_test(NAME crypto-cose-sign-16 123d4afb5ceSopenharmony_ci# COMMAND lws-crypto-cose-sign -k set1.cks 124d4afb5ceSopenharmony_ci# --stdout r4.txt 125d4afb5ceSopenharmony_ci# --stdin ctest-sig-hmac256_64.sig) 126d4afb5ceSopenharmony_ci# set_tests_properties(crypto-cose-sign-16 127d4afb5ceSopenharmony_ci# PROPERTIES DEPENDS crypto-cose-sign-12) 128d4afb5ceSopenharmony_ci 129d4afb5ceSopenharmony_ci # HMAC signing, cose-mac0 130d4afb5ceSopenharmony_ci 131d4afb5ceSopenharmony_ci add_test(NAME crypto-cose-sign-17 132d4afb5ceSopenharmony_ci COMMAND lws-crypto-cose-sign -s -k set1.cks --kid our-secret 133d4afb5ceSopenharmony_ci --alg HS256 --cose-mac0 134d4afb5ceSopenharmony_ci --stdin payload.txt 135d4afb5ceSopenharmony_ci --stdout ctest-sig-hmac0256.sig) 136d4afb5ceSopenharmony_ci add_test(NAME crypto-cose-sign-18 137d4afb5ceSopenharmony_ci COMMAND lws-crypto-cose-sign -s -k set1.cks --kid sec-48 138d4afb5ceSopenharmony_ci --alg HS384 --cose-mac0 139d4afb5ceSopenharmony_ci --stdin payload.txt 140d4afb5ceSopenharmony_ci --stdout ctest-sig-hmac0384.sig) 141d4afb5ceSopenharmony_ci add_test(NAME crypto-cose-sign-19 142d4afb5ceSopenharmony_ci COMMAND lws-crypto-cose-sign -s -k set1.cks --kid sec-64 143d4afb5ceSopenharmony_ci --alg HS512 --cose-mac0 144d4afb5ceSopenharmony_ci --stdin payload.txt 145d4afb5ceSopenharmony_ci --stdout ctest-sig-hmac0512.sig) 146d4afb5ceSopenharmony_ci add_test(NAME crypto-cose-sign-20 147d4afb5ceSopenharmony_ci COMMAND lws-crypto-cose-sign -s -k set1.cks --kid our-secret 148d4afb5ceSopenharmony_ci --alg HS256_64 --cose-mac0 149d4afb5ceSopenharmony_ci --stdin payload.txt 150d4afb5ceSopenharmony_ci --stdout ctest-sig-hmac0256_64.sig) 151d4afb5ceSopenharmony_ci 152d4afb5ceSopenharmony_ci # HMAC validation, cose-mac0 153d4afb5ceSopenharmony_ci 154d4afb5ceSopenharmony_ci add_test(NAME crypto-cose-sign-21 155d4afb5ceSopenharmony_ci COMMAND lws-crypto-cose-sign -k set1.cks 156d4afb5ceSopenharmony_ci --stdout r1.txt 157d4afb5ceSopenharmony_ci --stdin ctest-sig-hmac0256.sig) 158d4afb5ceSopenharmony_ci set_tests_properties(crypto-cose-sign-21 159d4afb5ceSopenharmony_ci PROPERTIES DEPENDS crypto-cose-sign-17) 160d4afb5ceSopenharmony_ci 161d4afb5ceSopenharmony_ci add_test(NAME crypto-cose-sign-22 162d4afb5ceSopenharmony_ci COMMAND lws-crypto-cose-sign -k set1.cks 163d4afb5ceSopenharmony_ci --stdout r2.txt 164d4afb5ceSopenharmony_ci --stdin ctest-sig-hmac0384.sig) 165d4afb5ceSopenharmony_ci set_tests_properties(crypto-cose-sign-22 166d4afb5ceSopenharmony_ci PROPERTIES DEPENDS crypto-cose-sign-18) 167d4afb5ceSopenharmony_ci 168d4afb5ceSopenharmony_ci add_test(NAME crypto-cose-sign-23 169d4afb5ceSopenharmony_ci COMMAND lws-crypto-cose-sign -k set1.cks 170d4afb5ceSopenharmony_ci --stdout r3.txt 171d4afb5ceSopenharmony_ci --stdin ctest-sig-hmac0512.sig) 172d4afb5ceSopenharmony_ci set_tests_properties(crypto-cose-sign-23 173d4afb5ceSopenharmony_ci PROPERTIES DEPENDS crypto-cose-sign-19) 174d4afb5ceSopenharmony_ci 175d4afb5ceSopenharmony_ci add_test(NAME crypto-cose-sign-24 176d4afb5ceSopenharmony_ci COMMAND lws-crypto-cose-sign -k set1.cks 177d4afb5ceSopenharmony_ci --stdout r4.txt 178d4afb5ceSopenharmony_ci --stdin ctest-sig-hmac0256_64.sig) 179d4afb5ceSopenharmony_ci set_tests_properties(crypto-cose-sign-24 180d4afb5ceSopenharmony_ci PROPERTIES DEPENDS crypto-cose-sign-20) 181d4afb5ceSopenharmony_ci 182d4afb5ceSopenharmony_ci 183d4afb5ceSopenharmony_ci set_tests_properties(crypto-cose-sign-1 184d4afb5ceSopenharmony_ci crypto-cose-sign-2 185d4afb5ceSopenharmony_ci crypto-cose-sign-3 186d4afb5ceSopenharmony_ci crypto-cose-sign-4 187d4afb5ceSopenharmony_ci crypto-cose-sign-5 188d4afb5ceSopenharmony_ci crypto-cose-sign-6 189d4afb5ceSopenharmony_ci crypto-cose-sign-7 190d4afb5ceSopenharmony_ci crypto-cose-sign-8 191d4afb5ceSopenharmony_ci# crypto-cose-sign-9 192d4afb5ceSopenharmony_ci# crypto-cose-sign-10 193d4afb5ceSopenharmony_ci# crypto-cose-sign-11 194d4afb5ceSopenharmony_ci# crypto-cose-sign-12 195d4afb5ceSopenharmony_ci# crypto-cose-sign-13 196d4afb5ceSopenharmony_ci# crypto-cose-sign-14 197d4afb5ceSopenharmony_ci# crypto-cose-sign-15 198d4afb5ceSopenharmony_ci# crypto-cose-sign-16 199d4afb5ceSopenharmony_ci crypto-cose-sign-17 200d4afb5ceSopenharmony_ci crypto-cose-sign-18 201d4afb5ceSopenharmony_ci crypto-cose-sign-19 202d4afb5ceSopenharmony_ci crypto-cose-sign-20 203d4afb5ceSopenharmony_ci crypto-cose-sign-21 204d4afb5ceSopenharmony_ci crypto-cose-sign-22 205d4afb5ceSopenharmony_ci crypto-cose-sign-23 206d4afb5ceSopenharmony_ci crypto-cose-sign-24 207d4afb5ceSopenharmony_ci 208d4afb5ceSopenharmony_ci PROPERTIES 209d4afb5ceSopenharmony_ci WORKING_DIRECTORY 210d4afb5ceSopenharmony_ci ${CMAKE_SOURCE_DIR}/minimal-examples/crypto/minimal-crypto-cose-sign 211d4afb5ceSopenharmony_ci TIMEOUT 5) 212d4afb5ceSopenharmony_ci 213d4afb5ceSopenharmony_ci if (websockets_shared) 214d4afb5ceSopenharmony_ci target_link_libraries(${SAMP} websockets_shared ${LIBWEBSOCKETS_DEP_LIBS}) 215d4afb5ceSopenharmony_ci add_dependencies(${SAMP} websockets_shared) 216d4afb5ceSopenharmony_ci else() 217d4afb5ceSopenharmony_ci target_link_libraries(${SAMP} websockets ${LIBWEBSOCKETS_DEP_LIBS}) 218d4afb5ceSopenharmony_ci endif() 219d4afb5ceSopenharmony_ciendif() 220