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.
- package/README.md +170 -0
- package/binding.gyp +13 -11
- package/dist/bindings.d.ts +5 -0
- package/dist/bindings.d.ts.map +1 -0
- package/dist/bindings.js +10 -0
- package/dist/crypto.d.ts +29 -0
- package/dist/crypto.d.ts.map +1 -0
- package/dist/crypto.js +205 -0
- package/dist/edhoc.d.ts +368 -0
- package/dist/edhoc.d.ts.map +1 -0
- package/dist/edhoc.js +76 -0
- package/dist/index.d.ts +4 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +19 -0
- package/dist/x509credentials.d.ts +20 -0
- package/dist/x509credentials.d.ts.map +1 -0
- package/dist/x509credentials.js +140 -0
- package/external/libedhoc/backends/cbor/include/backend_cbor_bstr_type_decode.h +1 -1
- package/external/libedhoc/backends/cbor/include/backend_cbor_bstr_type_encode.h +1 -1
- package/external/libedhoc/backends/cbor/include/backend_cbor_bstr_type_types.h +1 -1
- package/external/libedhoc/backends/cbor/include/backend_cbor_ead_decode.h +2 -2
- package/external/libedhoc/backends/cbor/include/backend_cbor_ead_encode.h +2 -2
- package/external/libedhoc/backends/cbor/include/backend_cbor_edhoc_types.h +48 -43
- package/external/libedhoc/backends/cbor/include/backend_cbor_enc_structure_decode.h +1 -1
- package/external/libedhoc/backends/cbor/include/backend_cbor_enc_structure_encode.h +1 -1
- package/external/libedhoc/backends/cbor/include/backend_cbor_enc_structure_types.h +3 -3
- package/external/libedhoc/backends/cbor/include/backend_cbor_id_cred_x_decode.h +1 -1
- package/external/libedhoc/backends/cbor/include/backend_cbor_id_cred_x_encode.h +1 -1
- package/external/libedhoc/backends/cbor/include/backend_cbor_info_decode.h +1 -1
- package/external/libedhoc/backends/cbor/include/backend_cbor_info_encode.h +1 -1
- package/external/libedhoc/backends/cbor/include/backend_cbor_int_type_decode.h +1 -1
- package/external/libedhoc/backends/cbor/include/backend_cbor_int_type_encode.h +1 -1
- package/external/libedhoc/backends/cbor/include/backend_cbor_int_type_types.h +1 -1
- package/external/libedhoc/backends/cbor/include/backend_cbor_message_1_decode.h +1 -1
- package/external/libedhoc/backends/cbor/include/backend_cbor_message_1_encode.h +1 -1
- package/external/libedhoc/backends/cbor/include/backend_cbor_message_2_decode.h +1 -1
- package/external/libedhoc/backends/cbor/include/backend_cbor_message_2_encode.h +1 -1
- package/external/libedhoc/backends/cbor/include/backend_cbor_message_3_decode.h +1 -1
- package/external/libedhoc/backends/cbor/include/backend_cbor_message_3_encode.h +1 -1
- package/external/libedhoc/backends/cbor/include/backend_cbor_message_4_decode.h +1 -1
- package/external/libedhoc/backends/cbor/include/backend_cbor_message_4_encode.h +1 -1
- package/external/libedhoc/backends/cbor/include/backend_cbor_message_error_decode.h +1 -1
- package/external/libedhoc/backends/cbor/include/backend_cbor_message_error_encode.h +1 -1
- package/external/libedhoc/backends/cbor/include/backend_cbor_plaintext_2_decode.h +1 -1
- package/external/libedhoc/backends/cbor/include/backend_cbor_plaintext_2_encode.h +1 -1
- package/external/libedhoc/backends/cbor/include/backend_cbor_plaintext_3_decode.h +1 -1
- package/external/libedhoc/backends/cbor/include/backend_cbor_plaintext_3_encode.h +1 -1
- package/external/libedhoc/backends/cbor/include/backend_cbor_plaintext_4_decode.h +3 -3
- package/external/libedhoc/backends/cbor/include/backend_cbor_plaintext_4_encode.h +3 -3
- package/external/libedhoc/backends/cbor/include/backend_cbor_sig_structure_decode.h +1 -1
- package/external/libedhoc/backends/cbor/include/backend_cbor_sig_structure_encode.h +1 -1
- package/external/libedhoc/backends/cbor/include/backend_cbor_sig_structure_types.h +4 -4
- package/external/libedhoc/backends/cbor/include/backend_cbor_x509_types.h +93 -83
- package/external/libedhoc/backends/cbor/src/backend_cbor_bstr_type_decode.c +11 -20
- package/external/libedhoc/backends/cbor/src/backend_cbor_bstr_type_encode.c +11 -20
- package/external/libedhoc/backends/cbor/src/backend_cbor_ead_decode.c +27 -32
- package/external/libedhoc/backends/cbor/src/backend_cbor_ead_encode.c +27 -32
- package/external/libedhoc/backends/cbor/src/backend_cbor_enc_structure_decode.c +14 -23
- package/external/libedhoc/backends/cbor/src/backend_cbor_enc_structure_encode.c +14 -23
- package/external/libedhoc/backends/cbor/src/backend_cbor_id_cred_x_decode.c +63 -52
- package/external/libedhoc/backends/cbor/src/backend_cbor_id_cred_x_encode.c +62 -51
- package/external/libedhoc/backends/cbor/src/backend_cbor_info_decode.c +14 -23
- package/external/libedhoc/backends/cbor/src/backend_cbor_info_encode.c +14 -23
- package/external/libedhoc/backends/cbor/src/backend_cbor_int_type_decode.c +11 -20
- package/external/libedhoc/backends/cbor/src/backend_cbor_int_type_encode.c +11 -20
- package/external/libedhoc/backends/cbor/src/backend_cbor_message_1_decode.c +54 -51
- package/external/libedhoc/backends/cbor/src/backend_cbor_message_1_encode.c +54 -51
- package/external/libedhoc/backends/cbor/src/backend_cbor_message_2_decode.c +11 -20
- package/external/libedhoc/backends/cbor/src/backend_cbor_message_2_encode.c +11 -20
- package/external/libedhoc/backends/cbor/src/backend_cbor_message_3_decode.c +11 -20
- package/external/libedhoc/backends/cbor/src/backend_cbor_message_3_encode.c +11 -20
- package/external/libedhoc/backends/cbor/src/backend_cbor_message_4_decode.c +11 -20
- package/external/libedhoc/backends/cbor/src/backend_cbor_message_4_encode.c +11 -20
- package/external/libedhoc/backends/cbor/src/backend_cbor_message_error_decode.c +36 -37
- package/external/libedhoc/backends/cbor/src/backend_cbor_message_error_encode.c +36 -37
- package/external/libedhoc/backends/cbor/src/backend_cbor_plaintext_2_decode.c +103 -80
- package/external/libedhoc/backends/cbor/src/backend_cbor_plaintext_2_encode.c +102 -79
- package/external/libedhoc/backends/cbor/src/backend_cbor_plaintext_3_decode.c +99 -76
- package/external/libedhoc/backends/cbor/src/backend_cbor_plaintext_3_encode.c +98 -75
- package/external/libedhoc/backends/cbor/src/backend_cbor_plaintext_4_decode.c +40 -41
- package/external/libedhoc/backends/cbor/src/backend_cbor_plaintext_4_encode.c +40 -41
- package/external/libedhoc/backends/cbor/src/backend_cbor_sig_structure_decode.c +15 -24
- package/external/libedhoc/backends/cbor/src/backend_cbor_sig_structure_encode.c +15 -24
- package/external/libedhoc/externals/Unity/examples/example_1/src/ProductionCode.c +31 -0
- package/external/libedhoc/externals/Unity/examples/example_1/src/ProductionCode.h +10 -0
- package/external/libedhoc/externals/Unity/examples/example_1/src/ProductionCode2.c +18 -0
- package/external/libedhoc/externals/Unity/examples/example_1/src/ProductionCode2.h +9 -0
- package/external/libedhoc/externals/Unity/examples/example_1/test/TestProductionCode.c +69 -0
- package/external/libedhoc/externals/Unity/examples/example_1/test/TestProductionCode2.c +38 -0
- package/external/libedhoc/externals/Unity/examples/example_1/test/test_runners/TestProductionCode2_Runner.c +53 -0
- package/external/libedhoc/externals/Unity/examples/example_1/test/test_runners/TestProductionCode_Runner.c +57 -0
- package/external/libedhoc/externals/Unity/examples/example_2/src/ProductionCode.c +31 -0
- package/external/libedhoc/externals/Unity/examples/example_2/src/ProductionCode.h +10 -0
- package/external/libedhoc/externals/Unity/examples/example_2/src/ProductionCode2.c +18 -0
- package/external/libedhoc/externals/Unity/examples/example_2/src/ProductionCode2.h +9 -0
- package/external/libedhoc/externals/Unity/examples/example_2/test/TestProductionCode.c +71 -0
- package/external/libedhoc/externals/Unity/examples/example_2/test/TestProductionCode2.c +40 -0
- package/external/libedhoc/externals/Unity/examples/example_2/test/test_runners/TestProductionCode2_Runner.c +16 -0
- package/external/libedhoc/externals/Unity/examples/example_2/test/test_runners/TestProductionCode_Runner.c +18 -0
- package/external/libedhoc/externals/Unity/examples/example_2/test/test_runners/all_tests.c +19 -0
- package/external/libedhoc/externals/Unity/examples/example_3/helper/UnityHelper.c +17 -0
- package/external/libedhoc/externals/Unity/examples/example_3/helper/UnityHelper.h +19 -0
- package/external/libedhoc/externals/Unity/examples/example_3/src/ProductionCode.c +31 -0
- package/external/libedhoc/externals/Unity/examples/example_3/src/ProductionCode.h +10 -0
- package/external/libedhoc/externals/Unity/examples/example_3/src/ProductionCode2.c +18 -0
- package/external/libedhoc/externals/Unity/examples/example_3/src/ProductionCode2.h +9 -0
- package/external/libedhoc/externals/Unity/examples/example_3/test/TestProductionCode.c +69 -0
- package/external/libedhoc/externals/Unity/examples/example_3/test/TestProductionCode2.c +38 -0
- package/external/libedhoc/externals/Unity/examples/example_4/src/ProductionCode.c +31 -0
- package/external/libedhoc/externals/Unity/examples/example_4/src/ProductionCode.h +10 -0
- package/external/libedhoc/externals/Unity/examples/example_4/src/ProductionCode2.c +18 -0
- package/external/libedhoc/externals/Unity/examples/example_4/src/ProductionCode2.h +9 -0
- package/external/libedhoc/externals/Unity/examples/example_4/test/TestProductionCode.c +70 -0
- package/external/libedhoc/externals/Unity/examples/example_4/test/TestProductionCode2.c +42 -0
- package/external/libedhoc/externals/Unity/examples/example_4/test/test_runners/TestProductionCode2_Runner.c +53 -0
- package/external/libedhoc/externals/Unity/examples/example_4/test/test_runners/TestProductionCode_Runner.c +57 -0
- package/external/libedhoc/externals/Unity/examples/unity_config.h +251 -0
- package/external/libedhoc/externals/Unity/extras/bdd/src/unity_bdd.h +44 -0
- package/external/libedhoc/externals/Unity/extras/bdd/test/test_bdd.c +129 -0
- package/external/libedhoc/externals/Unity/extras/fixture/src/unity_fixture.c +310 -0
- package/external/libedhoc/externals/Unity/extras/fixture/src/unity_fixture.h +95 -0
- package/external/libedhoc/externals/Unity/extras/fixture/src/unity_fixture_internals.h +51 -0
- package/external/libedhoc/externals/Unity/extras/fixture/test/main/AllTests.c +20 -0
- package/external/libedhoc/externals/Unity/extras/fixture/test/template_fixture_tests.c +40 -0
- package/external/libedhoc/externals/Unity/extras/fixture/test/unity_fixture_Test.c +246 -0
- package/external/libedhoc/externals/Unity/extras/fixture/test/unity_fixture_TestRunner.c +33 -0
- package/external/libedhoc/externals/Unity/extras/memory/src/unity_memory.c +203 -0
- package/external/libedhoc/externals/Unity/extras/memory/src/unity_memory.h +61 -0
- package/external/libedhoc/externals/Unity/extras/memory/test/unity_memory_Test.c +326 -0
- package/external/libedhoc/externals/Unity/extras/memory/test/unity_memory_TestRunner.c +50 -0
- package/external/libedhoc/externals/Unity/extras/memory/test/unity_output_Spy.c +57 -0
- package/external/libedhoc/externals/Unity/extras/memory/test/unity_output_Spy.h +17 -0
- package/external/libedhoc/externals/Unity/src/unity.c +2501 -0
- package/external/libedhoc/externals/Unity/src/unity.h +698 -0
- package/external/libedhoc/externals/Unity/src/unity_internals.h +1183 -0
- package/external/libedhoc/externals/Unity/test/expectdata/testsample_cmd.c +61 -0
- package/external/libedhoc/externals/Unity/test/expectdata/testsample_def.c +57 -0
- package/external/libedhoc/externals/Unity/test/expectdata/testsample_head1.c +55 -0
- package/external/libedhoc/externals/Unity/test/expectdata/testsample_head1.h +15 -0
- package/external/libedhoc/externals/Unity/test/expectdata/testsample_mock_cmd.c +80 -0
- package/external/libedhoc/externals/Unity/test/expectdata/testsample_mock_def.c +76 -0
- package/external/libedhoc/externals/Unity/test/expectdata/testsample_mock_head1.c +75 -0
- package/external/libedhoc/externals/Unity/test/expectdata/testsample_mock_head1.h +13 -0
- package/external/libedhoc/externals/Unity/test/expectdata/testsample_mock_new1.c +89 -0
- package/external/libedhoc/externals/Unity/test/expectdata/testsample_mock_new2.c +89 -0
- package/external/libedhoc/externals/Unity/test/expectdata/testsample_mock_param.c +77 -0
- package/external/libedhoc/externals/Unity/test/expectdata/testsample_mock_run1.c +89 -0
- package/external/libedhoc/externals/Unity/test/expectdata/testsample_mock_run2.c +89 -0
- package/external/libedhoc/externals/Unity/test/expectdata/testsample_mock_yaml.c +90 -0
- package/external/libedhoc/externals/Unity/test/expectdata/testsample_new1.c +67 -0
- package/external/libedhoc/externals/Unity/test/expectdata/testsample_new2.c +70 -0
- package/external/libedhoc/externals/Unity/test/expectdata/testsample_param.c +58 -0
- package/external/libedhoc/externals/Unity/test/expectdata/testsample_run1.c +67 -0
- package/external/libedhoc/externals/Unity/test/expectdata/testsample_run2.c +70 -0
- package/external/libedhoc/externals/Unity/test/expectdata/testsample_yaml.c +71 -0
- package/external/libedhoc/externals/Unity/test/testdata/CException.h +18 -0
- package/external/libedhoc/externals/Unity/test/testdata/Defs.h +16 -0
- package/external/libedhoc/externals/Unity/test/testdata/cmock.h +21 -0
- package/external/libedhoc/externals/Unity/test/testdata/mockMock.h +20 -0
- package/external/libedhoc/externals/Unity/test/testdata/testRunnerGenerator.c +204 -0
- package/external/libedhoc/externals/Unity/test/testdata/testRunnerGeneratorSmall.c +73 -0
- package/external/libedhoc/externals/Unity/test/testdata/testRunnerGeneratorWithMocks.c +200 -0
- package/external/libedhoc/externals/Unity/test/tests/self_assessment_utils.h +151 -0
- package/external/libedhoc/externals/Unity/test/tests/test_unity_arrays.c +2941 -0
- package/external/libedhoc/externals/Unity/test/tests/test_unity_core.c +375 -0
- package/external/libedhoc/externals/Unity/test/tests/test_unity_doubles.c +1285 -0
- package/external/libedhoc/externals/Unity/test/tests/test_unity_floats.c +1395 -0
- package/external/libedhoc/externals/Unity/test/tests/test_unity_integers.c +2863 -0
- package/external/libedhoc/externals/Unity/test/tests/test_unity_integers_64.c +783 -0
- package/external/libedhoc/externals/Unity/test/tests/test_unity_memory.c +82 -0
- package/external/libedhoc/externals/Unity/test/tests/test_unity_parameterized.c +309 -0
- package/external/libedhoc/externals/Unity/test/tests/test_unity_parameterizedDemo.c +28 -0
- package/external/libedhoc/externals/Unity/test/tests/test_unity_strings.c +330 -0
- package/external/libedhoc/externals/Unity/test/tests/types_for_test.h +21 -0
- package/external/libedhoc/externals/zcbor/include/zcbor_common.h +147 -60
- package/external/libedhoc/externals/zcbor/include/zcbor_decode.h +291 -202
- package/external/libedhoc/externals/zcbor/include/zcbor_encode.h +100 -156
- package/external/libedhoc/externals/zcbor/include/zcbor_print.h +165 -0
- package/external/libedhoc/externals/zcbor/samples/hello_world/src/main.c +1 -1
- package/external/libedhoc/externals/zcbor/samples/pet/include/pet_decode.h +1 -1
- package/external/libedhoc/externals/zcbor/samples/pet/include/pet_encode.h +1 -1
- package/external/libedhoc/externals/zcbor/samples/pet/include/pet_types.h +4 -4
- package/external/libedhoc/externals/zcbor/samples/pet/src/main.c +4 -4
- package/external/libedhoc/externals/zcbor/samples/pet/src/pet_decode.c +15 -24
- package/external/libedhoc/externals/zcbor/samples/pet/src/pet_encode.c +14 -23
- package/external/libedhoc/externals/zcbor/src/zcbor_common.c +202 -29
- package/external/libedhoc/externals/zcbor/src/zcbor_decode.c +633 -173
- package/external/libedhoc/externals/zcbor/src/zcbor_encode.c +71 -184
- package/external/libedhoc/externals/zcbor/tests/decode/test1_suit_old_formats/src/main.c +152 -153
- package/external/libedhoc/externals/zcbor/tests/decode/test2_suit/src/main.c +64 -64
- package/external/libedhoc/externals/zcbor/tests/decode/test3_simple/src/main.c +15 -16
- package/external/libedhoc/externals/zcbor/tests/decode/test5_corner_cases/src/main.c +228 -84
- package/external/libedhoc/externals/zcbor/tests/decode/test7_suit9_simple/src/main.c +9 -9
- package/external/libedhoc/externals/zcbor/tests/decode/test8_suit12/src/main.c +0 -1
- package/external/libedhoc/externals/zcbor/tests/decode/test9_manifest14/src/main.c +172 -173
- package/external/libedhoc/externals/zcbor/tests/encode/test1_suit/src/main.c +73 -73
- package/external/libedhoc/externals/zcbor/tests/encode/test2_simple/src/main.c +1 -2
- package/external/libedhoc/externals/zcbor/tests/encode/test3_corner_cases/src/main.c +83 -56
- package/external/libedhoc/externals/zcbor/tests/encode/test4_senml/src/main.c +15 -16
- package/external/libedhoc/externals/zcbor/tests/fuzz/fuzz_everything.c +12 -0
- package/external/libedhoc/externals/zcbor/tests/fuzz/fuzz_manifest12.c +69 -69
- package/external/libedhoc/externals/zcbor/tests/unit/test1_unit_tests/src/main.c +448 -55
- package/external/libedhoc/externals/zcbor/tests/unit/test3_float16/src/main.c +49 -48
- package/external/libedhoc/include/edhoc.h +348 -54
- package/external/libedhoc/include/edhoc_common.h +289 -0
- package/external/libedhoc/include/edhoc_context.h +60 -35
- package/external/libedhoc/include/edhoc_credentials.h +55 -7
- package/external/libedhoc/include/edhoc_crypto.h +10 -10
- package/external/libedhoc/include/edhoc_ead.h +13 -10
- package/external/libedhoc/include/edhoc_macros.h +20 -11
- package/external/libedhoc/include/edhoc_values.h +2 -2
- package/external/libedhoc/library/edhoc.c +70 -36
- package/external/libedhoc/library/edhoc_common.c +1314 -0
- package/external/libedhoc/library/edhoc_exporter.c +45 -46
- package/external/libedhoc/library/edhoc_message_1.c +107 -72
- package/external/libedhoc/library/edhoc_message_2.c +396 -1693
- package/external/libedhoc/library/edhoc_message_3.c +465 -1656
- package/external/libedhoc/library/edhoc_message_4.c +93 -91
- package/external/libedhoc/library/edhoc_message_error.c +41 -41
- package/external/libedhoc/tests/include/{cipher_suites/cipher_suite_0.h → cipher_suite_0.h} +131 -134
- package/external/libedhoc/tests/include/{cipher_suites/cipher_suite_2.h → cipher_suite_2.h} +139 -140
- package/external/libedhoc/tests/include/{edhoc_trace_1/test_vector_1.h → test_vector_rfc9529_chapter_2.h} +786 -738
- package/external/libedhoc/tests/include/{edhoc_trace_2/test_vector_2.h → test_vector_rfc9529_chapter_3.h} +14 -10
- 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
- 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
- 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
- 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
- package/external/libedhoc/tests/src/{cipher_suites/cipher_suite_0.c → cipher_suite_0.c} +445 -447
- package/external/libedhoc/tests/src/{cipher_suites/cipher_suite_2.c → cipher_suite_2.c} +600 -600
- package/external/libedhoc/tests/src/module_test_api.c +430 -0
- package/external/libedhoc/tests/src/module_test_cipher_suite_0.c +395 -0
- package/external/libedhoc/tests/src/module_test_cipher_suite_2.c +392 -0
- package/external/libedhoc/tests/src/{error_message/test_edhoc_error_message.c → module_test_error_message.c} +94 -69
- package/external/libedhoc/tests/src/module_test_main.c +49 -0
- package/external/libedhoc/tests/src/{cipher_suite_negotiation/test_edhoc_cipher_suite_negotiation.c → module_test_rfc9528_suites_negotiation.c} +224 -227
- package/external/libedhoc/tests/src/module_test_rfc9529_chapter_2.c +2681 -0
- package/external/libedhoc/tests/src/module_test_rfc9529_chapter_3.c +1635 -0
- package/external/libedhoc/tests/src/module_test_x5chain_sign_keys_suite_0.c +1135 -0
- package/external/libedhoc/tests/src/module_test_x5chain_sign_keys_suite_2.c +1249 -0
- package/external/libedhoc/tests/src/module_test_x5chain_static_dh_keys_suite_2.c +798 -0
- package/external/libedhoc/tests/src/module_test_x5t_sign_keys_suite_2.c +956 -0
- package/include/EdhocComposeAsyncWorker.h +8 -6
- package/include/EdhocCredentialManager.h +16 -11
- package/include/EdhocCryptoManager.h +28 -21
- package/include/EdhocEadManager.h +3 -6
- package/include/{EdhocExportAsyncWorker.h → EdhocExportOscoreAsyncWorker.h} +20 -17
- package/include/EdhocKeyExporterAsyncWorker.h +76 -0
- package/include/EdhocKeyUpdateAsyncWorker.h +72 -0
- package/include/EdhocProcessAsyncWorker.h +14 -10
- package/include/LibEDHOC.h +44 -20
- package/include/UserContext.h +7 -9
- package/include/Utils.h +31 -27
- package/package.json +14 -3
- package/prebuilds/android-arm/edhoc.armv7.node +0 -0
- package/prebuilds/android-arm64/edhoc.armv8.node +0 -0
- package/prebuilds/darwin-arm64/edhoc.node +0 -0
- package/prebuilds/darwin-x64/edhoc.node +0 -0
- package/prebuilds/linux-arm/edhoc.armv6.node +0 -0
- package/prebuilds/linux-arm/edhoc.armv7.node +0 -0
- package/prebuilds/linux-arm64/edhoc.armv8.node +0 -0
- package/prebuilds/linux-x64/edhoc.glibc.node +0 -0
- package/prebuilds/linux-x64/edhoc.musl.node +0 -0
- package/prebuilds/win32-ia32/edhoc.node +0 -0
- package/prebuilds/win32-x64/edhoc.node +0 -0
- package/src/EdhocComposeAsyncWorker.cpp +18 -35
- package/src/EdhocCredentialManager.cpp +160 -187
- package/src/EdhocCryptoManager.cpp +386 -586
- package/src/EdhocEadManager.cpp +10 -18
- package/src/EdhocExportOscoreAsyncWorker.cpp +77 -0
- package/src/EdhocKeyExporterAsyncWorker.cpp +49 -0
- package/src/EdhocKeyUpdateAsyncWorker.cpp +41 -0
- package/src/EdhocProcessAsyncWorker.cpp +72 -19
- package/src/LibEDHOC.cpp +213 -174
- package/src/Suites.cpp +39 -72
- package/src/Utils.cpp +32 -56
- package/test/basic.test.ts +64 -0
- package/test/vectors.test.ts +111 -0
- package/external/libedhoc/externals/zcbor/include/zcbor_debug.h +0 -69
- package/external/libedhoc/tests/include/cipher_suite_negotiation/test_edhoc_cipher_suite_negotiation.h +0 -37
- package/external/libedhoc/tests/include/cipher_suites/test_cipher_suite_0.h +0 -48
- package/external/libedhoc/tests/include/cipher_suites/test_cipher_suite_2.h +0 -48
- package/external/libedhoc/tests/include/edhoc_trace_1/authentication_credentials_1.h +0 -60
- package/external/libedhoc/tests/include/edhoc_trace_1/test_edhoc_handshake_1.h +0 -208
- package/external/libedhoc/tests/include/edhoc_trace_1/test_edhoc_handshake_ead_1.h +0 -59
- package/external/libedhoc/tests/include/edhoc_trace_2/authentication_credentials_2.h +0 -60
- package/external/libedhoc/tests/include/edhoc_trace_2/test_edhoc_handshake_2.h +0 -199
- package/external/libedhoc/tests/include/error_message/test_edhoc_error_message.h +0 -48
- package/external/libedhoc/tests/include/x509_chain_cs_0/authentication_credentials_x5chain_cs_0.h +0 -92
- package/external/libedhoc/tests/include/x509_chain_cs_0/test_edhoc_handshake_x5chain_cs_0.h +0 -96
- package/external/libedhoc/tests/include/x509_chain_cs_2/authentication_credentials_x5chain_cs_2.h +0 -58
- package/external/libedhoc/tests/include/x509_chain_cs_2/test_edhoc_handshake_x5chain_cs_2.h +0 -56
- package/external/libedhoc/tests/include/x509_chain_cs_2/test_edhoc_handshake_x5chain_cs_2_ead.h +0 -57
- package/external/libedhoc/tests/include/x509_chain_cs_2_static_dh/authentication_credentials_x5chain_cs_2_static_dh.h +0 -59
- package/external/libedhoc/tests/include/x509_chain_cs_2_static_dh/test_edhoc_handshake_x5chain_cs_2_static_dh_ead.h +0 -57
- package/external/libedhoc/tests/include/x509_hash_cs_2/authentication_credentials_x5t_cs_2.h +0 -60
- package/external/libedhoc/tests/include/x509_hash_cs_2/test_edhoc_handshake_x5t_cs_2_ead.h +0 -57
- package/external/libedhoc/tests/src/cipher_suites/test_cipher_suite_0.c +0 -475
- package/external/libedhoc/tests/src/cipher_suites/test_cipher_suite_2.c +0 -473
- package/external/libedhoc/tests/src/edhoc_trace_1/authentication_credentials_1.c +0 -252
- package/external/libedhoc/tests/src/edhoc_trace_1/test_edhoc_handshake_1.c +0 -1829
- package/external/libedhoc/tests/src/edhoc_trace_1/test_edhoc_handshake_ead_1.c +0 -1247
- package/external/libedhoc/tests/src/edhoc_trace_2/authentication_credentials_2.c +0 -170
- package/external/libedhoc/tests/src/edhoc_trace_2/test_edhoc_handshake_2.c +0 -1783
- package/external/libedhoc/tests/src/tests.c +0 -228
- package/external/libedhoc/tests/src/x509_chain_cs_0/authentication_credentials_x5chain_cs_0.c +0 -332
- package/external/libedhoc/tests/src/x509_chain_cs_0/test_edhoc_handshake_x5chain_cs_0.c +0 -936
- package/external/libedhoc/tests/src/x509_chain_cs_2/authentication_credentials_x5chain_cs_2.c +0 -166
- package/external/libedhoc/tests/src/x509_chain_cs_2/test_edhoc_handshake_x5chain_cs_2.c +0 -587
- package/external/libedhoc/tests/src/x509_chain_cs_2/test_edhoc_handshake_x5chain_cs_2_ead.c +0 -917
- package/external/libedhoc/tests/src/x509_chain_cs_2_static_dh/authentication_credentials_x5chain_cs_2_static_dh.c +0 -186
- package/external/libedhoc/tests/src/x509_chain_cs_2_static_dh/test_edhoc_handshake_x5chain_cs_2_static_dh_ead.c +0 -743
- package/external/libedhoc/tests/src/x509_hash_cs_2/authentication_credentials_x5t_cs_2.c +0 -261
- package/external/libedhoc/tests/src/x509_hash_cs_2/test_edhoc_handshake_x5t_cs_2_ead.c +0 -854
- package/src/EdhocExportAsyncWorker.cpp +0 -82
|
@@ -1,48 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* \file test_cipher_suite_2.h
|
|
3
|
-
* \author Kamil Kielbasa
|
|
4
|
-
* \brief Unit tests for cipher suite 2.
|
|
5
|
-
* \version 0.4
|
|
6
|
-
* \date 2024-01-01
|
|
7
|
-
*
|
|
8
|
-
* \copyright Copyright (c) 2024
|
|
9
|
-
*
|
|
10
|
-
*/
|
|
11
|
-
|
|
12
|
-
/* Header guard ------------------------------------------------------------ */
|
|
13
|
-
#ifndef TEST_CIPHER_SUITE_2_H
|
|
14
|
-
#define TEST_CIPHER_SUITE_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 Unit test for ECDSA (ES256).
|
|
25
|
-
*/
|
|
26
|
-
void test_cipher_suite_2_ecdsa(void);
|
|
27
|
-
|
|
28
|
-
/**
|
|
29
|
-
* \brief Unit test for ECDH (P-256).
|
|
30
|
-
*/
|
|
31
|
-
void test_cipher_suite_2_ecdh(void);
|
|
32
|
-
|
|
33
|
-
/**
|
|
34
|
-
* \brief Unit test for HKDF extract & expand (HMAC-SHA-256).
|
|
35
|
-
*/
|
|
36
|
-
void test_cipher_suite_2_hkdf(void);
|
|
37
|
-
|
|
38
|
-
/**
|
|
39
|
-
* \brief Unit test for AEAD (AES-CCM-16-64-128).
|
|
40
|
-
*/
|
|
41
|
-
void test_cipher_suite_2_aead(void);
|
|
42
|
-
|
|
43
|
-
/**
|
|
44
|
-
* \brief Unit test for hash (SHA-256).
|
|
45
|
-
*/
|
|
46
|
-
void test_cipher_suite_2_hash(void);
|
|
47
|
-
|
|
48
|
-
#endif /* TEST_CIPHER_SUITE_2_H */
|
|
@@ -1,60 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* \file authentication_credentials_1.h
|
|
3
|
-
* \author Kamil Kielbasa
|
|
4
|
-
* \brief Example implementation of authentication credentials callbacks
|
|
5
|
-
* for EDHOC traces (RFC 9529) for chapter 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_1_H
|
|
15
|
-
#define AUTHENTICATION_CREDENTIALS_1_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(void *user_context,
|
|
36
|
-
struct edhoc_auth_creds *credentials);
|
|
37
|
-
|
|
38
|
-
/**
|
|
39
|
-
* \brief Authentication credentials fetch callback for responder.
|
|
40
|
-
*/
|
|
41
|
-
int auth_cred_fetch_resp(void *user_context,
|
|
42
|
-
struct edhoc_auth_creds *credentials);
|
|
43
|
-
|
|
44
|
-
/**
|
|
45
|
-
* \brief Authentication credentials verify callback for initiator.
|
|
46
|
-
*/
|
|
47
|
-
int auth_cred_verify_init(void *user_context,
|
|
48
|
-
struct edhoc_auth_creds *credentials,
|
|
49
|
-
const uint8_t **public_key_reference,
|
|
50
|
-
size_t *public_key_length);
|
|
51
|
-
|
|
52
|
-
/**
|
|
53
|
-
* \brief Authentication credentials verify callback for responder.
|
|
54
|
-
*/
|
|
55
|
-
int auth_cred_verify_resp(void *user_context,
|
|
56
|
-
struct edhoc_auth_creds *credentials,
|
|
57
|
-
const uint8_t **public_key_reference,
|
|
58
|
-
size_t *public_key_length);
|
|
59
|
-
|
|
60
|
-
#endif /* AUTHENTICATION_CREDENTIALS_1_H */
|
|
@@ -1,208 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* \file test_edhoc_handshake_1.h
|
|
3
|
-
* \author Kamil Kielbasa
|
|
4
|
-
* \brief EDHOC handshake unit tests for EDHOC traces (RFC 9529) for chapter 2.
|
|
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_1_H
|
|
14
|
-
#define TEST_EDHOC_HANDSHAKE_1_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_1_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_1_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_1_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_1_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_1_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_1_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_1_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_1_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_1_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_1_e2e_real_crypto(void);
|
|
198
|
-
|
|
199
|
-
/**
|
|
200
|
-
* \brief Test scenario:
|
|
201
|
-
* - compute PRK exporter for:
|
|
202
|
-
* - OSCORE Master Secret.
|
|
203
|
-
* - OSCORE Master Salt.
|
|
204
|
-
* - Private usage secrets (labels: min, middle, max).
|
|
205
|
-
*/
|
|
206
|
-
void test_edhoc_trace_1_prk_exporter(void);
|
|
207
|
-
|
|
208
|
-
#endif /* TEST_EDHOC_HANDSHAKE_1_H */
|
|
@@ -1,59 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* \file test_edhoc_handshake_ead_1.h
|
|
3
|
-
* \author Kamil Kielbasa
|
|
4
|
-
* \brief EDHOC EAD handshake unit tests for EDHOC traces (RFC 9529) for chapter 2.
|
|
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_EAD_1_H
|
|
14
|
-
#define TEST_EDHOC_HANDSHAKE_EAD_1_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
|
-
* 1) perform full EDHOC handshake
|
|
26
|
-
* (message 1 -> message 2 -> mesage 3 -> message 4).
|
|
27
|
-
* 2) use EAD compose and process with only single token.
|
|
28
|
-
* 3) verify after each EAD compose and process:
|
|
29
|
-
* - label.
|
|
30
|
-
* - value length and value.
|
|
31
|
-
* 3) export OSCORE sessions:
|
|
32
|
-
* - verify by cross-check:
|
|
33
|
-
* - internal context.
|
|
34
|
-
* - master secret.
|
|
35
|
-
* - master salt.
|
|
36
|
-
* - sender ID.
|
|
37
|
-
* - recipient ID.
|
|
38
|
-
*/
|
|
39
|
-
void test_edhoc_handshake_1_e2e_single_ead_token(void);
|
|
40
|
-
|
|
41
|
-
/**
|
|
42
|
-
* \brief Test scenario:
|
|
43
|
-
* 1) perform full EDHOC handshake
|
|
44
|
-
* (message 1 -> message 2 -> mesage 3 -> message 4).
|
|
45
|
-
* 2) use EAD compose and process with many tokens.
|
|
46
|
-
* 3) verify after each EAD compose and process:
|
|
47
|
-
* - label.
|
|
48
|
-
* - value length and value.
|
|
49
|
-
* 3) export OSCORE sessions:
|
|
50
|
-
* - verify by cross-check:
|
|
51
|
-
* - internal context.
|
|
52
|
-
* - master secret.
|
|
53
|
-
* - master salt.
|
|
54
|
-
* - sender ID.
|
|
55
|
-
* - recipient ID.
|
|
56
|
-
*/
|
|
57
|
-
void test_edhoc_handshake_1_e2e_multiple_ead_tokens(void);
|
|
58
|
-
|
|
59
|
-
#endif /* TEST_EDHOC_HANDSHAKE_EAD_1_H */
|
|
@@ -1,60 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* \file authentication_credentials_2.h
|
|
3
|
-
* \author Kamil Kielbasa
|
|
4
|
-
* \brief Example implementation of authentication credentials callbacks
|
|
5
|
-
* for EDHOC traces (RFC 9529) for chapter 3.
|
|
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_2_H
|
|
15
|
-
#define AUTHENTICATION_CREDENTIALS_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_2(void *user_context,
|
|
36
|
-
struct edhoc_auth_creds *credentials);
|
|
37
|
-
|
|
38
|
-
/**
|
|
39
|
-
* \brief Authentication credentials fetch callback for responder.
|
|
40
|
-
*/
|
|
41
|
-
int auth_cred_fetch_resp_2(void *user_context,
|
|
42
|
-
struct edhoc_auth_creds *credentials);
|
|
43
|
-
|
|
44
|
-
/**
|
|
45
|
-
* \brief Authentication credentials verify callback for initiator.
|
|
46
|
-
*/
|
|
47
|
-
int auth_cred_verify_init_2(void *user_context,
|
|
48
|
-
struct edhoc_auth_creds *credentials,
|
|
49
|
-
const uint8_t **public_key_reference,
|
|
50
|
-
size_t *public_key_length);
|
|
51
|
-
|
|
52
|
-
/**
|
|
53
|
-
* \brief Authentication credentials verify callback for responder.
|
|
54
|
-
*/
|
|
55
|
-
int auth_cred_verify_resp_2(void *user_context,
|
|
56
|
-
struct edhoc_auth_creds *credentials,
|
|
57
|
-
const uint8_t **public_key_reference,
|
|
58
|
-
size_t *public_key_length);
|
|
59
|
-
|
|
60
|
-
#endif /* AUTHENTICATION_CREDENTIALS_2_H */
|
|
@@ -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 */
|