edhoc 1.0.4 → 1.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (314) hide show
  1. package/README.md +170 -0
  2. package/binding.gyp +13 -11
  3. package/dist/bindings.d.ts +5 -0
  4. package/dist/bindings.d.ts.map +1 -0
  5. package/dist/bindings.js +10 -0
  6. package/dist/crypto.d.ts +29 -0
  7. package/dist/crypto.d.ts.map +1 -0
  8. package/dist/crypto.js +205 -0
  9. package/dist/edhoc.d.ts +368 -0
  10. package/dist/edhoc.d.ts.map +1 -0
  11. package/dist/edhoc.js +76 -0
  12. package/dist/index.d.ts +4 -0
  13. package/dist/index.d.ts.map +1 -0
  14. package/dist/index.js +19 -0
  15. package/dist/x509credentials.d.ts +20 -0
  16. package/dist/x509credentials.d.ts.map +1 -0
  17. package/dist/x509credentials.js +140 -0
  18. package/external/libedhoc/backends/cbor/include/backend_cbor_bstr_type_decode.h +1 -1
  19. package/external/libedhoc/backends/cbor/include/backend_cbor_bstr_type_encode.h +1 -1
  20. package/external/libedhoc/backends/cbor/include/backend_cbor_bstr_type_types.h +1 -1
  21. package/external/libedhoc/backends/cbor/include/backend_cbor_ead_decode.h +2 -2
  22. package/external/libedhoc/backends/cbor/include/backend_cbor_ead_encode.h +2 -2
  23. package/external/libedhoc/backends/cbor/include/backend_cbor_edhoc_types.h +48 -43
  24. package/external/libedhoc/backends/cbor/include/backend_cbor_enc_structure_decode.h +1 -1
  25. package/external/libedhoc/backends/cbor/include/backend_cbor_enc_structure_encode.h +1 -1
  26. package/external/libedhoc/backends/cbor/include/backend_cbor_enc_structure_types.h +3 -3
  27. package/external/libedhoc/backends/cbor/include/backend_cbor_id_cred_x_decode.h +1 -1
  28. package/external/libedhoc/backends/cbor/include/backend_cbor_id_cred_x_encode.h +1 -1
  29. package/external/libedhoc/backends/cbor/include/backend_cbor_info_decode.h +1 -1
  30. package/external/libedhoc/backends/cbor/include/backend_cbor_info_encode.h +1 -1
  31. package/external/libedhoc/backends/cbor/include/backend_cbor_int_type_decode.h +1 -1
  32. package/external/libedhoc/backends/cbor/include/backend_cbor_int_type_encode.h +1 -1
  33. package/external/libedhoc/backends/cbor/include/backend_cbor_int_type_types.h +1 -1
  34. package/external/libedhoc/backends/cbor/include/backend_cbor_message_1_decode.h +1 -1
  35. package/external/libedhoc/backends/cbor/include/backend_cbor_message_1_encode.h +1 -1
  36. package/external/libedhoc/backends/cbor/include/backend_cbor_message_2_decode.h +1 -1
  37. package/external/libedhoc/backends/cbor/include/backend_cbor_message_2_encode.h +1 -1
  38. package/external/libedhoc/backends/cbor/include/backend_cbor_message_3_decode.h +1 -1
  39. package/external/libedhoc/backends/cbor/include/backend_cbor_message_3_encode.h +1 -1
  40. package/external/libedhoc/backends/cbor/include/backend_cbor_message_4_decode.h +1 -1
  41. package/external/libedhoc/backends/cbor/include/backend_cbor_message_4_encode.h +1 -1
  42. package/external/libedhoc/backends/cbor/include/backend_cbor_message_error_decode.h +1 -1
  43. package/external/libedhoc/backends/cbor/include/backend_cbor_message_error_encode.h +1 -1
  44. package/external/libedhoc/backends/cbor/include/backend_cbor_plaintext_2_decode.h +1 -1
  45. package/external/libedhoc/backends/cbor/include/backend_cbor_plaintext_2_encode.h +1 -1
  46. package/external/libedhoc/backends/cbor/include/backend_cbor_plaintext_3_decode.h +1 -1
  47. package/external/libedhoc/backends/cbor/include/backend_cbor_plaintext_3_encode.h +1 -1
  48. package/external/libedhoc/backends/cbor/include/backend_cbor_plaintext_4_decode.h +3 -3
  49. package/external/libedhoc/backends/cbor/include/backend_cbor_plaintext_4_encode.h +3 -3
  50. package/external/libedhoc/backends/cbor/include/backend_cbor_sig_structure_decode.h +1 -1
  51. package/external/libedhoc/backends/cbor/include/backend_cbor_sig_structure_encode.h +1 -1
  52. package/external/libedhoc/backends/cbor/include/backend_cbor_sig_structure_types.h +4 -4
  53. package/external/libedhoc/backends/cbor/include/backend_cbor_x509_types.h +93 -83
  54. package/external/libedhoc/backends/cbor/src/backend_cbor_bstr_type_decode.c +11 -20
  55. package/external/libedhoc/backends/cbor/src/backend_cbor_bstr_type_encode.c +11 -20
  56. package/external/libedhoc/backends/cbor/src/backend_cbor_ead_decode.c +27 -32
  57. package/external/libedhoc/backends/cbor/src/backend_cbor_ead_encode.c +27 -32
  58. package/external/libedhoc/backends/cbor/src/backend_cbor_enc_structure_decode.c +14 -23
  59. package/external/libedhoc/backends/cbor/src/backend_cbor_enc_structure_encode.c +14 -23
  60. package/external/libedhoc/backends/cbor/src/backend_cbor_id_cred_x_decode.c +63 -52
  61. package/external/libedhoc/backends/cbor/src/backend_cbor_id_cred_x_encode.c +62 -51
  62. package/external/libedhoc/backends/cbor/src/backend_cbor_info_decode.c +14 -23
  63. package/external/libedhoc/backends/cbor/src/backend_cbor_info_encode.c +14 -23
  64. package/external/libedhoc/backends/cbor/src/backend_cbor_int_type_decode.c +11 -20
  65. package/external/libedhoc/backends/cbor/src/backend_cbor_int_type_encode.c +11 -20
  66. package/external/libedhoc/backends/cbor/src/backend_cbor_message_1_decode.c +54 -51
  67. package/external/libedhoc/backends/cbor/src/backend_cbor_message_1_encode.c +54 -51
  68. package/external/libedhoc/backends/cbor/src/backend_cbor_message_2_decode.c +11 -20
  69. package/external/libedhoc/backends/cbor/src/backend_cbor_message_2_encode.c +11 -20
  70. package/external/libedhoc/backends/cbor/src/backend_cbor_message_3_decode.c +11 -20
  71. package/external/libedhoc/backends/cbor/src/backend_cbor_message_3_encode.c +11 -20
  72. package/external/libedhoc/backends/cbor/src/backend_cbor_message_4_decode.c +11 -20
  73. package/external/libedhoc/backends/cbor/src/backend_cbor_message_4_encode.c +11 -20
  74. package/external/libedhoc/backends/cbor/src/backend_cbor_message_error_decode.c +36 -37
  75. package/external/libedhoc/backends/cbor/src/backend_cbor_message_error_encode.c +36 -37
  76. package/external/libedhoc/backends/cbor/src/backend_cbor_plaintext_2_decode.c +103 -80
  77. package/external/libedhoc/backends/cbor/src/backend_cbor_plaintext_2_encode.c +102 -79
  78. package/external/libedhoc/backends/cbor/src/backend_cbor_plaintext_3_decode.c +99 -76
  79. package/external/libedhoc/backends/cbor/src/backend_cbor_plaintext_3_encode.c +98 -75
  80. package/external/libedhoc/backends/cbor/src/backend_cbor_plaintext_4_decode.c +40 -41
  81. package/external/libedhoc/backends/cbor/src/backend_cbor_plaintext_4_encode.c +40 -41
  82. package/external/libedhoc/backends/cbor/src/backend_cbor_sig_structure_decode.c +15 -24
  83. package/external/libedhoc/backends/cbor/src/backend_cbor_sig_structure_encode.c +15 -24
  84. package/external/libedhoc/externals/Unity/examples/example_1/src/ProductionCode.c +31 -0
  85. package/external/libedhoc/externals/Unity/examples/example_1/src/ProductionCode.h +10 -0
  86. package/external/libedhoc/externals/Unity/examples/example_1/src/ProductionCode2.c +18 -0
  87. package/external/libedhoc/externals/Unity/examples/example_1/src/ProductionCode2.h +9 -0
  88. package/external/libedhoc/externals/Unity/examples/example_1/test/TestProductionCode.c +69 -0
  89. package/external/libedhoc/externals/Unity/examples/example_1/test/TestProductionCode2.c +38 -0
  90. package/external/libedhoc/externals/Unity/examples/example_1/test/test_runners/TestProductionCode2_Runner.c +53 -0
  91. package/external/libedhoc/externals/Unity/examples/example_1/test/test_runners/TestProductionCode_Runner.c +57 -0
  92. package/external/libedhoc/externals/Unity/examples/example_2/src/ProductionCode.c +31 -0
  93. package/external/libedhoc/externals/Unity/examples/example_2/src/ProductionCode.h +10 -0
  94. package/external/libedhoc/externals/Unity/examples/example_2/src/ProductionCode2.c +18 -0
  95. package/external/libedhoc/externals/Unity/examples/example_2/src/ProductionCode2.h +9 -0
  96. package/external/libedhoc/externals/Unity/examples/example_2/test/TestProductionCode.c +71 -0
  97. package/external/libedhoc/externals/Unity/examples/example_2/test/TestProductionCode2.c +40 -0
  98. package/external/libedhoc/externals/Unity/examples/example_2/test/test_runners/TestProductionCode2_Runner.c +16 -0
  99. package/external/libedhoc/externals/Unity/examples/example_2/test/test_runners/TestProductionCode_Runner.c +18 -0
  100. package/external/libedhoc/externals/Unity/examples/example_2/test/test_runners/all_tests.c +19 -0
  101. package/external/libedhoc/externals/Unity/examples/example_3/helper/UnityHelper.c +17 -0
  102. package/external/libedhoc/externals/Unity/examples/example_3/helper/UnityHelper.h +19 -0
  103. package/external/libedhoc/externals/Unity/examples/example_3/src/ProductionCode.c +31 -0
  104. package/external/libedhoc/externals/Unity/examples/example_3/src/ProductionCode.h +10 -0
  105. package/external/libedhoc/externals/Unity/examples/example_3/src/ProductionCode2.c +18 -0
  106. package/external/libedhoc/externals/Unity/examples/example_3/src/ProductionCode2.h +9 -0
  107. package/external/libedhoc/externals/Unity/examples/example_3/test/TestProductionCode.c +69 -0
  108. package/external/libedhoc/externals/Unity/examples/example_3/test/TestProductionCode2.c +38 -0
  109. package/external/libedhoc/externals/Unity/examples/example_4/src/ProductionCode.c +31 -0
  110. package/external/libedhoc/externals/Unity/examples/example_4/src/ProductionCode.h +10 -0
  111. package/external/libedhoc/externals/Unity/examples/example_4/src/ProductionCode2.c +18 -0
  112. package/external/libedhoc/externals/Unity/examples/example_4/src/ProductionCode2.h +9 -0
  113. package/external/libedhoc/externals/Unity/examples/example_4/test/TestProductionCode.c +70 -0
  114. package/external/libedhoc/externals/Unity/examples/example_4/test/TestProductionCode2.c +42 -0
  115. package/external/libedhoc/externals/Unity/examples/example_4/test/test_runners/TestProductionCode2_Runner.c +53 -0
  116. package/external/libedhoc/externals/Unity/examples/example_4/test/test_runners/TestProductionCode_Runner.c +57 -0
  117. package/external/libedhoc/externals/Unity/examples/unity_config.h +251 -0
  118. package/external/libedhoc/externals/Unity/extras/bdd/src/unity_bdd.h +44 -0
  119. package/external/libedhoc/externals/Unity/extras/bdd/test/test_bdd.c +129 -0
  120. package/external/libedhoc/externals/Unity/extras/fixture/src/unity_fixture.c +310 -0
  121. package/external/libedhoc/externals/Unity/extras/fixture/src/unity_fixture.h +95 -0
  122. package/external/libedhoc/externals/Unity/extras/fixture/src/unity_fixture_internals.h +51 -0
  123. package/external/libedhoc/externals/Unity/extras/fixture/test/main/AllTests.c +20 -0
  124. package/external/libedhoc/externals/Unity/extras/fixture/test/template_fixture_tests.c +40 -0
  125. package/external/libedhoc/externals/Unity/extras/fixture/test/unity_fixture_Test.c +246 -0
  126. package/external/libedhoc/externals/Unity/extras/fixture/test/unity_fixture_TestRunner.c +33 -0
  127. package/external/libedhoc/externals/Unity/extras/memory/src/unity_memory.c +203 -0
  128. package/external/libedhoc/externals/Unity/extras/memory/src/unity_memory.h +61 -0
  129. package/external/libedhoc/externals/Unity/extras/memory/test/unity_memory_Test.c +326 -0
  130. package/external/libedhoc/externals/Unity/extras/memory/test/unity_memory_TestRunner.c +50 -0
  131. package/external/libedhoc/externals/Unity/extras/memory/test/unity_output_Spy.c +57 -0
  132. package/external/libedhoc/externals/Unity/extras/memory/test/unity_output_Spy.h +17 -0
  133. package/external/libedhoc/externals/Unity/src/unity.c +2501 -0
  134. package/external/libedhoc/externals/Unity/src/unity.h +698 -0
  135. package/external/libedhoc/externals/Unity/src/unity_internals.h +1183 -0
  136. package/external/libedhoc/externals/Unity/test/expectdata/testsample_cmd.c +61 -0
  137. package/external/libedhoc/externals/Unity/test/expectdata/testsample_def.c +57 -0
  138. package/external/libedhoc/externals/Unity/test/expectdata/testsample_head1.c +55 -0
  139. package/external/libedhoc/externals/Unity/test/expectdata/testsample_head1.h +15 -0
  140. package/external/libedhoc/externals/Unity/test/expectdata/testsample_mock_cmd.c +80 -0
  141. package/external/libedhoc/externals/Unity/test/expectdata/testsample_mock_def.c +76 -0
  142. package/external/libedhoc/externals/Unity/test/expectdata/testsample_mock_head1.c +75 -0
  143. package/external/libedhoc/externals/Unity/test/expectdata/testsample_mock_head1.h +13 -0
  144. package/external/libedhoc/externals/Unity/test/expectdata/testsample_mock_new1.c +89 -0
  145. package/external/libedhoc/externals/Unity/test/expectdata/testsample_mock_new2.c +89 -0
  146. package/external/libedhoc/externals/Unity/test/expectdata/testsample_mock_param.c +77 -0
  147. package/external/libedhoc/externals/Unity/test/expectdata/testsample_mock_run1.c +89 -0
  148. package/external/libedhoc/externals/Unity/test/expectdata/testsample_mock_run2.c +89 -0
  149. package/external/libedhoc/externals/Unity/test/expectdata/testsample_mock_yaml.c +90 -0
  150. package/external/libedhoc/externals/Unity/test/expectdata/testsample_new1.c +67 -0
  151. package/external/libedhoc/externals/Unity/test/expectdata/testsample_new2.c +70 -0
  152. package/external/libedhoc/externals/Unity/test/expectdata/testsample_param.c +58 -0
  153. package/external/libedhoc/externals/Unity/test/expectdata/testsample_run1.c +67 -0
  154. package/external/libedhoc/externals/Unity/test/expectdata/testsample_run2.c +70 -0
  155. package/external/libedhoc/externals/Unity/test/expectdata/testsample_yaml.c +71 -0
  156. package/external/libedhoc/externals/Unity/test/testdata/CException.h +18 -0
  157. package/external/libedhoc/externals/Unity/test/testdata/Defs.h +16 -0
  158. package/external/libedhoc/externals/Unity/test/testdata/cmock.h +21 -0
  159. package/external/libedhoc/externals/Unity/test/testdata/mockMock.h +20 -0
  160. package/external/libedhoc/externals/Unity/test/testdata/testRunnerGenerator.c +204 -0
  161. package/external/libedhoc/externals/Unity/test/testdata/testRunnerGeneratorSmall.c +73 -0
  162. package/external/libedhoc/externals/Unity/test/testdata/testRunnerGeneratorWithMocks.c +200 -0
  163. package/external/libedhoc/externals/Unity/test/tests/self_assessment_utils.h +151 -0
  164. package/external/libedhoc/externals/Unity/test/tests/test_unity_arrays.c +2941 -0
  165. package/external/libedhoc/externals/Unity/test/tests/test_unity_core.c +375 -0
  166. package/external/libedhoc/externals/Unity/test/tests/test_unity_doubles.c +1285 -0
  167. package/external/libedhoc/externals/Unity/test/tests/test_unity_floats.c +1395 -0
  168. package/external/libedhoc/externals/Unity/test/tests/test_unity_integers.c +2863 -0
  169. package/external/libedhoc/externals/Unity/test/tests/test_unity_integers_64.c +783 -0
  170. package/external/libedhoc/externals/Unity/test/tests/test_unity_memory.c +82 -0
  171. package/external/libedhoc/externals/Unity/test/tests/test_unity_parameterized.c +309 -0
  172. package/external/libedhoc/externals/Unity/test/tests/test_unity_parameterizedDemo.c +28 -0
  173. package/external/libedhoc/externals/Unity/test/tests/test_unity_strings.c +330 -0
  174. package/external/libedhoc/externals/Unity/test/tests/types_for_test.h +21 -0
  175. package/external/libedhoc/externals/zcbor/include/zcbor_common.h +147 -60
  176. package/external/libedhoc/externals/zcbor/include/zcbor_decode.h +291 -202
  177. package/external/libedhoc/externals/zcbor/include/zcbor_encode.h +100 -156
  178. package/external/libedhoc/externals/zcbor/include/zcbor_print.h +165 -0
  179. package/external/libedhoc/externals/zcbor/samples/hello_world/src/main.c +1 -1
  180. package/external/libedhoc/externals/zcbor/samples/pet/include/pet_decode.h +1 -1
  181. package/external/libedhoc/externals/zcbor/samples/pet/include/pet_encode.h +1 -1
  182. package/external/libedhoc/externals/zcbor/samples/pet/include/pet_types.h +4 -4
  183. package/external/libedhoc/externals/zcbor/samples/pet/src/main.c +4 -4
  184. package/external/libedhoc/externals/zcbor/samples/pet/src/pet_decode.c +15 -24
  185. package/external/libedhoc/externals/zcbor/samples/pet/src/pet_encode.c +14 -23
  186. package/external/libedhoc/externals/zcbor/src/zcbor_common.c +202 -29
  187. package/external/libedhoc/externals/zcbor/src/zcbor_decode.c +633 -173
  188. package/external/libedhoc/externals/zcbor/src/zcbor_encode.c +71 -184
  189. package/external/libedhoc/externals/zcbor/tests/decode/test1_suit_old_formats/src/main.c +152 -153
  190. package/external/libedhoc/externals/zcbor/tests/decode/test2_suit/src/main.c +64 -64
  191. package/external/libedhoc/externals/zcbor/tests/decode/test3_simple/src/main.c +15 -16
  192. package/external/libedhoc/externals/zcbor/tests/decode/test5_corner_cases/src/main.c +228 -84
  193. package/external/libedhoc/externals/zcbor/tests/decode/test7_suit9_simple/src/main.c +9 -9
  194. package/external/libedhoc/externals/zcbor/tests/decode/test8_suit12/src/main.c +0 -1
  195. package/external/libedhoc/externals/zcbor/tests/decode/test9_manifest14/src/main.c +172 -173
  196. package/external/libedhoc/externals/zcbor/tests/encode/test1_suit/src/main.c +73 -73
  197. package/external/libedhoc/externals/zcbor/tests/encode/test2_simple/src/main.c +1 -2
  198. package/external/libedhoc/externals/zcbor/tests/encode/test3_corner_cases/src/main.c +83 -56
  199. package/external/libedhoc/externals/zcbor/tests/encode/test4_senml/src/main.c +15 -16
  200. package/external/libedhoc/externals/zcbor/tests/fuzz/fuzz_everything.c +12 -0
  201. package/external/libedhoc/externals/zcbor/tests/fuzz/fuzz_manifest12.c +69 -69
  202. package/external/libedhoc/externals/zcbor/tests/unit/test1_unit_tests/src/main.c +448 -55
  203. package/external/libedhoc/externals/zcbor/tests/unit/test3_float16/src/main.c +49 -48
  204. package/external/libedhoc/include/edhoc.h +348 -54
  205. package/external/libedhoc/include/edhoc_common.h +289 -0
  206. package/external/libedhoc/include/edhoc_context.h +60 -35
  207. package/external/libedhoc/include/edhoc_credentials.h +55 -7
  208. package/external/libedhoc/include/edhoc_crypto.h +10 -10
  209. package/external/libedhoc/include/edhoc_ead.h +13 -10
  210. package/external/libedhoc/include/edhoc_macros.h +20 -11
  211. package/external/libedhoc/include/edhoc_values.h +2 -2
  212. package/external/libedhoc/library/edhoc.c +70 -36
  213. package/external/libedhoc/library/edhoc_common.c +1314 -0
  214. package/external/libedhoc/library/edhoc_exporter.c +45 -46
  215. package/external/libedhoc/library/edhoc_message_1.c +107 -72
  216. package/external/libedhoc/library/edhoc_message_2.c +396 -1693
  217. package/external/libedhoc/library/edhoc_message_3.c +465 -1656
  218. package/external/libedhoc/library/edhoc_message_4.c +93 -91
  219. package/external/libedhoc/library/edhoc_message_error.c +41 -41
  220. package/external/libedhoc/tests/include/{cipher_suites/cipher_suite_0.h → cipher_suite_0.h} +131 -134
  221. package/external/libedhoc/tests/include/{cipher_suites/cipher_suite_2.h → cipher_suite_2.h} +139 -140
  222. package/external/libedhoc/tests/include/{edhoc_trace_1/test_vector_1.h → test_vector_rfc9529_chapter_2.h} +786 -738
  223. package/external/libedhoc/tests/include/{edhoc_trace_2/test_vector_2.h → test_vector_rfc9529_chapter_3.h} +14 -10
  224. package/external/libedhoc/tests/include/{x509_chain_cs_0/test_vector_x5chain_cs_0.h → test_vector_x5chain_sign_keys_suite_0.h} +137 -140
  225. package/external/libedhoc/tests/include/{x509_chain_cs_2/test_vector_x5chain_cs_2.h → test_vector_x5chain_sign_keys_suite_2.h} +7 -8
  226. package/external/libedhoc/tests/include/{x509_chain_cs_2_static_dh/test_vector_x5chain_cs_2_static_dh.h → test_vector_x5chain_static_dh_keys_suite_2.h} +7 -8
  227. package/external/libedhoc/tests/include/{x509_hash_cs_2/test_vector_x5t_cs_2.h → test_vector_x5t_sign_keys_suite_2.h} +6 -7
  228. package/external/libedhoc/tests/src/{cipher_suites/cipher_suite_0.c → cipher_suite_0.c} +445 -447
  229. package/external/libedhoc/tests/src/{cipher_suites/cipher_suite_2.c → cipher_suite_2.c} +600 -600
  230. package/external/libedhoc/tests/src/module_test_api.c +430 -0
  231. package/external/libedhoc/tests/src/module_test_cipher_suite_0.c +395 -0
  232. package/external/libedhoc/tests/src/module_test_cipher_suite_2.c +392 -0
  233. package/external/libedhoc/tests/src/{error_message/test_edhoc_error_message.c → module_test_error_message.c} +94 -69
  234. package/external/libedhoc/tests/src/module_test_main.c +49 -0
  235. package/external/libedhoc/tests/src/{cipher_suite_negotiation/test_edhoc_cipher_suite_negotiation.c → module_test_rfc9528_suites_negotiation.c} +224 -227
  236. package/external/libedhoc/tests/src/module_test_rfc9529_chapter_2.c +2681 -0
  237. package/external/libedhoc/tests/src/module_test_rfc9529_chapter_3.c +1635 -0
  238. package/external/libedhoc/tests/src/module_test_x5chain_sign_keys_suite_0.c +1135 -0
  239. package/external/libedhoc/tests/src/module_test_x5chain_sign_keys_suite_2.c +1249 -0
  240. package/external/libedhoc/tests/src/module_test_x5chain_static_dh_keys_suite_2.c +798 -0
  241. package/external/libedhoc/tests/src/module_test_x5t_sign_keys_suite_2.c +956 -0
  242. package/include/EdhocComposeAsyncWorker.h +8 -6
  243. package/include/EdhocCredentialManager.h +16 -11
  244. package/include/EdhocCryptoManager.h +28 -21
  245. package/include/EdhocEadManager.h +3 -6
  246. package/include/{EdhocExportAsyncWorker.h → EdhocExportOscoreAsyncWorker.h} +20 -17
  247. package/include/EdhocKeyExporterAsyncWorker.h +76 -0
  248. package/include/EdhocKeyUpdateAsyncWorker.h +72 -0
  249. package/include/EdhocProcessAsyncWorker.h +14 -10
  250. package/include/LibEDHOC.h +44 -20
  251. package/include/UserContext.h +7 -9
  252. package/include/Utils.h +31 -27
  253. package/package.json +14 -3
  254. package/prebuilds/android-arm/edhoc.armv7.node +0 -0
  255. package/prebuilds/android-arm64/edhoc.armv8.node +0 -0
  256. package/prebuilds/darwin-arm64/edhoc.node +0 -0
  257. package/prebuilds/darwin-x64/edhoc.node +0 -0
  258. package/prebuilds/linux-arm/edhoc.armv6.node +0 -0
  259. package/prebuilds/linux-arm/edhoc.armv7.node +0 -0
  260. package/prebuilds/linux-arm64/edhoc.armv8.node +0 -0
  261. package/prebuilds/linux-x64/edhoc.glibc.node +0 -0
  262. package/prebuilds/linux-x64/edhoc.musl.node +0 -0
  263. package/prebuilds/win32-ia32/edhoc.node +0 -0
  264. package/prebuilds/win32-x64/edhoc.node +0 -0
  265. package/src/EdhocComposeAsyncWorker.cpp +18 -35
  266. package/src/EdhocCredentialManager.cpp +160 -187
  267. package/src/EdhocCryptoManager.cpp +386 -586
  268. package/src/EdhocEadManager.cpp +10 -18
  269. package/src/EdhocExportOscoreAsyncWorker.cpp +77 -0
  270. package/src/EdhocKeyExporterAsyncWorker.cpp +49 -0
  271. package/src/EdhocKeyUpdateAsyncWorker.cpp +41 -0
  272. package/src/EdhocProcessAsyncWorker.cpp +72 -19
  273. package/src/LibEDHOC.cpp +213 -174
  274. package/src/Suites.cpp +39 -72
  275. package/src/Utils.cpp +32 -56
  276. package/test/basic.test.ts +64 -0
  277. package/test/vectors.test.ts +111 -0
  278. package/external/libedhoc/externals/zcbor/include/zcbor_debug.h +0 -69
  279. package/external/libedhoc/tests/include/cipher_suite_negotiation/test_edhoc_cipher_suite_negotiation.h +0 -37
  280. package/external/libedhoc/tests/include/cipher_suites/test_cipher_suite_0.h +0 -48
  281. package/external/libedhoc/tests/include/cipher_suites/test_cipher_suite_2.h +0 -48
  282. package/external/libedhoc/tests/include/edhoc_trace_1/authentication_credentials_1.h +0 -60
  283. package/external/libedhoc/tests/include/edhoc_trace_1/test_edhoc_handshake_1.h +0 -208
  284. package/external/libedhoc/tests/include/edhoc_trace_1/test_edhoc_handshake_ead_1.h +0 -59
  285. package/external/libedhoc/tests/include/edhoc_trace_2/authentication_credentials_2.h +0 -60
  286. package/external/libedhoc/tests/include/edhoc_trace_2/test_edhoc_handshake_2.h +0 -199
  287. package/external/libedhoc/tests/include/error_message/test_edhoc_error_message.h +0 -48
  288. package/external/libedhoc/tests/include/x509_chain_cs_0/authentication_credentials_x5chain_cs_0.h +0 -92
  289. package/external/libedhoc/tests/include/x509_chain_cs_0/test_edhoc_handshake_x5chain_cs_0.h +0 -96
  290. package/external/libedhoc/tests/include/x509_chain_cs_2/authentication_credentials_x5chain_cs_2.h +0 -58
  291. package/external/libedhoc/tests/include/x509_chain_cs_2/test_edhoc_handshake_x5chain_cs_2.h +0 -56
  292. package/external/libedhoc/tests/include/x509_chain_cs_2/test_edhoc_handshake_x5chain_cs_2_ead.h +0 -57
  293. package/external/libedhoc/tests/include/x509_chain_cs_2_static_dh/authentication_credentials_x5chain_cs_2_static_dh.h +0 -59
  294. package/external/libedhoc/tests/include/x509_chain_cs_2_static_dh/test_edhoc_handshake_x5chain_cs_2_static_dh_ead.h +0 -57
  295. package/external/libedhoc/tests/include/x509_hash_cs_2/authentication_credentials_x5t_cs_2.h +0 -60
  296. package/external/libedhoc/tests/include/x509_hash_cs_2/test_edhoc_handshake_x5t_cs_2_ead.h +0 -57
  297. package/external/libedhoc/tests/src/cipher_suites/test_cipher_suite_0.c +0 -475
  298. package/external/libedhoc/tests/src/cipher_suites/test_cipher_suite_2.c +0 -473
  299. package/external/libedhoc/tests/src/edhoc_trace_1/authentication_credentials_1.c +0 -252
  300. package/external/libedhoc/tests/src/edhoc_trace_1/test_edhoc_handshake_1.c +0 -1829
  301. package/external/libedhoc/tests/src/edhoc_trace_1/test_edhoc_handshake_ead_1.c +0 -1247
  302. package/external/libedhoc/tests/src/edhoc_trace_2/authentication_credentials_2.c +0 -170
  303. package/external/libedhoc/tests/src/edhoc_trace_2/test_edhoc_handshake_2.c +0 -1783
  304. package/external/libedhoc/tests/src/tests.c +0 -228
  305. package/external/libedhoc/tests/src/x509_chain_cs_0/authentication_credentials_x5chain_cs_0.c +0 -332
  306. package/external/libedhoc/tests/src/x509_chain_cs_0/test_edhoc_handshake_x5chain_cs_0.c +0 -936
  307. package/external/libedhoc/tests/src/x509_chain_cs_2/authentication_credentials_x5chain_cs_2.c +0 -166
  308. package/external/libedhoc/tests/src/x509_chain_cs_2/test_edhoc_handshake_x5chain_cs_2.c +0 -587
  309. package/external/libedhoc/tests/src/x509_chain_cs_2/test_edhoc_handshake_x5chain_cs_2_ead.c +0 -917
  310. package/external/libedhoc/tests/src/x509_chain_cs_2_static_dh/authentication_credentials_x5chain_cs_2_static_dh.c +0 -186
  311. package/external/libedhoc/tests/src/x509_chain_cs_2_static_dh/test_edhoc_handshake_x5chain_cs_2_static_dh_ead.c +0 -743
  312. package/external/libedhoc/tests/src/x509_hash_cs_2/authentication_credentials_x5t_cs_2.c +0 -261
  313. package/external/libedhoc/tests/src/x509_hash_cs_2/test_edhoc_handshake_x5t_cs_2_ead.c +0 -854
  314. package/src/EdhocExportAsyncWorker.cpp +0 -82
@@ -1,5 +1,5 @@
1
1
  /*
2
- * Generated using zcbor version 0.7.0
2
+ * Generated using zcbor version 0.8.1
3
3
  * https://github.com/NordicSemiconductor/zcbor
4
4
  * Generated with a --default-max-qty of 3
5
5
  */
@@ -10,49 +10,58 @@
10
10
  #include <string.h>
11
11
  #include "zcbor_encode.h"
12
12
  #include "backend_cbor_plaintext_2_encode.h"
13
+ #include "zcbor_print.h"
13
14
 
14
15
  #if DEFAULT_MAX_QTY != 3
15
16
  #error "The type file was generated with a different default_max_qty than this file"
16
17
  #endif
17
18
 
18
- static bool encode_repeated_map_kid(zcbor_state_t *state, const struct map_kid_ *input);
19
- static bool encode_COSE_X509(zcbor_state_t *state, const struct COSE_X509_ *input);
19
+ static bool encode_repeated_map_kid(zcbor_state_t *state, const struct map_kid_r *input);
20
+ static bool encode_COSE_X509(zcbor_state_t *state, const struct COSE_X509_r *input);
20
21
  static bool encode_repeated_map_x5chain(zcbor_state_t *state, const struct map_x5chain *input);
21
22
  static bool encode_COSE_CertHash(zcbor_state_t *state, const struct COSE_CertHash *input);
22
23
  static bool encode_repeated_map_x5t(zcbor_state_t *state, const struct map_x5t *input);
23
24
  static bool encode_map(zcbor_state_t *state, const struct map *input);
24
- static bool encode_repeated_ead_x(zcbor_state_t *state, const struct ead_x *input);
25
- static bool encode_ead_x(zcbor_state_t *state, const struct ead_x_ *input);
25
+ static bool encode_ead_y(zcbor_state_t *state, const struct ead_y *input);
26
+ static bool encode_EAD_2(zcbor_state_t *state, const struct EAD_2 *input);
26
27
  static bool encode_plaintext_2(zcbor_state_t *state, const struct plaintext_2 *input);
27
28
 
28
29
 
29
30
  static bool encode_repeated_map_kid(
30
- zcbor_state_t *state, const struct map_kid_ *input)
31
+ zcbor_state_t *state, const struct map_kid_r *input)
31
32
  {
32
- zcbor_print("%s\r\n", __func__);
33
+ zcbor_log("%s\r\n", __func__);
33
34
 
34
35
  bool tmp_result = ((((zcbor_uint32_put(state, (4))))
35
- && (((*input)._map_kid_choice == _map_kid_int) ? ((zcbor_int32_encode(state, (&(*input)._map_kid_int))))
36
- : (((*input)._map_kid_choice == _map_kid_bstr) ? ((zcbor_bstr_encode(state, (&(*input)._map_kid_bstr))))
36
+ && (((*input).map_kid_choice == map_kid_int_c) ? ((zcbor_int32_encode(state, (&(*input).map_kid_int))))
37
+ : (((*input).map_kid_choice == map_kid_bstr_c) ? ((zcbor_bstr_encode(state, (&(*input).map_kid_bstr))))
37
38
  : false))));
38
39
 
39
- if (!tmp_result)
40
- zcbor_trace();
40
+ if (!tmp_result) {
41
+ zcbor_trace_file(state);
42
+ zcbor_log("%s error: %s\r\n", __func__, zcbor_error_str(zcbor_peek_error(state)));
43
+ } else {
44
+ zcbor_log("%s success\r\n", __func__);
45
+ }
41
46
 
42
47
  return tmp_result;
43
48
  }
44
49
 
45
50
  static bool encode_COSE_X509(
46
- zcbor_state_t *state, const struct COSE_X509_ *input)
51
+ zcbor_state_t *state, const struct COSE_X509_r *input)
47
52
  {
48
- zcbor_print("%s\r\n", __func__);
53
+ zcbor_log("%s\r\n", __func__);
49
54
 
50
- bool tmp_result = (((((*input)._COSE_X509_choice == _COSE_X509_bstr) ? ((zcbor_bstr_encode(state, (&(*input)._COSE_X509_bstr))))
51
- : (((*input)._COSE_X509_choice == _COSE_X509__certs) ? ((zcbor_list_start_encode(state, 3) && ((zcbor_multi_encode_minmax(2, 3, &(*input)._COSE_X509__certs_certs_count, (zcbor_encoder_t *)zcbor_bstr_encode, state, (&(*input)._COSE_X509__certs_certs), sizeof(struct zcbor_string))) || (zcbor_list_map_end_force_encode(state), false)) && zcbor_list_end_encode(state, 3)))
55
+ bool tmp_result = (((((*input).COSE_X509_choice == COSE_X509_bstr_c) ? ((zcbor_bstr_encode(state, (&(*input).COSE_X509_bstr))))
56
+ : (((*input).COSE_X509_choice == COSE_X509_certs_l_c) ? ((zcbor_list_start_encode(state, 3) && ((zcbor_multi_encode_minmax(2, 3, &(*input).COSE_X509_certs_l_certs_count, (zcbor_encoder_t *)zcbor_bstr_encode, state, (&(*input).COSE_X509_certs_l_certs), sizeof(struct zcbor_string))) || (zcbor_list_map_end_force_encode(state), false)) && zcbor_list_end_encode(state, 3)))
52
57
  : false))));
53
58
 
54
- if (!tmp_result)
55
- zcbor_trace();
59
+ if (!tmp_result) {
60
+ zcbor_trace_file(state);
61
+ zcbor_log("%s error: %s\r\n", __func__, zcbor_error_str(zcbor_peek_error(state)));
62
+ } else {
63
+ zcbor_log("%s success\r\n", __func__);
64
+ }
56
65
 
57
66
  return tmp_result;
58
67
  }
@@ -60,13 +69,17 @@ static bool encode_COSE_X509(
60
69
  static bool encode_repeated_map_x5chain(
61
70
  zcbor_state_t *state, const struct map_x5chain *input)
62
71
  {
63
- zcbor_print("%s\r\n", __func__);
72
+ zcbor_log("%s\r\n", __func__);
64
73
 
65
74
  bool tmp_result = ((((zcbor_uint32_put(state, (33))))
66
- && (encode_COSE_X509(state, (&(*input)._map_x5chain)))));
75
+ && (encode_COSE_X509(state, (&(*input).map_x5chain)))));
67
76
 
68
- if (!tmp_result)
69
- zcbor_trace();
77
+ if (!tmp_result) {
78
+ zcbor_trace_file(state);
79
+ zcbor_log("%s error: %s\r\n", __func__, zcbor_error_str(zcbor_peek_error(state)));
80
+ } else {
81
+ zcbor_log("%s success\r\n", __func__);
82
+ }
70
83
 
71
84
  return tmp_result;
72
85
  }
@@ -74,15 +87,19 @@ static bool encode_repeated_map_x5chain(
74
87
  static bool encode_COSE_CertHash(
75
88
  zcbor_state_t *state, const struct COSE_CertHash *input)
76
89
  {
77
- zcbor_print("%s\r\n", __func__);
90
+ zcbor_log("%s\r\n", __func__);
78
91
 
79
- bool tmp_result = (((zcbor_list_start_encode(state, 2) && ((((((*input)._COSE_CertHash_hashAlg_choice == _COSE_CertHash_hashAlg_int) ? ((zcbor_int32_encode(state, (&(*input)._COSE_CertHash_hashAlg_int))))
80
- : (((*input)._COSE_CertHash_hashAlg_choice == _COSE_CertHash_hashAlg_tstr) ? ((zcbor_tstr_encode(state, (&(*input)._COSE_CertHash_hashAlg_tstr))))
92
+ bool tmp_result = (((zcbor_list_start_encode(state, 2) && ((((((*input).COSE_CertHash_hashAlg_choice == COSE_CertHash_hashAlg_int_c) ? ((zcbor_int32_encode(state, (&(*input).COSE_CertHash_hashAlg_int))))
93
+ : (((*input).COSE_CertHash_hashAlg_choice == COSE_CertHash_hashAlg_tstr_c) ? ((zcbor_tstr_encode(state, (&(*input).COSE_CertHash_hashAlg_tstr))))
81
94
  : false)))
82
- && ((zcbor_bstr_encode(state, (&(*input)._COSE_CertHash_hashValue))))) || (zcbor_list_map_end_force_encode(state), false)) && zcbor_list_end_encode(state, 2))));
95
+ && ((zcbor_bstr_encode(state, (&(*input).COSE_CertHash_hashValue))))) || (zcbor_list_map_end_force_encode(state), false)) && zcbor_list_end_encode(state, 2))));
83
96
 
84
- if (!tmp_result)
85
- zcbor_trace();
97
+ if (!tmp_result) {
98
+ zcbor_trace_file(state);
99
+ zcbor_log("%s error: %s\r\n", __func__, zcbor_error_str(zcbor_peek_error(state)));
100
+ } else {
101
+ zcbor_log("%s success\r\n", __func__);
102
+ }
86
103
 
87
104
  return tmp_result;
88
105
  }
@@ -90,13 +107,17 @@ static bool encode_COSE_CertHash(
90
107
  static bool encode_repeated_map_x5t(
91
108
  zcbor_state_t *state, const struct map_x5t *input)
92
109
  {
93
- zcbor_print("%s\r\n", __func__);
110
+ zcbor_log("%s\r\n", __func__);
94
111
 
95
112
  bool tmp_result = ((((zcbor_uint32_put(state, (34))))
96
- && (encode_COSE_CertHash(state, (&(*input)._map_x5t)))));
113
+ && (encode_COSE_CertHash(state, (&(*input).map_x5t)))));
97
114
 
98
- if (!tmp_result)
99
- zcbor_trace();
115
+ if (!tmp_result) {
116
+ zcbor_trace_file(state);
117
+ zcbor_log("%s error: %s\r\n", __func__, zcbor_error_str(zcbor_peek_error(state)));
118
+ } else {
119
+ zcbor_log("%s success\r\n", __func__);
120
+ }
100
121
 
101
122
  return tmp_result;
102
123
  }
@@ -104,41 +125,53 @@ static bool encode_repeated_map_x5t(
104
125
  static bool encode_map(
105
126
  zcbor_state_t *state, const struct map *input)
106
127
  {
107
- zcbor_print("%s\r\n", __func__);
128
+ zcbor_log("%s\r\n", __func__);
108
129
 
109
- bool tmp_result = (((zcbor_map_start_encode(state, 3) && ((zcbor_present_encode(&((*input)._map_kid_present), (zcbor_encoder_t *)encode_repeated_map_kid, state, (&(*input)._map_kid))
110
- && zcbor_present_encode(&((*input)._map_x5chain_present), (zcbor_encoder_t *)encode_repeated_map_x5chain, state, (&(*input)._map_x5chain))
111
- && zcbor_present_encode(&((*input)._map_x5t_present), (zcbor_encoder_t *)encode_repeated_map_x5t, state, (&(*input)._map_x5t))) || (zcbor_list_map_end_force_encode(state), false)) && zcbor_map_end_encode(state, 3))));
130
+ bool tmp_result = (((zcbor_map_start_encode(state, 3) && (((!(*input).map_kid_present || encode_repeated_map_kid(state, (&(*input).map_kid)))
131
+ && (!(*input).map_x5chain_present || encode_repeated_map_x5chain(state, (&(*input).map_x5chain)))
132
+ && (!(*input).map_x5t_present || encode_repeated_map_x5t(state, (&(*input).map_x5t)))) || (zcbor_list_map_end_force_encode(state), false)) && zcbor_map_end_encode(state, 3))));
112
133
 
113
- if (!tmp_result)
114
- zcbor_trace();
134
+ if (!tmp_result) {
135
+ zcbor_trace_file(state);
136
+ zcbor_log("%s error: %s\r\n", __func__, zcbor_error_str(zcbor_peek_error(state)));
137
+ } else {
138
+ zcbor_log("%s success\r\n", __func__);
139
+ }
115
140
 
116
141
  return tmp_result;
117
142
  }
118
143
 
119
- static bool encode_repeated_ead_x(
120
- zcbor_state_t *state, const struct ead_x *input)
144
+ static bool encode_ead_y(
145
+ zcbor_state_t *state, const struct ead_y *input)
121
146
  {
122
- zcbor_print("%s\r\n", __func__);
147
+ zcbor_log("%s\r\n", __func__);
123
148
 
124
- bool tmp_result = (((((zcbor_int32_encode(state, (&(*input)._ead_x_ead_label))))
125
- && zcbor_present_encode(&((*input)._ead_x_ead_value_present), (zcbor_encoder_t *)zcbor_bstr_encode, state, (&(*input)._ead_x_ead_value)))));
149
+ bool tmp_result = (((((zcbor_int32_encode(state, (&(*input).ead_y_ead_label))))
150
+ && (!(*input).ead_y_ead_value_present || zcbor_bstr_encode(state, (&(*input).ead_y_ead_value))))));
126
151
 
127
- if (!tmp_result)
128
- zcbor_trace();
152
+ if (!tmp_result) {
153
+ zcbor_trace_file(state);
154
+ zcbor_log("%s error: %s\r\n", __func__, zcbor_error_str(zcbor_peek_error(state)));
155
+ } else {
156
+ zcbor_log("%s success\r\n", __func__);
157
+ }
129
158
 
130
159
  return tmp_result;
131
160
  }
132
161
 
133
- static bool encode_ead_x(
134
- zcbor_state_t *state, const struct ead_x_ *input)
162
+ static bool encode_EAD_2(
163
+ zcbor_state_t *state, const struct EAD_2 *input)
135
164
  {
136
- zcbor_print("%s\r\n", __func__);
165
+ zcbor_log("%s\r\n", __func__);
137
166
 
138
- bool tmp_result = (zcbor_multi_encode_minmax(1, 3, &(*input)._ead_x_count, (zcbor_encoder_t *)encode_repeated_ead_x, state, (&(*input)._ead_x), sizeof(struct ead_x)));
167
+ bool tmp_result = (zcbor_multi_encode_minmax(1, 3, &(*input).EAD_2_count, (zcbor_encoder_t *)encode_ead_y, state, (&(*input).EAD_2), sizeof(struct ead_y)));
139
168
 
140
- if (!tmp_result)
141
- zcbor_trace();
169
+ if (!tmp_result) {
170
+ zcbor_trace_file(state);
171
+ zcbor_log("%s error: %s\r\n", __func__, zcbor_error_str(zcbor_peek_error(state)));
172
+ } else {
173
+ zcbor_log("%s success\r\n", __func__);
174
+ }
142
175
 
143
176
  return tmp_result;
144
177
  }
@@ -146,22 +179,26 @@ static bool encode_ead_x(
146
179
  static bool encode_plaintext_2(
147
180
  zcbor_state_t *state, const struct plaintext_2 *input)
148
181
  {
149
- zcbor_print("%s\r\n", __func__);
182
+ zcbor_log("%s\r\n", __func__);
150
183
 
151
- bool tmp_result = (((((((*input)._plaintext_2_C_R_choice == _plaintext_2_C_R_bstr) ? ((zcbor_bstr_encode(state, (&(*input)._plaintext_2_C_R_bstr))))
152
- : (((*input)._plaintext_2_C_R_choice == _plaintext_2_C_R_int) ? (((((*input)._plaintext_2_C_R_int >= -24)
153
- && ((*input)._plaintext_2_C_R_int <= 23)) || (zcbor_error(state, ZCBOR_ERR_WRONG_RANGE), false))
154
- && (zcbor_int32_encode(state, (&(*input)._plaintext_2_C_R_int))))
184
+ bool tmp_result = (((((((*input).plaintext_2_C_R_choice == plaintext_2_C_R_bstr_c) ? ((zcbor_bstr_encode(state, (&(*input).plaintext_2_C_R_bstr))))
185
+ : (((*input).plaintext_2_C_R_choice == plaintext_2_C_R_int_c) ? (((((*input).plaintext_2_C_R_int >= -24)
186
+ && ((*input).plaintext_2_C_R_int <= 23)) || (zcbor_error(state, ZCBOR_ERR_WRONG_RANGE), false))
187
+ && (zcbor_int32_encode(state, (&(*input).plaintext_2_C_R_int))))
155
188
  : false)))
156
- && ((((*input)._plaintext_2_ID_CRED_R_choice == _plaintext_2_ID_CRED_R_int) ? ((zcbor_int32_encode(state, (&(*input)._plaintext_2_ID_CRED_R_int))))
157
- : (((*input)._plaintext_2_ID_CRED_R_choice == _plaintext_2_ID_CRED_R_bstr) ? ((zcbor_bstr_encode(state, (&(*input)._plaintext_2_ID_CRED_R_bstr))))
158
- : (((*input)._plaintext_2_ID_CRED_R_choice == _plaintext_2_ID_CRED_R__map) ? ((encode_map(state, (&(*input)._plaintext_2_ID_CRED_R__map))))
189
+ && ((((*input).plaintext_2_ID_CRED_R_choice == plaintext_2_ID_CRED_R_int_c) ? ((zcbor_int32_encode(state, (&(*input).plaintext_2_ID_CRED_R_int))))
190
+ : (((*input).plaintext_2_ID_CRED_R_choice == plaintext_2_ID_CRED_R_bstr_c) ? ((zcbor_bstr_encode(state, (&(*input).plaintext_2_ID_CRED_R_bstr))))
191
+ : (((*input).plaintext_2_ID_CRED_R_choice == plaintext_2_ID_CRED_R_map_m_c) ? ((encode_map(state, (&(*input).plaintext_2_ID_CRED_R_map_m))))
159
192
  : false))))
160
- && ((zcbor_bstr_encode(state, (&(*input)._plaintext_2_Signature_or_MAC_2))))
161
- && zcbor_present_encode(&((*input)._plaintext_2_EAD_2_present), (zcbor_encoder_t *)encode_ead_x, state, (&(*input)._plaintext_2_EAD_2)))));
162
-
163
- if (!tmp_result)
164
- zcbor_trace();
193
+ && ((zcbor_bstr_encode(state, (&(*input).plaintext_2_Signature_or_MAC_2))))
194
+ && (!(*input).plaintext_2_EAD_2_m_present || encode_EAD_2(state, (&(*input).plaintext_2_EAD_2_m))))));
195
+
196
+ if (!tmp_result) {
197
+ zcbor_trace_file(state);
198
+ zcbor_log("%s error: %s\r\n", __func__, zcbor_error_str(zcbor_peek_error(state)));
199
+ } else {
200
+ zcbor_log("%s success\r\n", __func__);
201
+ }
165
202
 
166
203
  return tmp_result;
167
204
  }
@@ -175,20 +212,6 @@ int cbor_encode_plaintext_2(
175
212
  {
176
213
  zcbor_state_t states[6];
177
214
 
178
- zcbor_new_state(states, sizeof(states) / sizeof(zcbor_state_t), payload, payload_len, 9);
179
-
180
- bool ret = encode_plaintext_2(states, input);
181
-
182
- if (ret && (payload_len_out != NULL)) {
183
- *payload_len_out = MIN(payload_len,
184
- (size_t)states[0].payload - (size_t)payload);
185
- }
186
-
187
- if (!ret) {
188
- int err = zcbor_pop_error(states);
189
-
190
- zcbor_print("Return error: %d\r\n", err);
191
- return (err == ZCBOR_SUCCESS) ? ZCBOR_ERR_UNKNOWN : err;
192
- }
193
- return ZCBOR_SUCCESS;
215
+ return zcbor_entry_function(payload, payload_len, (void *)input, payload_len_out, states,
216
+ (zcbor_decoder_t *)encode_plaintext_2, sizeof(states) / sizeof(zcbor_state_t), 9);
194
217
  }
@@ -1,5 +1,5 @@
1
1
  /*
2
- * Generated using zcbor version 0.7.0
2
+ * Generated using zcbor version 0.8.1
3
3
  * https://github.com/NordicSemiconductor/zcbor
4
4
  * Generated with a --default-max-qty of 3
5
5
  */
@@ -10,49 +10,58 @@
10
10
  #include <string.h>
11
11
  #include "zcbor_decode.h"
12
12
  #include "backend_cbor_plaintext_3_decode.h"
13
+ #include "zcbor_print.h"
13
14
 
14
15
  #if DEFAULT_MAX_QTY != 3
15
16
  #error "The type file was generated with a different default_max_qty than this file"
16
17
  #endif
17
18
 
18
- static bool decode_repeated_map_kid(zcbor_state_t *state, struct map_kid_ *result);
19
- static bool decode_COSE_X509(zcbor_state_t *state, struct COSE_X509_ *result);
19
+ static bool decode_repeated_map_kid(zcbor_state_t *state, struct map_kid_r *result);
20
+ static bool decode_COSE_X509(zcbor_state_t *state, struct COSE_X509_r *result);
20
21
  static bool decode_repeated_map_x5chain(zcbor_state_t *state, struct map_x5chain *result);
21
22
  static bool decode_COSE_CertHash(zcbor_state_t *state, struct COSE_CertHash *result);
22
23
  static bool decode_repeated_map_x5t(zcbor_state_t *state, struct map_x5t *result);
23
24
  static bool decode_map(zcbor_state_t *state, struct map *result);
24
- static bool decode_repeated_ead_x(zcbor_state_t *state, struct ead_x *result);
25
- static bool decode_ead_x(zcbor_state_t *state, struct ead_x_ *result);
25
+ static bool decode_ead_y(zcbor_state_t *state, struct ead_y *result);
26
+ static bool decode_EAD_3(zcbor_state_t *state, struct EAD_3 *result);
26
27
  static bool decode_plaintext_3(zcbor_state_t *state, struct plaintext_3 *result);
27
28
 
28
29
 
29
30
  static bool decode_repeated_map_kid(
30
- zcbor_state_t *state, struct map_kid_ *result)
31
+ zcbor_state_t *state, struct map_kid_r *result)
31
32
  {
32
- zcbor_print("%s\r\n", __func__);
33
+ zcbor_log("%s\r\n", __func__);
33
34
  bool int_res;
34
35
 
35
36
  bool tmp_result = ((((zcbor_uint32_expect(state, (4))))
36
- && (zcbor_union_start_code(state) && (int_res = ((((zcbor_int32_decode(state, (&(*result)._map_kid_int)))) && (((*result)._map_kid_choice = _map_kid_int), true))
37
- || (((zcbor_bstr_decode(state, (&(*result)._map_kid_bstr)))) && (((*result)._map_kid_choice = _map_kid_bstr), true))), zcbor_union_end_code(state), int_res))));
38
-
39
- if (!tmp_result)
40
- zcbor_trace();
37
+ && (zcbor_union_start_code(state) && (int_res = ((((zcbor_int32_decode(state, (&(*result).map_kid_int)))) && (((*result).map_kid_choice = map_kid_int_c), true))
38
+ || (((zcbor_bstr_decode(state, (&(*result).map_kid_bstr)))) && (((*result).map_kid_choice = map_kid_bstr_c), true))), zcbor_union_end_code(state), int_res))));
39
+
40
+ if (!tmp_result) {
41
+ zcbor_trace_file(state);
42
+ zcbor_log("%s error: %s\r\n", __func__, zcbor_error_str(zcbor_peek_error(state)));
43
+ } else {
44
+ zcbor_log("%s success\r\n", __func__);
45
+ }
41
46
 
42
47
  return tmp_result;
43
48
  }
44
49
 
45
50
  static bool decode_COSE_X509(
46
- zcbor_state_t *state, struct COSE_X509_ *result)
51
+ zcbor_state_t *state, struct COSE_X509_r *result)
47
52
  {
48
- zcbor_print("%s\r\n", __func__);
53
+ zcbor_log("%s\r\n", __func__);
49
54
  bool int_res;
50
55
 
51
- bool tmp_result = (((zcbor_union_start_code(state) && (int_res = ((((zcbor_bstr_decode(state, (&(*result)._COSE_X509_bstr)))) && (((*result)._COSE_X509_choice = _COSE_X509_bstr), true))
52
- || (zcbor_union_elem_code(state) && (((zcbor_list_start_decode(state) && ((zcbor_multi_decode(2, 3, &(*result)._COSE_X509__certs_certs_count, (zcbor_decoder_t *)zcbor_bstr_decode, state, (&(*result)._COSE_X509__certs_certs), sizeof(struct zcbor_string))) || (zcbor_list_map_end_force_decode(state), false)) && zcbor_list_end_decode(state))) && (((*result)._COSE_X509_choice = _COSE_X509__certs), true)))), zcbor_union_end_code(state), int_res))));
56
+ bool tmp_result = (((zcbor_union_start_code(state) && (int_res = ((((zcbor_bstr_decode(state, (&(*result).COSE_X509_bstr)))) && (((*result).COSE_X509_choice = COSE_X509_bstr_c), true))
57
+ || (zcbor_union_elem_code(state) && (((zcbor_list_start_decode(state) && ((zcbor_multi_decode(2, 3, &(*result).COSE_X509_certs_l_certs_count, (zcbor_decoder_t *)zcbor_bstr_decode, state, (&(*result).COSE_X509_certs_l_certs), sizeof(struct zcbor_string))) || (zcbor_list_map_end_force_decode(state), false)) && zcbor_list_end_decode(state))) && (((*result).COSE_X509_choice = COSE_X509_certs_l_c), true)))), zcbor_union_end_code(state), int_res))));
53
58
 
54
- if (!tmp_result)
55
- zcbor_trace();
59
+ if (!tmp_result) {
60
+ zcbor_trace_file(state);
61
+ zcbor_log("%s error: %s\r\n", __func__, zcbor_error_str(zcbor_peek_error(state)));
62
+ } else {
63
+ zcbor_log("%s success\r\n", __func__);
64
+ }
56
65
 
57
66
  return tmp_result;
58
67
  }
@@ -60,13 +69,17 @@ static bool decode_COSE_X509(
60
69
  static bool decode_repeated_map_x5chain(
61
70
  zcbor_state_t *state, struct map_x5chain *result)
62
71
  {
63
- zcbor_print("%s\r\n", __func__);
72
+ zcbor_log("%s\r\n", __func__);
64
73
 
65
74
  bool tmp_result = ((((zcbor_uint32_expect(state, (33))))
66
- && (decode_COSE_X509(state, (&(*result)._map_x5chain)))));
75
+ && (decode_COSE_X509(state, (&(*result).map_x5chain)))));
67
76
 
68
- if (!tmp_result)
69
- zcbor_trace();
77
+ if (!tmp_result) {
78
+ zcbor_trace_file(state);
79
+ zcbor_log("%s error: %s\r\n", __func__, zcbor_error_str(zcbor_peek_error(state)));
80
+ } else {
81
+ zcbor_log("%s success\r\n", __func__);
82
+ }
70
83
 
71
84
  return tmp_result;
72
85
  }
@@ -74,15 +87,19 @@ static bool decode_repeated_map_x5chain(
74
87
  static bool decode_COSE_CertHash(
75
88
  zcbor_state_t *state, struct COSE_CertHash *result)
76
89
  {
77
- zcbor_print("%s\r\n", __func__);
90
+ zcbor_log("%s\r\n", __func__);
78
91
  bool int_res;
79
92
 
80
- bool tmp_result = (((zcbor_list_start_decode(state) && ((((zcbor_union_start_code(state) && (int_res = ((((zcbor_int32_decode(state, (&(*result)._COSE_CertHash_hashAlg_int)))) && (((*result)._COSE_CertHash_hashAlg_choice = _COSE_CertHash_hashAlg_int), true))
81
- || (((zcbor_tstr_decode(state, (&(*result)._COSE_CertHash_hashAlg_tstr)))) && (((*result)._COSE_CertHash_hashAlg_choice = _COSE_CertHash_hashAlg_tstr), true))), zcbor_union_end_code(state), int_res)))
82
- && ((zcbor_bstr_decode(state, (&(*result)._COSE_CertHash_hashValue))))) || (zcbor_list_map_end_force_decode(state), false)) && zcbor_list_end_decode(state))));
93
+ bool tmp_result = (((zcbor_list_start_decode(state) && ((((zcbor_union_start_code(state) && (int_res = ((((zcbor_int32_decode(state, (&(*result).COSE_CertHash_hashAlg_int)))) && (((*result).COSE_CertHash_hashAlg_choice = COSE_CertHash_hashAlg_int_c), true))
94
+ || (((zcbor_tstr_decode(state, (&(*result).COSE_CertHash_hashAlg_tstr)))) && (((*result).COSE_CertHash_hashAlg_choice = COSE_CertHash_hashAlg_tstr_c), true))), zcbor_union_end_code(state), int_res)))
95
+ && ((zcbor_bstr_decode(state, (&(*result).COSE_CertHash_hashValue))))) || (zcbor_list_map_end_force_decode(state), false)) && zcbor_list_end_decode(state))));
83
96
 
84
- if (!tmp_result)
85
- zcbor_trace();
97
+ if (!tmp_result) {
98
+ zcbor_trace_file(state);
99
+ zcbor_log("%s error: %s\r\n", __func__, zcbor_error_str(zcbor_peek_error(state)));
100
+ } else {
101
+ zcbor_log("%s success\r\n", __func__);
102
+ }
86
103
 
87
104
  return tmp_result;
88
105
  }
@@ -90,13 +107,17 @@ static bool decode_COSE_CertHash(
90
107
  static bool decode_repeated_map_x5t(
91
108
  zcbor_state_t *state, struct map_x5t *result)
92
109
  {
93
- zcbor_print("%s\r\n", __func__);
110
+ zcbor_log("%s\r\n", __func__);
94
111
 
95
112
  bool tmp_result = ((((zcbor_uint32_expect(state, (34))))
96
- && (decode_COSE_CertHash(state, (&(*result)._map_x5t)))));
113
+ && (decode_COSE_CertHash(state, (&(*result).map_x5t)))));
97
114
 
98
- if (!tmp_result)
99
- zcbor_trace();
115
+ if (!tmp_result) {
116
+ zcbor_trace_file(state);
117
+ zcbor_log("%s error: %s\r\n", __func__, zcbor_error_str(zcbor_peek_error(state)));
118
+ } else {
119
+ zcbor_log("%s success\r\n", __func__);
120
+ }
100
121
 
101
122
  return tmp_result;
102
123
  }
@@ -104,41 +125,53 @@ static bool decode_repeated_map_x5t(
104
125
  static bool decode_map(
105
126
  zcbor_state_t *state, struct map *result)
106
127
  {
107
- zcbor_print("%s\r\n", __func__);
128
+ zcbor_log("%s\r\n", __func__);
108
129
 
109
- bool tmp_result = (((zcbor_map_start_decode(state) && ((zcbor_present_decode(&((*result)._map_kid_present), (zcbor_decoder_t *)decode_repeated_map_kid, state, (&(*result)._map_kid))
110
- && zcbor_present_decode(&((*result)._map_x5chain_present), (zcbor_decoder_t *)decode_repeated_map_x5chain, state, (&(*result)._map_x5chain))
111
- && zcbor_present_decode(&((*result)._map_x5t_present), (zcbor_decoder_t *)decode_repeated_map_x5t, state, (&(*result)._map_x5t))) || (zcbor_list_map_end_force_decode(state), false)) && zcbor_map_end_decode(state))));
130
+ bool tmp_result = (((zcbor_map_start_decode(state) && ((zcbor_present_decode(&((*result).map_kid_present), (zcbor_decoder_t *)decode_repeated_map_kid, state, (&(*result).map_kid))
131
+ && zcbor_present_decode(&((*result).map_x5chain_present), (zcbor_decoder_t *)decode_repeated_map_x5chain, state, (&(*result).map_x5chain))
132
+ && zcbor_present_decode(&((*result).map_x5t_present), (zcbor_decoder_t *)decode_repeated_map_x5t, state, (&(*result).map_x5t))) || (zcbor_list_map_end_force_decode(state), false)) && zcbor_map_end_decode(state))));
112
133
 
113
- if (!tmp_result)
114
- zcbor_trace();
134
+ if (!tmp_result) {
135
+ zcbor_trace_file(state);
136
+ zcbor_log("%s error: %s\r\n", __func__, zcbor_error_str(zcbor_peek_error(state)));
137
+ } else {
138
+ zcbor_log("%s success\r\n", __func__);
139
+ }
115
140
 
116
141
  return tmp_result;
117
142
  }
118
143
 
119
- static bool decode_repeated_ead_x(
120
- zcbor_state_t *state, struct ead_x *result)
144
+ static bool decode_ead_y(
145
+ zcbor_state_t *state, struct ead_y *result)
121
146
  {
122
- zcbor_print("%s\r\n", __func__);
147
+ zcbor_log("%s\r\n", __func__);
123
148
 
124
- bool tmp_result = (((((zcbor_int32_decode(state, (&(*result)._ead_x_ead_label))))
125
- && zcbor_present_decode(&((*result)._ead_x_ead_value_present), (zcbor_decoder_t *)zcbor_bstr_decode, state, (&(*result)._ead_x_ead_value)))));
149
+ bool tmp_result = (((((zcbor_int32_decode(state, (&(*result).ead_y_ead_label))))
150
+ && ((*result).ead_y_ead_value_present = ((zcbor_bstr_decode(state, (&(*result).ead_y_ead_value)))), 1))));
126
151
 
127
- if (!tmp_result)
128
- zcbor_trace();
152
+ if (!tmp_result) {
153
+ zcbor_trace_file(state);
154
+ zcbor_log("%s error: %s\r\n", __func__, zcbor_error_str(zcbor_peek_error(state)));
155
+ } else {
156
+ zcbor_log("%s success\r\n", __func__);
157
+ }
129
158
 
130
159
  return tmp_result;
131
160
  }
132
161
 
133
- static bool decode_ead_x(
134
- zcbor_state_t *state, struct ead_x_ *result)
162
+ static bool decode_EAD_3(
163
+ zcbor_state_t *state, struct EAD_3 *result)
135
164
  {
136
- zcbor_print("%s\r\n", __func__);
165
+ zcbor_log("%s\r\n", __func__);
137
166
 
138
- bool tmp_result = (zcbor_multi_decode(1, 3, &(*result)._ead_x_count, (zcbor_decoder_t *)decode_repeated_ead_x, state, (&(*result)._ead_x), sizeof(struct ead_x)));
167
+ bool tmp_result = (zcbor_multi_decode(1, 3, &(*result).EAD_3_count, (zcbor_decoder_t *)decode_ead_y, state, (&(*result).EAD_3), sizeof(struct ead_y)));
139
168
 
140
- if (!tmp_result)
141
- zcbor_trace();
169
+ if (!tmp_result) {
170
+ zcbor_trace_file(state);
171
+ zcbor_log("%s error: %s\r\n", __func__, zcbor_error_str(zcbor_peek_error(state)));
172
+ } else {
173
+ zcbor_log("%s success\r\n", __func__);
174
+ }
142
175
 
143
176
  return tmp_result;
144
177
  }
@@ -146,17 +179,21 @@ static bool decode_ead_x(
146
179
  static bool decode_plaintext_3(
147
180
  zcbor_state_t *state, struct plaintext_3 *result)
148
181
  {
149
- zcbor_print("%s\r\n", __func__);
182
+ zcbor_log("%s\r\n", __func__);
150
183
  bool int_res;
151
184
 
152
- bool tmp_result = (((((zcbor_union_start_code(state) && (int_res = ((((zcbor_int32_decode(state, (&(*result)._plaintext_3_ID_CRED_I_int)))) && (((*result)._plaintext_3_ID_CRED_I_choice = _plaintext_3_ID_CRED_I_int), true))
153
- || (((zcbor_bstr_decode(state, (&(*result)._plaintext_3_ID_CRED_I_bstr)))) && (((*result)._plaintext_3_ID_CRED_I_choice = _plaintext_3_ID_CRED_I_bstr), true))
154
- || (zcbor_union_elem_code(state) && (((decode_map(state, (&(*result)._plaintext_3_ID_CRED_I__map)))) && (((*result)._plaintext_3_ID_CRED_I_choice = _plaintext_3_ID_CRED_I__map), true)))), zcbor_union_end_code(state), int_res)))
155
- && ((zcbor_bstr_decode(state, (&(*result)._plaintext_3_Signature_or_MAC_3))))
156
- && zcbor_present_decode(&((*result)._plaintext_3_EAD_3_present), (zcbor_decoder_t *)decode_ead_x, state, (&(*result)._plaintext_3_EAD_3)))));
157
-
158
- if (!tmp_result)
159
- zcbor_trace();
185
+ bool tmp_result = (((((zcbor_union_start_code(state) && (int_res = ((((zcbor_int32_decode(state, (&(*result).plaintext_3_ID_CRED_I_int)))) && (((*result).plaintext_3_ID_CRED_I_choice = plaintext_3_ID_CRED_I_int_c), true))
186
+ || (((zcbor_bstr_decode(state, (&(*result).plaintext_3_ID_CRED_I_bstr)))) && (((*result).plaintext_3_ID_CRED_I_choice = plaintext_3_ID_CRED_I_bstr_c), true))
187
+ || (zcbor_union_elem_code(state) && (((decode_map(state, (&(*result).plaintext_3_ID_CRED_I_map_m)))) && (((*result).plaintext_3_ID_CRED_I_choice = plaintext_3_ID_CRED_I_map_m_c), true)))), zcbor_union_end_code(state), int_res)))
188
+ && ((zcbor_bstr_decode(state, (&(*result).plaintext_3_Signature_or_MAC_3))))
189
+ && ((*result).plaintext_3_EAD_3_m_present = ((decode_EAD_3(state, (&(*result).plaintext_3_EAD_3_m)))), 1))));
190
+
191
+ if (!tmp_result) {
192
+ zcbor_trace_file(state);
193
+ zcbor_log("%s error: %s\r\n", __func__, zcbor_error_str(zcbor_peek_error(state)));
194
+ } else {
195
+ zcbor_log("%s success\r\n", __func__);
196
+ }
160
197
 
161
198
  return tmp_result;
162
199
  }
@@ -170,20 +207,6 @@ int cbor_decode_plaintext_3(
170
207
  {
171
208
  zcbor_state_t states[6];
172
209
 
173
- zcbor_new_state(states, sizeof(states) / sizeof(zcbor_state_t), payload, payload_len, 8);
174
-
175
- bool ret = decode_plaintext_3(states, result);
176
-
177
- if (ret && (payload_len_out != NULL)) {
178
- *payload_len_out = MIN(payload_len,
179
- (size_t)states[0].payload - (size_t)payload);
180
- }
181
-
182
- if (!ret) {
183
- int err = zcbor_pop_error(states);
184
-
185
- zcbor_print("Return error: %d\r\n", err);
186
- return (err == ZCBOR_SUCCESS) ? ZCBOR_ERR_UNKNOWN : err;
187
- }
188
- return ZCBOR_SUCCESS;
210
+ return zcbor_entry_function(payload, payload_len, (void *)result, payload_len_out, states,
211
+ (zcbor_decoder_t *)decode_plaintext_3, sizeof(states) / sizeof(zcbor_state_t), 8);
189
212
  }