edhoc 1.0.5 → 1.1.1

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 (313) hide show
  1. package/README.md +170 -0
  2. package/binding.gyp +13 -11
  3. package/dist/crypto.d.ts +9 -2
  4. package/dist/crypto.d.ts.map +1 -1
  5. package/dist/crypto.js +112 -84
  6. package/dist/edhoc.d.ts +31 -9
  7. package/dist/edhoc.d.ts.map +1 -1
  8. package/dist/index.d.ts +1 -1
  9. package/dist/index.d.ts.map +1 -1
  10. package/dist/index.js +1 -1
  11. package/dist/x509credentials.d.ts +20 -0
  12. package/dist/x509credentials.d.ts.map +1 -0
  13. package/dist/x509credentials.js +140 -0
  14. package/external/libedhoc/backends/cbor/include/backend_cbor_bstr_type_decode.h +1 -1
  15. package/external/libedhoc/backends/cbor/include/backend_cbor_bstr_type_encode.h +1 -1
  16. package/external/libedhoc/backends/cbor/include/backend_cbor_bstr_type_types.h +1 -1
  17. package/external/libedhoc/backends/cbor/include/backend_cbor_ead_decode.h +2 -2
  18. package/external/libedhoc/backends/cbor/include/backend_cbor_ead_encode.h +2 -2
  19. package/external/libedhoc/backends/cbor/include/backend_cbor_edhoc_types.h +48 -43
  20. package/external/libedhoc/backends/cbor/include/backend_cbor_enc_structure_decode.h +1 -1
  21. package/external/libedhoc/backends/cbor/include/backend_cbor_enc_structure_encode.h +1 -1
  22. package/external/libedhoc/backends/cbor/include/backend_cbor_enc_structure_types.h +3 -3
  23. package/external/libedhoc/backends/cbor/include/backend_cbor_id_cred_x_decode.h +1 -1
  24. package/external/libedhoc/backends/cbor/include/backend_cbor_id_cred_x_encode.h +1 -1
  25. package/external/libedhoc/backends/cbor/include/backend_cbor_info_decode.h +1 -1
  26. package/external/libedhoc/backends/cbor/include/backend_cbor_info_encode.h +1 -1
  27. package/external/libedhoc/backends/cbor/include/backend_cbor_int_type_decode.h +1 -1
  28. package/external/libedhoc/backends/cbor/include/backend_cbor_int_type_encode.h +1 -1
  29. package/external/libedhoc/backends/cbor/include/backend_cbor_int_type_types.h +1 -1
  30. package/external/libedhoc/backends/cbor/include/backend_cbor_message_1_decode.h +1 -1
  31. package/external/libedhoc/backends/cbor/include/backend_cbor_message_1_encode.h +1 -1
  32. package/external/libedhoc/backends/cbor/include/backend_cbor_message_2_decode.h +1 -1
  33. package/external/libedhoc/backends/cbor/include/backend_cbor_message_2_encode.h +1 -1
  34. package/external/libedhoc/backends/cbor/include/backend_cbor_message_3_decode.h +1 -1
  35. package/external/libedhoc/backends/cbor/include/backend_cbor_message_3_encode.h +1 -1
  36. package/external/libedhoc/backends/cbor/include/backend_cbor_message_4_decode.h +1 -1
  37. package/external/libedhoc/backends/cbor/include/backend_cbor_message_4_encode.h +1 -1
  38. package/external/libedhoc/backends/cbor/include/backend_cbor_message_error_decode.h +1 -1
  39. package/external/libedhoc/backends/cbor/include/backend_cbor_message_error_encode.h +1 -1
  40. package/external/libedhoc/backends/cbor/include/backend_cbor_plaintext_2_decode.h +1 -1
  41. package/external/libedhoc/backends/cbor/include/backend_cbor_plaintext_2_encode.h +1 -1
  42. package/external/libedhoc/backends/cbor/include/backend_cbor_plaintext_3_decode.h +1 -1
  43. package/external/libedhoc/backends/cbor/include/backend_cbor_plaintext_3_encode.h +1 -1
  44. package/external/libedhoc/backends/cbor/include/backend_cbor_plaintext_4_decode.h +3 -3
  45. package/external/libedhoc/backends/cbor/include/backend_cbor_plaintext_4_encode.h +3 -3
  46. package/external/libedhoc/backends/cbor/include/backend_cbor_sig_structure_decode.h +1 -1
  47. package/external/libedhoc/backends/cbor/include/backend_cbor_sig_structure_encode.h +1 -1
  48. package/external/libedhoc/backends/cbor/include/backend_cbor_sig_structure_types.h +4 -4
  49. package/external/libedhoc/backends/cbor/include/backend_cbor_x509_types.h +93 -83
  50. package/external/libedhoc/backends/cbor/src/backend_cbor_bstr_type_decode.c +11 -20
  51. package/external/libedhoc/backends/cbor/src/backend_cbor_bstr_type_encode.c +11 -20
  52. package/external/libedhoc/backends/cbor/src/backend_cbor_ead_decode.c +27 -32
  53. package/external/libedhoc/backends/cbor/src/backend_cbor_ead_encode.c +27 -32
  54. package/external/libedhoc/backends/cbor/src/backend_cbor_enc_structure_decode.c +14 -23
  55. package/external/libedhoc/backends/cbor/src/backend_cbor_enc_structure_encode.c +14 -23
  56. package/external/libedhoc/backends/cbor/src/backend_cbor_id_cred_x_decode.c +63 -52
  57. package/external/libedhoc/backends/cbor/src/backend_cbor_id_cred_x_encode.c +62 -51
  58. package/external/libedhoc/backends/cbor/src/backend_cbor_info_decode.c +14 -23
  59. package/external/libedhoc/backends/cbor/src/backend_cbor_info_encode.c +14 -23
  60. package/external/libedhoc/backends/cbor/src/backend_cbor_int_type_decode.c +11 -20
  61. package/external/libedhoc/backends/cbor/src/backend_cbor_int_type_encode.c +11 -20
  62. package/external/libedhoc/backends/cbor/src/backend_cbor_message_1_decode.c +54 -51
  63. package/external/libedhoc/backends/cbor/src/backend_cbor_message_1_encode.c +54 -51
  64. package/external/libedhoc/backends/cbor/src/backend_cbor_message_2_decode.c +11 -20
  65. package/external/libedhoc/backends/cbor/src/backend_cbor_message_2_encode.c +11 -20
  66. package/external/libedhoc/backends/cbor/src/backend_cbor_message_3_decode.c +11 -20
  67. package/external/libedhoc/backends/cbor/src/backend_cbor_message_3_encode.c +11 -20
  68. package/external/libedhoc/backends/cbor/src/backend_cbor_message_4_decode.c +11 -20
  69. package/external/libedhoc/backends/cbor/src/backend_cbor_message_4_encode.c +11 -20
  70. package/external/libedhoc/backends/cbor/src/backend_cbor_message_error_decode.c +36 -37
  71. package/external/libedhoc/backends/cbor/src/backend_cbor_message_error_encode.c +36 -37
  72. package/external/libedhoc/backends/cbor/src/backend_cbor_plaintext_2_decode.c +103 -80
  73. package/external/libedhoc/backends/cbor/src/backend_cbor_plaintext_2_encode.c +102 -79
  74. package/external/libedhoc/backends/cbor/src/backend_cbor_plaintext_3_decode.c +99 -76
  75. package/external/libedhoc/backends/cbor/src/backend_cbor_plaintext_3_encode.c +98 -75
  76. package/external/libedhoc/backends/cbor/src/backend_cbor_plaintext_4_decode.c +40 -41
  77. package/external/libedhoc/backends/cbor/src/backend_cbor_plaintext_4_encode.c +40 -41
  78. package/external/libedhoc/backends/cbor/src/backend_cbor_sig_structure_decode.c +15 -24
  79. package/external/libedhoc/backends/cbor/src/backend_cbor_sig_structure_encode.c +15 -24
  80. package/external/libedhoc/externals/Unity/examples/example_1/src/ProductionCode.c +31 -0
  81. package/external/libedhoc/externals/Unity/examples/example_1/src/ProductionCode.h +10 -0
  82. package/external/libedhoc/externals/Unity/examples/example_1/src/ProductionCode2.c +18 -0
  83. package/external/libedhoc/externals/Unity/examples/example_1/src/ProductionCode2.h +9 -0
  84. package/external/libedhoc/externals/Unity/examples/example_1/test/TestProductionCode.c +69 -0
  85. package/external/libedhoc/externals/Unity/examples/example_1/test/TestProductionCode2.c +38 -0
  86. package/external/libedhoc/externals/Unity/examples/example_1/test/test_runners/TestProductionCode2_Runner.c +53 -0
  87. package/external/libedhoc/externals/Unity/examples/example_1/test/test_runners/TestProductionCode_Runner.c +57 -0
  88. package/external/libedhoc/externals/Unity/examples/example_2/src/ProductionCode.c +31 -0
  89. package/external/libedhoc/externals/Unity/examples/example_2/src/ProductionCode.h +10 -0
  90. package/external/libedhoc/externals/Unity/examples/example_2/src/ProductionCode2.c +18 -0
  91. package/external/libedhoc/externals/Unity/examples/example_2/src/ProductionCode2.h +9 -0
  92. package/external/libedhoc/externals/Unity/examples/example_2/test/TestProductionCode.c +71 -0
  93. package/external/libedhoc/externals/Unity/examples/example_2/test/TestProductionCode2.c +40 -0
  94. package/external/libedhoc/externals/Unity/examples/example_2/test/test_runners/TestProductionCode2_Runner.c +16 -0
  95. package/external/libedhoc/externals/Unity/examples/example_2/test/test_runners/TestProductionCode_Runner.c +18 -0
  96. package/external/libedhoc/externals/Unity/examples/example_2/test/test_runners/all_tests.c +19 -0
  97. package/external/libedhoc/externals/Unity/examples/example_3/helper/UnityHelper.c +17 -0
  98. package/external/libedhoc/externals/Unity/examples/example_3/helper/UnityHelper.h +19 -0
  99. package/external/libedhoc/externals/Unity/examples/example_3/src/ProductionCode.c +31 -0
  100. package/external/libedhoc/externals/Unity/examples/example_3/src/ProductionCode.h +10 -0
  101. package/external/libedhoc/externals/Unity/examples/example_3/src/ProductionCode2.c +18 -0
  102. package/external/libedhoc/externals/Unity/examples/example_3/src/ProductionCode2.h +9 -0
  103. package/external/libedhoc/externals/Unity/examples/example_3/test/TestProductionCode.c +69 -0
  104. package/external/libedhoc/externals/Unity/examples/example_3/test/TestProductionCode2.c +38 -0
  105. package/external/libedhoc/externals/Unity/examples/example_4/src/ProductionCode.c +31 -0
  106. package/external/libedhoc/externals/Unity/examples/example_4/src/ProductionCode.h +10 -0
  107. package/external/libedhoc/externals/Unity/examples/example_4/src/ProductionCode2.c +18 -0
  108. package/external/libedhoc/externals/Unity/examples/example_4/src/ProductionCode2.h +9 -0
  109. package/external/libedhoc/externals/Unity/examples/example_4/test/TestProductionCode.c +70 -0
  110. package/external/libedhoc/externals/Unity/examples/example_4/test/TestProductionCode2.c +42 -0
  111. package/external/libedhoc/externals/Unity/examples/example_4/test/test_runners/TestProductionCode2_Runner.c +53 -0
  112. package/external/libedhoc/externals/Unity/examples/example_4/test/test_runners/TestProductionCode_Runner.c +57 -0
  113. package/external/libedhoc/externals/Unity/examples/unity_config.h +251 -0
  114. package/external/libedhoc/externals/Unity/extras/bdd/src/unity_bdd.h +44 -0
  115. package/external/libedhoc/externals/Unity/extras/bdd/test/test_bdd.c +129 -0
  116. package/external/libedhoc/externals/Unity/extras/fixture/src/unity_fixture.c +310 -0
  117. package/external/libedhoc/externals/Unity/extras/fixture/src/unity_fixture.h +95 -0
  118. package/external/libedhoc/externals/Unity/extras/fixture/src/unity_fixture_internals.h +51 -0
  119. package/external/libedhoc/externals/Unity/extras/fixture/test/main/AllTests.c +20 -0
  120. package/external/libedhoc/externals/Unity/extras/fixture/test/template_fixture_tests.c +40 -0
  121. package/external/libedhoc/externals/Unity/extras/fixture/test/unity_fixture_Test.c +246 -0
  122. package/external/libedhoc/externals/Unity/extras/fixture/test/unity_fixture_TestRunner.c +33 -0
  123. package/external/libedhoc/externals/Unity/extras/memory/src/unity_memory.c +203 -0
  124. package/external/libedhoc/externals/Unity/extras/memory/src/unity_memory.h +61 -0
  125. package/external/libedhoc/externals/Unity/extras/memory/test/unity_memory_Test.c +326 -0
  126. package/external/libedhoc/externals/Unity/extras/memory/test/unity_memory_TestRunner.c +50 -0
  127. package/external/libedhoc/externals/Unity/extras/memory/test/unity_output_Spy.c +57 -0
  128. package/external/libedhoc/externals/Unity/extras/memory/test/unity_output_Spy.h +17 -0
  129. package/external/libedhoc/externals/Unity/src/unity.c +2501 -0
  130. package/external/libedhoc/externals/Unity/src/unity.h +698 -0
  131. package/external/libedhoc/externals/Unity/src/unity_internals.h +1183 -0
  132. package/external/libedhoc/externals/Unity/test/expectdata/testsample_cmd.c +61 -0
  133. package/external/libedhoc/externals/Unity/test/expectdata/testsample_def.c +57 -0
  134. package/external/libedhoc/externals/Unity/test/expectdata/testsample_head1.c +55 -0
  135. package/external/libedhoc/externals/Unity/test/expectdata/testsample_head1.h +15 -0
  136. package/external/libedhoc/externals/Unity/test/expectdata/testsample_mock_cmd.c +80 -0
  137. package/external/libedhoc/externals/Unity/test/expectdata/testsample_mock_def.c +76 -0
  138. package/external/libedhoc/externals/Unity/test/expectdata/testsample_mock_head1.c +75 -0
  139. package/external/libedhoc/externals/Unity/test/expectdata/testsample_mock_head1.h +13 -0
  140. package/external/libedhoc/externals/Unity/test/expectdata/testsample_mock_new1.c +89 -0
  141. package/external/libedhoc/externals/Unity/test/expectdata/testsample_mock_new2.c +89 -0
  142. package/external/libedhoc/externals/Unity/test/expectdata/testsample_mock_param.c +77 -0
  143. package/external/libedhoc/externals/Unity/test/expectdata/testsample_mock_run1.c +89 -0
  144. package/external/libedhoc/externals/Unity/test/expectdata/testsample_mock_run2.c +89 -0
  145. package/external/libedhoc/externals/Unity/test/expectdata/testsample_mock_yaml.c +90 -0
  146. package/external/libedhoc/externals/Unity/test/expectdata/testsample_new1.c +67 -0
  147. package/external/libedhoc/externals/Unity/test/expectdata/testsample_new2.c +70 -0
  148. package/external/libedhoc/externals/Unity/test/expectdata/testsample_param.c +58 -0
  149. package/external/libedhoc/externals/Unity/test/expectdata/testsample_run1.c +67 -0
  150. package/external/libedhoc/externals/Unity/test/expectdata/testsample_run2.c +70 -0
  151. package/external/libedhoc/externals/Unity/test/expectdata/testsample_yaml.c +71 -0
  152. package/external/libedhoc/externals/Unity/test/testdata/CException.h +18 -0
  153. package/external/libedhoc/externals/Unity/test/testdata/Defs.h +16 -0
  154. package/external/libedhoc/externals/Unity/test/testdata/cmock.h +21 -0
  155. package/external/libedhoc/externals/Unity/test/testdata/mockMock.h +20 -0
  156. package/external/libedhoc/externals/Unity/test/testdata/testRunnerGenerator.c +204 -0
  157. package/external/libedhoc/externals/Unity/test/testdata/testRunnerGeneratorSmall.c +73 -0
  158. package/external/libedhoc/externals/Unity/test/testdata/testRunnerGeneratorWithMocks.c +200 -0
  159. package/external/libedhoc/externals/Unity/test/tests/self_assessment_utils.h +151 -0
  160. package/external/libedhoc/externals/Unity/test/tests/test_unity_arrays.c +2941 -0
  161. package/external/libedhoc/externals/Unity/test/tests/test_unity_core.c +375 -0
  162. package/external/libedhoc/externals/Unity/test/tests/test_unity_doubles.c +1285 -0
  163. package/external/libedhoc/externals/Unity/test/tests/test_unity_floats.c +1395 -0
  164. package/external/libedhoc/externals/Unity/test/tests/test_unity_integers.c +2863 -0
  165. package/external/libedhoc/externals/Unity/test/tests/test_unity_integers_64.c +783 -0
  166. package/external/libedhoc/externals/Unity/test/tests/test_unity_memory.c +82 -0
  167. package/external/libedhoc/externals/Unity/test/tests/test_unity_parameterized.c +309 -0
  168. package/external/libedhoc/externals/Unity/test/tests/test_unity_parameterizedDemo.c +28 -0
  169. package/external/libedhoc/externals/Unity/test/tests/test_unity_strings.c +330 -0
  170. package/external/libedhoc/externals/Unity/test/tests/types_for_test.h +21 -0
  171. package/external/libedhoc/externals/zcbor/include/zcbor_common.h +147 -60
  172. package/external/libedhoc/externals/zcbor/include/zcbor_decode.h +291 -202
  173. package/external/libedhoc/externals/zcbor/include/zcbor_encode.h +100 -156
  174. package/external/libedhoc/externals/zcbor/include/zcbor_print.h +165 -0
  175. package/external/libedhoc/externals/zcbor/samples/hello_world/src/main.c +1 -1
  176. package/external/libedhoc/externals/zcbor/samples/pet/include/pet_decode.h +1 -1
  177. package/external/libedhoc/externals/zcbor/samples/pet/include/pet_encode.h +1 -1
  178. package/external/libedhoc/externals/zcbor/samples/pet/include/pet_types.h +4 -4
  179. package/external/libedhoc/externals/zcbor/samples/pet/src/main.c +4 -4
  180. package/external/libedhoc/externals/zcbor/samples/pet/src/pet_decode.c +15 -24
  181. package/external/libedhoc/externals/zcbor/samples/pet/src/pet_encode.c +14 -23
  182. package/external/libedhoc/externals/zcbor/src/zcbor_common.c +202 -29
  183. package/external/libedhoc/externals/zcbor/src/zcbor_decode.c +633 -173
  184. package/external/libedhoc/externals/zcbor/src/zcbor_encode.c +71 -184
  185. package/external/libedhoc/externals/zcbor/tests/decode/test1_suit_old_formats/src/main.c +152 -153
  186. package/external/libedhoc/externals/zcbor/tests/decode/test2_suit/src/main.c +64 -64
  187. package/external/libedhoc/externals/zcbor/tests/decode/test3_simple/src/main.c +15 -16
  188. package/external/libedhoc/externals/zcbor/tests/decode/test5_corner_cases/src/main.c +228 -84
  189. package/external/libedhoc/externals/zcbor/tests/decode/test7_suit9_simple/src/main.c +9 -9
  190. package/external/libedhoc/externals/zcbor/tests/decode/test8_suit12/src/main.c +0 -1
  191. package/external/libedhoc/externals/zcbor/tests/decode/test9_manifest14/src/main.c +172 -173
  192. package/external/libedhoc/externals/zcbor/tests/encode/test1_suit/src/main.c +73 -73
  193. package/external/libedhoc/externals/zcbor/tests/encode/test2_simple/src/main.c +1 -2
  194. package/external/libedhoc/externals/zcbor/tests/encode/test3_corner_cases/src/main.c +83 -56
  195. package/external/libedhoc/externals/zcbor/tests/encode/test4_senml/src/main.c +15 -16
  196. package/external/libedhoc/externals/zcbor/tests/fuzz/fuzz_everything.c +12 -0
  197. package/external/libedhoc/externals/zcbor/tests/fuzz/fuzz_manifest12.c +69 -69
  198. package/external/libedhoc/externals/zcbor/tests/unit/test1_unit_tests/src/main.c +448 -55
  199. package/external/libedhoc/externals/zcbor/tests/unit/test3_float16/src/main.c +49 -48
  200. package/external/libedhoc/include/edhoc.h +348 -54
  201. package/external/libedhoc/include/edhoc_common.h +289 -0
  202. package/external/libedhoc/include/edhoc_context.h +60 -35
  203. package/external/libedhoc/include/edhoc_credentials.h +55 -7
  204. package/external/libedhoc/include/edhoc_crypto.h +10 -10
  205. package/external/libedhoc/include/edhoc_ead.h +13 -10
  206. package/external/libedhoc/include/edhoc_macros.h +20 -11
  207. package/external/libedhoc/include/edhoc_values.h +2 -2
  208. package/external/libedhoc/library/edhoc.c +70 -36
  209. package/external/libedhoc/library/edhoc_common.c +1314 -0
  210. package/external/libedhoc/library/edhoc_exporter.c +45 -46
  211. package/external/libedhoc/library/edhoc_message_1.c +107 -72
  212. package/external/libedhoc/library/edhoc_message_2.c +396 -1693
  213. package/external/libedhoc/library/edhoc_message_3.c +465 -1656
  214. package/external/libedhoc/library/edhoc_message_4.c +93 -91
  215. package/external/libedhoc/library/edhoc_message_error.c +41 -41
  216. package/external/libedhoc/tests/include/{cipher_suites/cipher_suite_0.h → cipher_suite_0.h} +131 -134
  217. package/external/libedhoc/tests/include/{cipher_suites/cipher_suite_2.h → cipher_suite_2.h} +139 -140
  218. package/external/libedhoc/tests/include/{edhoc_trace_1/test_vector_1.h → test_vector_rfc9529_chapter_2.h} +786 -738
  219. package/external/libedhoc/tests/include/{edhoc_trace_2/test_vector_2.h → test_vector_rfc9529_chapter_3.h} +14 -10
  220. 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
  221. 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
  222. 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
  223. 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
  224. package/external/libedhoc/tests/src/{cipher_suites/cipher_suite_0.c → cipher_suite_0.c} +445 -447
  225. package/external/libedhoc/tests/src/{cipher_suites/cipher_suite_2.c → cipher_suite_2.c} +600 -600
  226. package/external/libedhoc/tests/src/module_test_api.c +430 -0
  227. package/external/libedhoc/tests/src/module_test_cipher_suite_0.c +395 -0
  228. package/external/libedhoc/tests/src/module_test_cipher_suite_2.c +392 -0
  229. package/external/libedhoc/tests/src/{error_message/test_edhoc_error_message.c → module_test_error_message.c} +94 -69
  230. package/external/libedhoc/tests/src/module_test_main.c +49 -0
  231. package/external/libedhoc/tests/src/{cipher_suite_negotiation/test_edhoc_cipher_suite_negotiation.c → module_test_rfc9528_suites_negotiation.c} +224 -227
  232. package/external/libedhoc/tests/src/module_test_rfc9529_chapter_2.c +2681 -0
  233. package/external/libedhoc/tests/src/module_test_rfc9529_chapter_3.c +1635 -0
  234. package/external/libedhoc/tests/src/module_test_x5chain_sign_keys_suite_0.c +1135 -0
  235. package/external/libedhoc/tests/src/module_test_x5chain_sign_keys_suite_2.c +1249 -0
  236. package/external/libedhoc/tests/src/module_test_x5chain_static_dh_keys_suite_2.c +798 -0
  237. package/external/libedhoc/tests/src/module_test_x5t_sign_keys_suite_2.c +956 -0
  238. package/include/EdhocComposeAsyncWorker.h +8 -6
  239. package/include/EdhocCredentialManager.h +16 -11
  240. package/include/EdhocCryptoManager.h +28 -21
  241. package/include/EdhocEadManager.h +3 -6
  242. package/include/{EdhocExportAsyncWorker.h → EdhocExportOscoreAsyncWorker.h} +20 -17
  243. package/include/EdhocKeyExporterAsyncWorker.h +76 -0
  244. package/include/EdhocKeyUpdateAsyncWorker.h +72 -0
  245. package/include/EdhocProcessAsyncWorker.h +14 -10
  246. package/include/LibEDHOC.h +44 -20
  247. package/include/UserContext.h +7 -9
  248. package/include/Utils.h +31 -27
  249. package/package.json +14 -3
  250. package/prebuilds/android-arm/edhoc.armv7.node +0 -0
  251. package/prebuilds/android-arm64/edhoc.armv8.node +0 -0
  252. package/prebuilds/darwin-arm64/edhoc.node +0 -0
  253. package/prebuilds/darwin-x64/edhoc.node +0 -0
  254. package/prebuilds/linux-arm/edhoc.armv6.node +0 -0
  255. package/prebuilds/linux-arm/edhoc.armv7.node +0 -0
  256. package/prebuilds/linux-arm64/edhoc.armv8.node +0 -0
  257. package/prebuilds/linux-x64/edhoc.glibc.node +0 -0
  258. package/prebuilds/linux-x64/edhoc.musl.node +0 -0
  259. package/prebuilds/win32-ia32/edhoc.node +0 -0
  260. package/prebuilds/win32-x64/edhoc.node +0 -0
  261. package/src/EdhocComposeAsyncWorker.cpp +18 -35
  262. package/src/EdhocCredentialManager.cpp +160 -187
  263. package/src/EdhocCryptoManager.cpp +386 -586
  264. package/src/EdhocEadManager.cpp +10 -18
  265. package/src/EdhocExportOscoreAsyncWorker.cpp +77 -0
  266. package/src/EdhocKeyExporterAsyncWorker.cpp +49 -0
  267. package/src/EdhocKeyUpdateAsyncWorker.cpp +41 -0
  268. package/src/EdhocProcessAsyncWorker.cpp +72 -19
  269. package/src/LibEDHOC.cpp +213 -174
  270. package/src/Suites.cpp +39 -72
  271. package/src/Utils.cpp +32 -56
  272. package/test/basic.test.ts +64 -0
  273. package/test/vectors.test.ts +111 -0
  274. package/dist/credentials.d.ts +0 -16
  275. package/dist/credentials.d.ts.map +0 -1
  276. package/dist/credentials.js +0 -84
  277. package/external/libedhoc/externals/zcbor/include/zcbor_debug.h +0 -69
  278. package/external/libedhoc/tests/include/cipher_suite_negotiation/test_edhoc_cipher_suite_negotiation.h +0 -37
  279. package/external/libedhoc/tests/include/cipher_suites/test_cipher_suite_0.h +0 -48
  280. package/external/libedhoc/tests/include/cipher_suites/test_cipher_suite_2.h +0 -48
  281. package/external/libedhoc/tests/include/edhoc_trace_1/authentication_credentials_1.h +0 -60
  282. package/external/libedhoc/tests/include/edhoc_trace_1/test_edhoc_handshake_1.h +0 -208
  283. package/external/libedhoc/tests/include/edhoc_trace_1/test_edhoc_handshake_ead_1.h +0 -59
  284. package/external/libedhoc/tests/include/edhoc_trace_2/authentication_credentials_2.h +0 -60
  285. package/external/libedhoc/tests/include/edhoc_trace_2/test_edhoc_handshake_2.h +0 -199
  286. package/external/libedhoc/tests/include/error_message/test_edhoc_error_message.h +0 -48
  287. package/external/libedhoc/tests/include/x509_chain_cs_0/authentication_credentials_x5chain_cs_0.h +0 -92
  288. package/external/libedhoc/tests/include/x509_chain_cs_0/test_edhoc_handshake_x5chain_cs_0.h +0 -96
  289. package/external/libedhoc/tests/include/x509_chain_cs_2/authentication_credentials_x5chain_cs_2.h +0 -58
  290. package/external/libedhoc/tests/include/x509_chain_cs_2/test_edhoc_handshake_x5chain_cs_2.h +0 -56
  291. package/external/libedhoc/tests/include/x509_chain_cs_2/test_edhoc_handshake_x5chain_cs_2_ead.h +0 -57
  292. package/external/libedhoc/tests/include/x509_chain_cs_2_static_dh/authentication_credentials_x5chain_cs_2_static_dh.h +0 -59
  293. package/external/libedhoc/tests/include/x509_chain_cs_2_static_dh/test_edhoc_handshake_x5chain_cs_2_static_dh_ead.h +0 -57
  294. package/external/libedhoc/tests/include/x509_hash_cs_2/authentication_credentials_x5t_cs_2.h +0 -60
  295. package/external/libedhoc/tests/include/x509_hash_cs_2/test_edhoc_handshake_x5t_cs_2_ead.h +0 -57
  296. package/external/libedhoc/tests/src/cipher_suites/test_cipher_suite_0.c +0 -475
  297. package/external/libedhoc/tests/src/cipher_suites/test_cipher_suite_2.c +0 -473
  298. package/external/libedhoc/tests/src/edhoc_trace_1/authentication_credentials_1.c +0 -252
  299. package/external/libedhoc/tests/src/edhoc_trace_1/test_edhoc_handshake_1.c +0 -1829
  300. package/external/libedhoc/tests/src/edhoc_trace_1/test_edhoc_handshake_ead_1.c +0 -1247
  301. package/external/libedhoc/tests/src/edhoc_trace_2/authentication_credentials_2.c +0 -170
  302. package/external/libedhoc/tests/src/edhoc_trace_2/test_edhoc_handshake_2.c +0 -1783
  303. package/external/libedhoc/tests/src/tests.c +0 -228
  304. package/external/libedhoc/tests/src/x509_chain_cs_0/authentication_credentials_x5chain_cs_0.c +0 -332
  305. package/external/libedhoc/tests/src/x509_chain_cs_0/test_edhoc_handshake_x5chain_cs_0.c +0 -936
  306. package/external/libedhoc/tests/src/x509_chain_cs_2/authentication_credentials_x5chain_cs_2.c +0 -166
  307. package/external/libedhoc/tests/src/x509_chain_cs_2/test_edhoc_handshake_x5chain_cs_2.c +0 -587
  308. package/external/libedhoc/tests/src/x509_chain_cs_2/test_edhoc_handshake_x5chain_cs_2_ead.c +0 -917
  309. package/external/libedhoc/tests/src/x509_chain_cs_2_static_dh/authentication_credentials_x5chain_cs_2_static_dh.c +0 -186
  310. package/external/libedhoc/tests/src/x509_chain_cs_2_static_dh/test_edhoc_handshake_x5chain_cs_2_static_dh_ead.c +0 -743
  311. package/external/libedhoc/tests/src/x509_hash_cs_2/authentication_credentials_x5t_cs_2.c +0 -261
  312. package/external/libedhoc/tests/src/x509_hash_cs_2/test_edhoc_handshake_x5t_cs_2_ead.c +0 -854
  313. package/src/EdhocExportAsyncWorker.cpp +0 -82
@@ -1,199 +0,0 @@
1
- /**
2
- * \file test_edhoc_handshake_2.h
3
- * \author Kamil Kielbasa
4
- * \brief EDHOC handshake unit tests for EDHOC traces (RFC 9529) for chapter 3.
5
- * \version 0.4
6
- * \date 2024-01-01
7
- *
8
- * \copyright Copyright (c) 2024
9
- *
10
- */
11
-
12
- /* Header guard ------------------------------------------------------------ */
13
- #ifndef TEST_EDHOC_HANDSHAKE_2_H
14
- #define TEST_EDHOC_HANDSHAKE_2_H
15
-
16
- /* Include files ----------------------------------------------------------- */
17
- /* Defines ----------------------------------------------------------------- */
18
- /* Types and type definitions ---------------------------------------------- */
19
- /* Module interface variables and constants -------------------------------- */
20
- /* Extern variables and constant declarations ------------------------------ */
21
- /* Module interface function declarations ---------------------------------- */
22
-
23
- /**
24
- * \brief Test scenario:
25
- * - use test vector as input for EDHOC context.
26
- * - call only edhoc_message_1_compose.
27
- * - verify:
28
- * - generated message 1.
29
- * - internal context fields.
30
- * - TH state, value and length.
31
- * - PRK state.
32
- * - ephemeral DH private key value and length.
33
- */
34
- void test_edhoc_handshake_2_message_1_compose(void);
35
-
36
- /**
37
- * \brief Test scenario:
38
- * - use test vector as input for EDHOC context.
39
- * - call only edhoc_message_1_process.
40
- * - verify:
41
- * - if message 1 has been processed successfully.
42
- * - internal context fields.
43
- * - TH state, value and length.
44
- * - PRK state.
45
- * - C_I value and length.
46
- * - peer ephemeral DH public key value and length.
47
- */
48
- void test_edhoc_handshake_2_message_1_process(void);
49
-
50
- /**
51
- * \brief Test scenario:
52
- * - use test vector as input for EDHOC context.
53
- * - do required injections.
54
- * - call only edhoc_message_2_compose.
55
- * - verify:
56
- * - generated message 2.
57
- * - internal context fields.
58
- * - TH state, value and length.
59
- * - PRK state, value and length.
60
- * - computed DH key agreement.
61
- */
62
- void test_edhoc_handshake_2_message_2_compose(void);
63
-
64
- /**
65
- * \brief Test scenario:
66
- * - use test vector as input for EDHOC context.
67
- * - do required injections.
68
- * - call only edhoc_message_2_process.
69
- * - verify:
70
- * - if message 2 has been processed successfully.
71
- * - internal context fields.
72
- * - TH state, value and length.
73
- * - PRK state, value and length.
74
- * - computed DH key agreement.
75
- * - C_R value and length.
76
- */
77
- void test_edhoc_handshake_2_message_2_process(void);
78
-
79
- /**
80
- * \brief Test scenario:
81
- * - use test vector as input for EDHOC context.
82
- * - do required injections.
83
- * - call only edhoc_message_3_compose.
84
- * - verify:
85
- * - generated message 3.
86
- * - internal context fields.
87
- * - TH state, value and length.
88
- * - PRK state, value and length.
89
- */
90
- void test_edhoc_handshake_2_message_3_compose(void);
91
-
92
- /**
93
- * \brief Test scenario:
94
- * - use test vector as input for EDHOC context.
95
- * - do required injections.
96
- * - call only edhoc_message_3_process.
97
- * - verify:
98
- * - if message 3 has been processed successfully.
99
- * - internal context fields.
100
- * - TH state, value and length.
101
- * - PRK state, value and length.
102
- */
103
- void test_edhoc_handshake_2_message_3_process(void);
104
-
105
- /**
106
- * \brief Test scenario:
107
- * - use test vector as input for EDHOC context.
108
- * - do required injections.
109
- * - call only edhoc_message_4_compose.
110
- * - verify:
111
- * - generated message 4.
112
- * - internal context fields.
113
- * - TH state, value and length.
114
- * - PRK state, value and length.
115
- */
116
- void test_edhoc_handshake_2_message_4_compose(void);
117
-
118
- /**
119
- * \brief Test scenario:
120
- * - use test vector as input for EDHOC context.
121
- * - do required injections.
122
- * - call only edhoc_message_4_process.
123
- * - verify:
124
- * - if message 4 has been processed successfully.
125
- * - internal context fields.
126
- * - TH state, value and length.
127
- * - PRK state, value and length.
128
- */
129
- void test_edhoc_handshake_2_message_4_process(void);
130
-
131
- /**
132
- * \brief Test scenario:
133
- * 1) use test vector as input for EDHOC context's.
134
- * 2) perform full EDHOC handshake:
135
- (message 1 -> message 2 -> mesage 3 -> message 4)
136
- * - value and lengthverify with test vector:
137
- * - context.
138
- * - TH.
139
- * - PRK.
140
- * - DH key agreement.
141
- * - C_I / C_R.
142
- * 3) export OSCORE sessions:
143
- * - verify with test vector:
144
- * - internal context.
145
- * - master secret.
146
- * - master salt.
147
- * - sender ID.
148
- * - recipient ID.
149
- * 4) perform key update on EDHOC session
150
- * - verify with test vector:
151
- * - internal context.
152
- * - PRK state,.
153
- * 5) export new OSCORE sessions:
154
- * - verify with test vector:
155
- * - internal context.
156
- * - master secret.
157
- * - master salt.
158
- * - sender ID.
159
- * - recipient ID.
160
- */
161
- void test_edhoc_handshake_2_e2e(void);
162
-
163
- /**
164
- * \brief Test scenario:
165
- * 1) use test vector as input for EDHOC context's.
166
- * 2) perform full EDHOC handshake:
167
- * (message 1 -> message 2 -> mesage 3 -> message 4)
168
- * - verify:
169
- * - internal context.
170
- * - TH state.
171
- * - PRK state.
172
- * - DH key agreement.
173
- * - C_I / C_R.
174
- * 3) export OSCORE sessions:
175
- * - verify by cross-check:
176
- * - internal context.
177
- * - master secret.
178
- * - master salt.
179
- * - sender ID.
180
- * - recipient ID.
181
- * 4) perform key update on EDHOC session
182
- * - verify:
183
- * - internal context.
184
- * - PRK state.
185
- * 5) export new OSCORE sessions:
186
- * - verify by cross-check:
187
- * - internal context.
188
- * - master secret.
189
- * - master salt.
190
- * - sender ID.
191
- * - recipient ID.
192
- *
193
- * \note "real crypto" means that ephemeral Diffie-Hellman per each run will
194
- * generate different keys. This is why only cross-check is possible as
195
- * verification step.
196
- */
197
- void test_edhoc_handshake_2_e2e_real_crypto(void);
198
-
199
- #endif /* TEST_EDHOC_HANDSHAKE_2_H */
@@ -1,48 +0,0 @@
1
- /**
2
- * \file test_edhoc_error_message.h
3
- * \author Kamil Kielbasa
4
- * \brief EDHOC error message unit tests.
5
- * \version 0.4
6
- * \date 2024-01-01
7
- *
8
- * \copyright Copyright (c) 2024
9
- *
10
- */
11
-
12
- /* Header guard ------------------------------------------------------------ */
13
- #ifndef TEST_EDHOC_ERROR_MESSAGE_H
14
- #define TEST_EDHOC_ERROR_MESSAGE_H
15
-
16
- /* Include files ----------------------------------------------------------- */
17
- /* Defines ----------------------------------------------------------------- */
18
- /* Types and type definitions ---------------------------------------------- */
19
- /* Module interface variables and constants -------------------------------- */
20
- /* Extern variables and constant declarations ------------------------------ */
21
- /* Module interface function declarations ---------------------------------- */
22
-
23
- /**
24
- * \brief Test EDHOC error message - success.
25
- */
26
- void test_edhoc_error_message_success(void);
27
-
28
- /**
29
- * \brief Test EDHOC error message - unspecified error.
30
- */
31
- void test_edhoc_error_message_unspecified_error(void);
32
-
33
- /**
34
- * \brief Test EDHOC error message - wrong selected cipher suite.
35
- */
36
- void test_edhoc_error_message_wrong_selected_cipher_suite_one(void);
37
-
38
- /**
39
- * \brief Test EDHOC error message - wrong selected cipher suites.
40
- */
41
- void test_edhoc_error_message_wrong_selected_cipher_suite_many(void);
42
-
43
- /**
44
- * \brief Test EDHOC error message - unknown credential referenced.
45
- */
46
- void test_edhoc_error_message_unknown_credential_referenced(void);
47
-
48
- #endif /* TEST_EDHOC_ERROR_MESSAGE_H */
@@ -1,92 +0,0 @@
1
- /**
2
- * \file authentication_credentials_x5chain_cs_0.h
3
- * \author Kamil Kielbasa
4
- * \brief Example implementation of authentication credentials callbacks
5
- * for X.509 chain authentication method for cipher suite 0.
6
- * \version 0.4
7
- * \date 2024-01-01
8
- *
9
- * \copyright Copyright (c) 2024
10
- *
11
- */
12
-
13
- /* Header guard ------------------------------------------------------------ */
14
- #ifndef AUTHENTICATION_CREDENTIALS_X5CHAIN_CS_0_H
15
- #define AUTHENTICATION_CREDENTIALS_X5CHAIN_CS_0_H
16
-
17
- /* Include files ----------------------------------------------------------- */
18
-
19
- /* Standard library headers: */
20
- #include <stdint.h>
21
- #include <stddef.h>
22
-
23
- /* EDHOC header: */
24
- #include "edhoc_credentials.h"
25
-
26
- /* Defines ----------------------------------------------------------------- */
27
- /* Types and type definitions ---------------------------------------------- */
28
- /* Module interface variables and constants -------------------------------- */
29
- /* Extern variables and constant declarations ------------------------------ */
30
- /* Module interface function declarations ---------------------------------- */
31
-
32
- /**
33
- * \brief Authentication credentials fetch callback for initiator
34
- * for single certificate in chain.
35
- */
36
- int auth_cred_fetch_init_x5chain_cs_0_single_cert(
37
- void *user_context, struct edhoc_auth_creds *credentials);
38
-
39
- /**
40
- * \brief Authentication credentials fetch callback for responder
41
- * for single certificate in chain.
42
- */
43
- int auth_cred_fetch_resp_x5chain_cs_0_single_cert(
44
- void *user_context, struct edhoc_auth_creds *credentials);
45
-
46
- /**
47
- * \brief Authentication credentials verify callback for initiator
48
- * for single ceritifcate in chain.
49
- */
50
- int auth_cred_verify_init_x5chain_cs_0_single_cert(
51
- void *user_context, struct edhoc_auth_creds *credentials,
52
- const uint8_t **public_key_reference, size_t *public_key_length);
53
-
54
- /**
55
- * \brief Authentication credentials verify callback for responder
56
- * for single ceritifcate in chain.
57
- */
58
- int auth_cred_verify_resp_x5chain_cs_0_single_cert(
59
- void *user_context, struct edhoc_auth_creds *credentials,
60
- const uint8_t **public_key_reference, size_t *public_key_length);
61
-
62
- /**
63
- * \brief Authentication credentials fetch callback for initiator.
64
- * for many certificates in chain.
65
- */
66
- int auth_cred_fetch_init_x5chain_cs_0_many_certs(
67
- void *user_context, struct edhoc_auth_creds *credentials);
68
-
69
- /**
70
- * \brief Authentication credentials fetch callback for responder.
71
- * for many certificates in chain.
72
- */
73
- int auth_cred_fetch_resp_x5chain_cs_0_many_certs(
74
- void *user_context, struct edhoc_auth_creds *credentials);
75
-
76
- /**
77
- * \brief Authentication credentials verify callback for initiator.
78
- * for many certificates in chain.
79
- */
80
- int auth_cred_verify_init_x5chain_cs_0_many_certs(
81
- void *user_context, struct edhoc_auth_creds *credentials,
82
- const uint8_t **public_key_reference, size_t *public_key_length);
83
-
84
- /**
85
- * \brief Authentication credentials verify callback for responder.
86
- * for many certificates in chain.
87
- */
88
- int auth_cred_verify_resp_x5chain_cs_0_many_certs(
89
- void *user_context, struct edhoc_auth_creds *credentials,
90
- const uint8_t **public_key_reference, size_t *public_key_length);
91
-
92
- #endif /* AUTHENTICATION_CREDENTIALS_X5CHAIN_CS_0_H */
@@ -1,96 +0,0 @@
1
- /**
2
- * \file test_edhoc_handshake_x5chain_cs_0.h
3
- * \author Kamil Kielbasa
4
- * \brief EDHOC handshake unit test for X.509 chain authentication method
5
- * with real crypto usage.
6
- * \version 0.4
7
- * \date 2024-01-01
8
- *
9
- * \copyright Copyright (c) 2024
10
- *
11
- */
12
-
13
- /* Header guard ------------------------------------------------------------ */
14
- #ifndef TEST_EDHOC_HANDSHAKE_X5CHAIN_CS_0_H
15
- #define TEST_EDHOC_HANDSHAKE_X5CHAIN_CS_0_H
16
-
17
- /* Include files ----------------------------------------------------------- */
18
- /* Defines ----------------------------------------------------------------- */
19
- /* Types and type definitions ---------------------------------------------- */
20
- /* Module interface variables and constants -------------------------------- */
21
- /* Extern variables and constant declarations ------------------------------ */
22
- /* Module interface function declarations ---------------------------------- */
23
-
24
- /**
25
- * \brief Test scenario with single certificate in chain:
26
- * 1) use test vector as input for EDHOC context's.
27
- * 2) perform full EDHOC handshake:
28
- * (message 1 -> message 2 -> mesage 3 -> message 4)
29
- * - verify:
30
- * - internal context.
31
- * - TH state.
32
- * - PRK state.
33
- * - DH key agreement.
34
- * - C_I / C_R.
35
- * 3) export OSCORE sessions:
36
- * - verify by cross-check:
37
- * - internal context.
38
- * - master secret.
39
- * - master salt.
40
- * - sender ID.
41
- * - recipient ID.
42
- * 4) perform key update on EDHOC session
43
- * - verify:
44
- * - internal context.
45
- * - PRK state.
46
- * 5) export new OSCORE sessions:
47
- * - verify by cross-check:
48
- * - internal context.
49
- * - master secret.
50
- * - master salt.
51
- * - sender ID.
52
- * - recipient ID.
53
- *
54
- * \note "real crypto" means that ephemeral Diffie-Hellman per each run will
55
- * generate different keys. This is why only cross-check is possible as
56
- * verification step.
57
- */
58
- void test_edhoc_handshake_x5chain_cs_0_single_cert_e2e_real_crypto(void);
59
-
60
- /**
61
- * \brief Test scenario with many certificates in chain:
62
- * 1) use test vector as input for EDHOC context's.
63
- * 2) perform full EDHOC handshake:
64
- * (message 1 -> message 2 -> mesage 3 -> message 4)
65
- * - verify:
66
- * - internal context.
67
- * - TH state.
68
- * - PRK state.
69
- * - DH key agreement.
70
- * - C_I / C_R.
71
- * 3) export OSCORE sessions:
72
- * - verify by cross-check:
73
- * - internal context.
74
- * - master secret.
75
- * - master salt.
76
- * - sender ID.
77
- * - recipient ID.
78
- * 4) perform key update on EDHOC session
79
- * - verify:
80
- * - internal context.
81
- * - PRK state.
82
- * 5) export new OSCORE sessions:
83
- * - verify by cross-check:
84
- * - internal context.
85
- * - master secret.
86
- * - master salt.
87
- * - sender ID.
88
- * - recipient ID.
89
- *
90
- * \note "real crypto" means that ephemeral Diffie-Hellman per each run will
91
- * generate different keys. This is why only cross-check is possible as
92
- * verification step.
93
- */
94
- void test_edhoc_handshake_x5chain_cs_0_many_certs_e2e_real_crypto(void);
95
-
96
- #endif /* TEST_EDHOC_HANDSHAKE_X5CHAIN_CS_0_H */
@@ -1,58 +0,0 @@
1
- /**
2
- * \file authentication_credentials_x5chain_cs_2.h
3
- * \author Kamil Kielbasa
4
- * \brief Example implementation of authentication credentials callbacks
5
- * for X.509 chain authentication method for cipher suite 2.
6
- * \version 0.4
7
- * \date 2024-01-01
8
- *
9
- * \copyright Copyright (c) 2024
10
- *
11
- */
12
-
13
- /* Header guard ------------------------------------------------------------ */
14
- #ifndef AUTHENTICATION_CREDENTIALS_X5CHAIN_CS_2_H
15
- #define AUTHENTICATION_CREDENTIALS_X5CHAIN_CS_2_H
16
-
17
- /* Include files ----------------------------------------------------------- */
18
-
19
- /* Standard library headers: */
20
- #include <stdint.h>
21
- #include <stddef.h>
22
-
23
- /* EDHOC header: */
24
- #include "edhoc_credentials.h"
25
-
26
- /* Defines ----------------------------------------------------------------- */
27
- /* Types and type definitions ---------------------------------------------- */
28
- /* Module interface variables and constants -------------------------------- */
29
- /* Extern variables and constant declarations ------------------------------ */
30
- /* Module interface function declarations ---------------------------------- */
31
-
32
- /**
33
- * \brief Authentication credentials fetch callback for initiator.
34
- */
35
- int auth_cred_fetch_init_x5chain_cs_2_single_cert(
36
- void *user_context, struct edhoc_auth_creds *credentials);
37
-
38
- /**
39
- * \brief Authentication credentials fetch callback for responder.
40
- */
41
- int auth_cred_fetch_resp_x5chain_cs_2_single_cert(
42
- void *user_context, struct edhoc_auth_creds *credentials);
43
-
44
- /**
45
- * \brief Authentication credentials verify callback for initiator.
46
- */
47
- int auth_cred_verify_init_x5chain_cs_2_single_cert(
48
- void *user_context, struct edhoc_auth_creds *credentials,
49
- const uint8_t **public_key_reference, size_t *public_key_length);
50
-
51
- /**
52
- * \brief Authentication credentials verify callback for responder.
53
- */
54
- int auth_cred_verify_resp_x5chain_cs_2_single_cert(
55
- void *user_context, struct edhoc_auth_creds *credentials,
56
- const uint8_t **public_key_reference, size_t *public_key_length);
57
-
58
- #endif /* AUTHENTICATION_CREDENTIALS_X5CHAIN_CS_2_H */
@@ -1,56 +0,0 @@
1
- /**
2
- * \file test_edhoc_handshake_x5chain_cs_2.h
3
- * \author Kamil Kielbasa
4
- * \brief EDHOC handshake unit test for X.509 chain authentication method
5
- * for cipher suite 2.
6
- * \version 0.4
7
- * \date 2024-01-01
8
- *
9
- * \copyright Copyright (c) 2024
10
- *
11
- */
12
-
13
- /* Header guard ------------------------------------------------------------ */
14
- #ifndef TEST_EDHOC_HANDSHAKE_X5CHAIN_CIPHER_SUITE_2_H
15
- #define TEST_EDHOC_HANDSHAKE_X5CHAIN_CIPHER_SUITE_2_H
16
-
17
- /* Include files ----------------------------------------------------------- */
18
- /* Defines ----------------------------------------------------------------- */
19
- /* Types and type definitions ---------------------------------------------- */
20
- /* Module interface variables and constants -------------------------------- */
21
- /* Extern variables and constant declarations ------------------------------ */
22
- /* Module interface function declarations ---------------------------------- */
23
-
24
- /**
25
- * \brief Test scenario:
26
- * 1) use test vector as input for EDHOC context's.
27
- * 2) perform full EDHOC handshake:
28
- * (message 1 -> message 2 -> mesage 3 -> message 4)
29
- * - verify:
30
- * - internal context.
31
- * - TH state.
32
- * - PRK state.
33
- * - DH key agreement.
34
- * - C_I / C_R.
35
- * 3) export OSCORE sessions:
36
- * - verify by cross-check:
37
- * - internal context.
38
- * - master secret.
39
- * - master salt.
40
- * - sender ID.
41
- * - recipient ID.
42
- * 4) perform key update on EDHOC session
43
- * - verify:
44
- * - internal context.
45
- * - PRK state.
46
- * 5) export new OSCORE sessions:
47
- * - verify by cross-check:
48
- * - internal context.
49
- * - master secret.
50
- * - master salt.
51
- * - sender ID.
52
- * - recipient ID.
53
- */
54
- void test_edhoc_handshake_x5chain_cs_2_single_cert_e2e(void);
55
-
56
- #endif /* TEST_EDHOC_HANDSHAKE_X5CHAIN_CIPHER_SUITE_2_H */
@@ -1,57 +0,0 @@
1
- /**
2
- * \file test_edhoc_handshake_x5chain_cs_2_ead.h
3
- * \author Kamil Kielbasa
4
- * \brief EDHOC handshake unit test for X.509 chain authentication method
5
- * for cipher suite 2 with multiple EAD tokens.
6
- * \version 0.4
7
- * \date 2024-01-01
8
- *
9
- * \copyright Copyright (c) 2024
10
- *
11
- */
12
-
13
- /* Header guard ------------------------------------------------------------ */
14
- #ifndef TEST_EDHOC_HANDSHAKE_X5CHAIN_CS_2_EAD_H
15
- #define TEST_EDHOC_HANDSHAKE_X5CHAIN_CS_2_EAD_H
16
-
17
- /* Include files ----------------------------------------------------------- */
18
- /* Defines ----------------------------------------------------------------- */
19
- /* Types and type definitions ---------------------------------------------- */
20
- /* Module interface variables and constants -------------------------------- */
21
- /* Extern variables and constant declarations ------------------------------ */
22
- /* Module interface function declarations ---------------------------------- */
23
-
24
- /**
25
- * \brief Test scenario:
26
- * 1) use test vector as input for EDHOC context's.
27
- * 2) perform full EDHOC handshake:
28
- * (message 1 -> message 2 -> mesage 3 -> message 4)
29
- * - verify:
30
- * - internal context.
31
- * - TH state.
32
- * - PRK state.
33
- * - DH key agreement.
34
- * - C_I / C_R.
35
- * - EAD.
36
- * 3) export OSCORE sessions:
37
- * - verify by cross-check:
38
- * - internal context.
39
- * - master secret.
40
- * - master salt.
41
- * - sender ID.
42
- * - recipient ID.
43
- * 4) perform key update on EDHOC session
44
- * - verify:
45
- * - internal context.
46
- * - PRK state.
47
- * 5) export new OSCORE sessions:
48
- * - verify by cross-check:
49
- * - internal context.
50
- * - master secret.
51
- * - master salt.
52
- * - sender ID.
53
- * - recipient ID.
54
- */
55
- void test_edhoc_handshake_x5chain_cs_2_single_cert_e2e_multiple_ead_tokens(void);
56
-
57
- #endif /* TEST_EDHOC_HANDSHAKE_X5CHAIN_CS_2_EAD_H */
@@ -1,59 +0,0 @@
1
- /**
2
- * \file authentication_credentials_x5chain_cs_2_static_dh.h
3
- * \author Kamil Kielbasa
4
- * \brief Example implementation of authentication credentials callbacks
5
- * for X.509 chain authentication method for cipher suite 2 with
6
- * static DH keys.
7
- * \version 0.4
8
- * \date 2024-01-01
9
- *
10
- * \copyright Copyright (c) 2024
11
- *
12
- */
13
-
14
- /* Header guard ------------------------------------------------------------ */
15
- #ifndef AUTHENTICATION_CREDENTIALS_X5CHAIN_CS_2_STATIC_DH_H
16
- #define AUTHENTICATION_CREDENTIALS_X5CHAIN_CS_2_STATIC_DH_H
17
-
18
- /* Include files ----------------------------------------------------------- */
19
-
20
- /* Standard library headers: */
21
- #include <stdint.h>
22
- #include <stddef.h>
23
-
24
- /* EDHOC header: */
25
- #include "edhoc_credentials.h"
26
-
27
- /* Defines ----------------------------------------------------------------- */
28
- /* Types and type definitions ---------------------------------------------- */
29
- /* Module interface variables and constants -------------------------------- */
30
- /* Extern variables and constant declarations ------------------------------ */
31
- /* Module interface function declarations ---------------------------------- */
32
-
33
- /**
34
- * \brief Authentication credentials fetch callback for initiator.
35
- */
36
- int auth_cred_fetch_init_x5chain_cs_2_static_dh(
37
- void *user_context, struct edhoc_auth_creds *credentials);
38
-
39
- /**
40
- * \brief Authentication credentials fetch callback for responder.
41
- */
42
- int auth_cred_fetch_resp_x5chain_cs_2_static_dh(
43
- void *user_context, struct edhoc_auth_creds *credentials);
44
-
45
- /**
46
- * \brief Authentication credentials verify callback for initiator.
47
- */
48
- int auth_cred_verify_init_x5chain_cs_2_static_dh(
49
- void *user_context, struct edhoc_auth_creds *credentials,
50
- const uint8_t **public_key_reference, size_t *public_key_length);
51
-
52
- /**
53
- * \brief Authentication credentials verify callback for responder.
54
- */
55
- int auth_cred_verify_resp_x5chain_cs_2_static_dh(
56
- void *user_context, struct edhoc_auth_creds *credentials,
57
- const uint8_t **public_key_reference, size_t *public_key_length);
58
-
59
- #endif /* AUTHENTICATION_CREDENTIALS_X5CHAIN_CS_2_STATIC_DH_H */