edhoc 1.0.5 → 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/crypto.d.ts +9 -2
- package/dist/crypto.d.ts.map +1 -1
- package/dist/crypto.js +112 -84
- package/dist/edhoc.d.ts +31 -9
- package/dist/edhoc.d.ts.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- 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/dist/credentials.d.ts +0 -16
- package/dist/credentials.d.ts.map +0 -1
- package/dist/credentials.js +0 -84
- 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
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
* \file edhoc.h
|
|
3
3
|
* \author Kamil Kielbasa
|
|
4
4
|
* \brief EDHOC API.
|
|
5
|
-
* \version 0.
|
|
6
|
-
* \date 2024-
|
|
5
|
+
* \version 0.6
|
|
6
|
+
* \date 2024-08-05
|
|
7
7
|
*
|
|
8
8
|
* \copyright Copyright (c) 2024
|
|
9
9
|
*
|
|
@@ -37,7 +37,7 @@
|
|
|
37
37
|
#define EDHOC_API_VERSION_MAJOR 1
|
|
38
38
|
|
|
39
39
|
/** The minor version of this implementation of the EDHOC API. */
|
|
40
|
-
#define EDHOC_API_VERSION_MINOR
|
|
40
|
+
#define EDHOC_API_VERSION_MINOR 4
|
|
41
41
|
|
|
42
42
|
/**@}*/
|
|
43
43
|
|
|
@@ -55,7 +55,10 @@
|
|
|
55
55
|
*
|
|
56
56
|
* \param[in,out] edhoc_context EDHOC context.
|
|
57
57
|
*
|
|
58
|
-
* \
|
|
58
|
+
* \retval #EDHOC_SUCCESS
|
|
59
|
+
* Success.
|
|
60
|
+
* \retval #EDHOC_ERROR_INVALID_ARGUMENT
|
|
61
|
+
* Input parameter is recognized as invalid.
|
|
59
62
|
*/
|
|
60
63
|
int edhoc_context_init(struct edhoc_context *edhoc_context);
|
|
61
64
|
|
|
@@ -64,29 +67,52 @@ int edhoc_context_init(struct edhoc_context *edhoc_context);
|
|
|
64
67
|
*
|
|
65
68
|
* \param[in,out] edhoc_context EDHOC context.
|
|
66
69
|
*
|
|
67
|
-
* \
|
|
70
|
+
* \retval #EDHOC_SUCCESS
|
|
71
|
+
* Success.
|
|
72
|
+
* \retval #EDHOC_ERROR_INVALID_ARGUMENT
|
|
73
|
+
* Input parameter is recognized as invalid.
|
|
74
|
+
* \retval #EDHOC_ERROR_BAD_STATE
|
|
75
|
+
* Internal context state is incorrect.
|
|
68
76
|
*/
|
|
69
77
|
int edhoc_context_deinit(struct edhoc_context *edhoc_context);
|
|
70
78
|
|
|
71
79
|
/**
|
|
72
|
-
* \brief Set EDHOC
|
|
80
|
+
* \brief Set EDHOC methods.
|
|
73
81
|
*
|
|
74
|
-
*
|
|
75
|
-
* \
|
|
82
|
+
* According to RFC 9528: 3.2. Method. It is required to set at least one method
|
|
83
|
+
* but no more than \p EDHOC_METHOD_MAX.
|
|
84
|
+
*
|
|
85
|
+
* Depends on processing side:
|
|
86
|
+
* - Initiator will always read first value (method[0]) in message 1 compose.
|
|
87
|
+
* - Responder will iterator over all method and try to match in message 1 process.
|
|
76
88
|
*
|
|
77
|
-
* \
|
|
89
|
+
* \param[in,out] edhoc_context EDHOC context.
|
|
90
|
+
* \param[in] method EDHOC method.
|
|
91
|
+
* \param method_length Number of the \p method.
|
|
92
|
+
*
|
|
93
|
+
* \retval #EDHOC_SUCCESS
|
|
94
|
+
* Success.
|
|
95
|
+
* \retval #EDHOC_ERROR_INVALID_ARGUMENT
|
|
96
|
+
* Combination of input parameters are recognized as invalid.
|
|
97
|
+
* \retval #EDHOC_ERROR_BAD_STATE
|
|
98
|
+
* Internal context state is incorrect.
|
|
78
99
|
*/
|
|
79
|
-
int
|
|
80
|
-
|
|
100
|
+
int edhoc_set_methods(struct edhoc_context *edhoc_context,
|
|
101
|
+
const enum edhoc_method *method, size_t method_length);
|
|
81
102
|
|
|
82
103
|
/**
|
|
83
|
-
* \brief Set EDHOC
|
|
104
|
+
* \brief Set EDHOC cipher suites.
|
|
84
105
|
*
|
|
85
106
|
* \param[in,out] edhoc_context EDHOC context.
|
|
86
107
|
* \param[in] cipher_suite EDHOC cipher suites.
|
|
87
108
|
* \param cipher_suite_length Number of the \p cipher_suite.
|
|
88
109
|
*
|
|
89
|
-
* \
|
|
110
|
+
* \retval #EDHOC_SUCCESS
|
|
111
|
+
* Success.
|
|
112
|
+
* \retval #EDHOC_ERROR_INVALID_ARGUMENT
|
|
113
|
+
* Combination of input parameters are recognized as invalid.
|
|
114
|
+
* \retval #EDHOC_ERROR_BAD_STATE
|
|
115
|
+
* Internal context state is incorrect.
|
|
90
116
|
*/
|
|
91
117
|
int edhoc_set_cipher_suites(struct edhoc_context *edhoc_context,
|
|
92
118
|
const struct edhoc_cipher_suite *cipher_suite,
|
|
@@ -98,10 +124,15 @@ int edhoc_set_cipher_suites(struct edhoc_context *edhoc_context,
|
|
|
98
124
|
* \param[in,out] edhoc_context EDHOC context.
|
|
99
125
|
* \param[in] connection_id EDHOC connection identifier.
|
|
100
126
|
*
|
|
101
|
-
* \
|
|
127
|
+
* \retval #EDHOC_SUCCESS
|
|
128
|
+
* Success.
|
|
129
|
+
* \retval #EDHOC_ERROR_INVALID_ARGUMENT
|
|
130
|
+
* Combination of input parameters are recognized as invalid.
|
|
131
|
+
* \retval #EDHOC_ERROR_BAD_STATE
|
|
132
|
+
* Internal context state is incorrect.
|
|
102
133
|
*/
|
|
103
134
|
int edhoc_set_connection_id(struct edhoc_context *edhoc_context,
|
|
104
|
-
struct edhoc_connection_id connection_id);
|
|
135
|
+
const struct edhoc_connection_id *connection_id);
|
|
105
136
|
|
|
106
137
|
/**
|
|
107
138
|
* \brief Set user context.
|
|
@@ -109,7 +140,12 @@ int edhoc_set_connection_id(struct edhoc_context *edhoc_context,
|
|
|
109
140
|
* \param[in,out] edhoc_context EDHOC context.
|
|
110
141
|
* \param[in] user_context User context.
|
|
111
142
|
*
|
|
112
|
-
* \
|
|
143
|
+
* \retval #EDHOC_SUCCESS
|
|
144
|
+
* Success.
|
|
145
|
+
* \retval #EDHOC_ERROR_INVALID_ARGUMENT
|
|
146
|
+
* Combination of input parameters are recognized as invalid.
|
|
147
|
+
* \retval #EDHOC_ERROR_BAD_STATE
|
|
148
|
+
* Internal context state is incorrect.
|
|
113
149
|
*/
|
|
114
150
|
int edhoc_set_user_context(struct edhoc_context *edhoc_context,
|
|
115
151
|
void *user_context);
|
|
@@ -118,44 +154,65 @@ int edhoc_set_user_context(struct edhoc_context *edhoc_context,
|
|
|
118
154
|
* \brief Bind EDHOC external authorization data (EAD) callbacks.
|
|
119
155
|
*
|
|
120
156
|
* \param[in,out] edhoc_context EDHOC context.
|
|
121
|
-
* \param ead
|
|
122
|
-
*
|
|
123
|
-
* \
|
|
157
|
+
* \param[in] ead EDHOC EAD structure with callbacks.
|
|
158
|
+
*
|
|
159
|
+
* \retval #EDHOC_SUCCESS
|
|
160
|
+
* Success.
|
|
161
|
+
* \retval #EDHOC_ERROR_INVALID_ARGUMENT
|
|
162
|
+
* Combination of input parameters are recognized as invalid.
|
|
163
|
+
* \retval #EDHOC_ERROR_BAD_STATE
|
|
164
|
+
* Internal context state is incorrect.
|
|
124
165
|
*/
|
|
125
|
-
int edhoc_bind_ead(struct edhoc_context *edhoc_context,
|
|
166
|
+
int edhoc_bind_ead(struct edhoc_context *edhoc_context,
|
|
167
|
+
const struct edhoc_ead *ead);
|
|
126
168
|
|
|
127
169
|
/**
|
|
128
170
|
* \brief Bind EDHOC cryptographic keys callbacks.
|
|
129
171
|
*
|
|
130
172
|
* \param[in,out] edhoc_context EDHOC context.
|
|
131
|
-
* \param keys
|
|
132
|
-
*
|
|
133
|
-
* \
|
|
173
|
+
* \param[in] keys EDHOC cryptographic keys structure with callbacks.
|
|
174
|
+
*
|
|
175
|
+
* \retval #EDHOC_SUCCESS
|
|
176
|
+
* Success.
|
|
177
|
+
* \retval #EDHOC_ERROR_INVALID_ARGUMENT
|
|
178
|
+
* Combination of input parameters are recognized as invalid.
|
|
179
|
+
* \retval #EDHOC_ERROR_BAD_STATE
|
|
180
|
+
* Internal context state is incorrect.
|
|
134
181
|
*/
|
|
135
182
|
int edhoc_bind_keys(struct edhoc_context *edhoc_context,
|
|
136
|
-
struct edhoc_keys keys);
|
|
183
|
+
const struct edhoc_keys *keys);
|
|
137
184
|
|
|
138
185
|
/**
|
|
139
186
|
* \brief Bind EDHOC cryptographic operations callbacks.
|
|
140
187
|
*
|
|
141
188
|
* \param[in,out] edhoc_context EDHOC context.
|
|
142
|
-
* \param crypto
|
|
143
|
-
*
|
|
144
|
-
* \
|
|
189
|
+
* \param[in] crypto EDHOC cryptographic operations structure with callbacks.
|
|
190
|
+
*
|
|
191
|
+
* \retval #EDHOC_SUCCESS
|
|
192
|
+
* Success.
|
|
193
|
+
* \retval #EDHOC_ERROR_INVALID_ARGUMENT
|
|
194
|
+
* Combination of input parameters are recognized as invalid.
|
|
195
|
+
* \retval #EDHOC_ERROR_BAD_STATE
|
|
196
|
+
* Internal context state is incorrect.
|
|
145
197
|
*/
|
|
146
198
|
int edhoc_bind_crypto(struct edhoc_context *edhoc_context,
|
|
147
|
-
struct edhoc_crypto crypto);
|
|
199
|
+
const struct edhoc_crypto *crypto);
|
|
148
200
|
|
|
149
201
|
/**
|
|
150
202
|
* \brief Bind EDHOC authentication credentials callbacks.
|
|
151
203
|
*
|
|
152
204
|
* \param[in,out] edhoc_context EDHOC context.
|
|
153
|
-
* \param credentials
|
|
154
|
-
*
|
|
155
|
-
* \
|
|
205
|
+
* \param[in] credentials EDHOC authentication credentials structure with callbacks.
|
|
206
|
+
*
|
|
207
|
+
* \retval #EDHOC_SUCCESS
|
|
208
|
+
* Success.
|
|
209
|
+
* \retval #EDHOC_ERROR_INVALID_ARGUMENT
|
|
210
|
+
* Combination of input parameters are recognized as invalid.
|
|
211
|
+
* \retval #EDHOC_ERROR_BAD_STATE
|
|
212
|
+
* Internal context state is incorrect.
|
|
156
213
|
*/
|
|
157
214
|
int edhoc_bind_credentials(struct edhoc_context *edhoc_context,
|
|
158
|
-
struct edhoc_credentials credentials);
|
|
215
|
+
const struct edhoc_credentials *credentials);
|
|
159
216
|
|
|
160
217
|
/**@}*/
|
|
161
218
|
|
|
@@ -171,7 +228,22 @@ int edhoc_bind_credentials(struct edhoc_context *edhoc_context,
|
|
|
171
228
|
* \param message_1_size Size of the \p message_1 buffer in bytes.
|
|
172
229
|
* \param[out] message_1_length On success, the number of bytes that make up the message 1.
|
|
173
230
|
*
|
|
174
|
-
* \
|
|
231
|
+
* \retval #EDHOC_SUCCESS
|
|
232
|
+
* Success.
|
|
233
|
+
* \retval #EDHOC_ERROR_INVALID_ARGUMENT
|
|
234
|
+
* Combination of input parameters are recognized as invalid.
|
|
235
|
+
* \retval #EDHOC_ERROR_BAD_STATE
|
|
236
|
+
* Internal context state is incorrect.
|
|
237
|
+
* \retval #EDHOC_ERROR_NOT_PERMITTED
|
|
238
|
+
* Processing code branch is not permitted by implementation.
|
|
239
|
+
* \retval #EDHOC_ERROR_CBOR_FAILURE
|
|
240
|
+
* CBOR encoding failure.
|
|
241
|
+
* \retval #EDHOC_ERROR_CRYPTO_FAILURE
|
|
242
|
+
* Cryptographics operation failure.
|
|
243
|
+
* \retval #EDHOC_ERROR_EPHEMERAL_DIFFIE_HELLMAN_FAILURE
|
|
244
|
+
* Ephemeral Diffie-Hellman key pair or agreement failure.
|
|
245
|
+
* \retval #EDHOC_ERROR_EAD_COMPOSE_FAILURE
|
|
246
|
+
* External authorization data compose failure.
|
|
175
247
|
*/
|
|
176
248
|
int edhoc_message_1_compose(struct edhoc_context *edhoc_context,
|
|
177
249
|
uint8_t *message_1, size_t message_1_size,
|
|
@@ -184,7 +256,24 @@ int edhoc_message_1_compose(struct edhoc_context *edhoc_context,
|
|
|
184
256
|
* \param[in] message_1 Buffer containing the message 1.
|
|
185
257
|
* \param message_1_length Size of the \p message_1 buffer in bytes.
|
|
186
258
|
*
|
|
187
|
-
* \
|
|
259
|
+
* \retval #EDHOC_SUCCESS
|
|
260
|
+
* Success.
|
|
261
|
+
* \retval #EDHOC_ERROR_INVALID_ARGUMENT
|
|
262
|
+
* Combination of input parameters are recognized as invalid.
|
|
263
|
+
* \retval #EDHOC_ERROR_BAD_STATE
|
|
264
|
+
* Internal context state is incorrect.
|
|
265
|
+
* \retval #EDHOC_ERROR_NOT_PERMITTED
|
|
266
|
+
* Processing code branch is not permitted by implementation.
|
|
267
|
+
* \retval #EDHOC_ERROR_BUFFER_TOO_SMALL
|
|
268
|
+
* Used buffer is too small.
|
|
269
|
+
* \retval #EDHOC_ERROR_MSG_1_PROCESS_FAILURE
|
|
270
|
+
* Error on EDHOC layer during processing.
|
|
271
|
+
* \retval #EDHOC_ERROR_CBOR_FAILURE
|
|
272
|
+
* CBOR decoding failure.
|
|
273
|
+
* \retval #EDHOC_ERROR_CRYPTO_FAILURE
|
|
274
|
+
* Cryptographics operation failure.
|
|
275
|
+
* \retval #EDHOC_ERROR_EAD_PROCESS_FAILURE
|
|
276
|
+
* External authorization data process failure.
|
|
188
277
|
*/
|
|
189
278
|
int edhoc_message_1_process(struct edhoc_context *edhoc_context,
|
|
190
279
|
const uint8_t *message_1, size_t message_1_length);
|
|
@@ -197,7 +286,30 @@ int edhoc_message_1_process(struct edhoc_context *edhoc_context,
|
|
|
197
286
|
* \param message_2_size Size of the \p message_2 buffer in bytes.
|
|
198
287
|
* \param[out] message_2_length On success, the number of bytes that make up the message 2.
|
|
199
288
|
*
|
|
200
|
-
* \
|
|
289
|
+
* \retval #EDHOC_SUCCESS
|
|
290
|
+
* Success.
|
|
291
|
+
* \retval #EDHOC_ERROR_INVALID_ARGUMENT
|
|
292
|
+
* Combination of input parameters are recognized as invalid.
|
|
293
|
+
* \retval #EDHOC_ERROR_BAD_STATE
|
|
294
|
+
* Internal context state is incorrect.
|
|
295
|
+
* \retval #EDHOC_ERROR_NOT_PERMITTED
|
|
296
|
+
* Processing code branch is not permitted by implementation.
|
|
297
|
+
* \retval #EDHOC_ERROR_BUFFER_TOO_SMALL
|
|
298
|
+
* Used buffer is too small.
|
|
299
|
+
* \retval #EDHOC_ERROR_CBOR_FAILURE
|
|
300
|
+
* CBOR encoding failure.
|
|
301
|
+
* \retval #EDHOC_ERROR_CRYPTO_FAILURE
|
|
302
|
+
* Cryptographics operation failure.
|
|
303
|
+
* \retval #EDHOC_ERROR_TRANSCRIPT_HASH_FAILURE
|
|
304
|
+
* Computation of transcript hash failure.
|
|
305
|
+
* \retval #EDHOC_ERROR_PSEUDORANDOM_KEY_FAILURE
|
|
306
|
+
* Computation of pseudorandom key failure.
|
|
307
|
+
* \retval #EDHOC_ERROR_EPHEMERAL_DIFFIE_HELLMAN_FAILURE
|
|
308
|
+
* Ephemeral Diffie-Hellman key pair or agreement failure.
|
|
309
|
+
* \retval #EDHOC_ERROR_CREDENTIALS_FAILURE
|
|
310
|
+
* Authentication credentials fetch/verify failure.
|
|
311
|
+
* \retval #EDHOC_ERROR_EAD_COMPOSE_FAILURE
|
|
312
|
+
* External authorization data compose failure.
|
|
201
313
|
*/
|
|
202
314
|
int edhoc_message_2_compose(struct edhoc_context *edhoc_context,
|
|
203
315
|
uint8_t *message_2, size_t message_2_size,
|
|
@@ -210,7 +322,36 @@ int edhoc_message_2_compose(struct edhoc_context *edhoc_context,
|
|
|
210
322
|
* \param[in] message_2 Buffer containing the message 2.
|
|
211
323
|
* \param message_2_length Size of the \p message_2 buffer in bytes.
|
|
212
324
|
*
|
|
213
|
-
* \
|
|
325
|
+
* \retval #EDHOC_SUCCESS
|
|
326
|
+
* Success.
|
|
327
|
+
* \retval #EDHOC_ERROR_INVALID_ARGUMENT
|
|
328
|
+
* Combination of input parameters are recognized as invalid.
|
|
329
|
+
* \retval #EDHOC_ERROR_BAD_STATE
|
|
330
|
+
* Internal context state is incorrect.
|
|
331
|
+
* \retval #EDHOC_ERROR_BUFFER_TOO_SMALL
|
|
332
|
+
* Used buffer is too small.
|
|
333
|
+
* \retval #EDHOC_ERROR_NOT_PERMITTED
|
|
334
|
+
* Processing code branch is not permitted by implementation.
|
|
335
|
+
* \retval #EDHOC_ERROR_MSG_2_PROCESS_FAILURE
|
|
336
|
+
* Error on EDHOC layer during processing.
|
|
337
|
+
* \retval #EDHOC_ERROR_CBOR_FAILURE
|
|
338
|
+
* CBOR decoding failure.
|
|
339
|
+
* \retval #EDHOC_ERROR_CRYPTO_FAILURE
|
|
340
|
+
* Cryptographics operation failure.
|
|
341
|
+
* \retval #EDHOC_ERROR_TRANSCRIPT_HASH_FAILURE
|
|
342
|
+
* Computation of transcript hash failure.
|
|
343
|
+
* \retval #EDHOC_ERROR_PSEUDORANDOM_KEY_FAILURE
|
|
344
|
+
* Computation of pseudorandom key failure.
|
|
345
|
+
* \retval #EDHOC_ERROR_EPHEMERAL_DIFFIE_HELLMAN_FAILURE
|
|
346
|
+
* Ephemeral Diffie-Hellman key pair or agreement failure.
|
|
347
|
+
* \retval #EDHOC_ERROR_INVALID_MAC_2
|
|
348
|
+
* Invalid MAC_2.
|
|
349
|
+
* \retval #EDHOC_ERROR_INVALID_SIGN_OR_MAC_2
|
|
350
|
+
* Invalid Signature_or_MAC_2.
|
|
351
|
+
* \retval #EDHOC_ERROR_CREDENTIALS_FAILURE
|
|
352
|
+
* Authentication credentials fetch/verify failure.
|
|
353
|
+
* \retval #EDHOC_ERROR_EAD_PROCESS_FAILURE
|
|
354
|
+
* External authorization data process failure.
|
|
214
355
|
*/
|
|
215
356
|
int edhoc_message_2_process(struct edhoc_context *edhoc_context,
|
|
216
357
|
const uint8_t *message_2, size_t message_2_length);
|
|
@@ -223,7 +364,28 @@ int edhoc_message_2_process(struct edhoc_context *edhoc_context,
|
|
|
223
364
|
* \param message_3_size Size of the \p message_3 buffer in bytes.
|
|
224
365
|
* \param[out] message_3_length On success, the number of bytes that make up the message 3.
|
|
225
366
|
*
|
|
226
|
-
* \
|
|
367
|
+
* \retval #EDHOC_SUCCESS
|
|
368
|
+
* Success.
|
|
369
|
+
* \retval #EDHOC_ERROR_INVALID_ARGUMENT
|
|
370
|
+
* Combination of input parameters are recognized as invalid.
|
|
371
|
+
* \retval #EDHOC_ERROR_BAD_STATE
|
|
372
|
+
* Internal context state is incorrect.
|
|
373
|
+
* \retval #EDHOC_ERROR_NOT_PERMITTED
|
|
374
|
+
* Processing code branch is not permitted by implementation.
|
|
375
|
+
* \retval #EDHOC_ERROR_BUFFER_TOO_SMALL
|
|
376
|
+
* Used buffer is too small.
|
|
377
|
+
* \retval #EDHOC_ERROR_CBOR_FAILURE
|
|
378
|
+
* CBOR encoding failure.
|
|
379
|
+
* \retval #EDHOC_ERROR_CRYPTO_FAILURE
|
|
380
|
+
* Cryptographics operation failure.
|
|
381
|
+
* \retval #EDHOC_ERROR_TRANSCRIPT_HASH_FAILURE
|
|
382
|
+
* Computation of transcript hash failure.
|
|
383
|
+
* \retval #EDHOC_ERROR_PSEUDORANDOM_KEY_FAILURE
|
|
384
|
+
* Computation of pseudorandom key failure.
|
|
385
|
+
* \retval #EDHOC_ERROR_CREDENTIALS_FAILURE
|
|
386
|
+
* Authentication credentials fetch/verify failure.
|
|
387
|
+
* \retval #EDHOC_ERROR_EAD_COMPOSE_FAILURE
|
|
388
|
+
* External authorization data compose failure.
|
|
227
389
|
*/
|
|
228
390
|
int edhoc_message_3_compose(struct edhoc_context *edhoc_context,
|
|
229
391
|
uint8_t *message_3, size_t message_3_size,
|
|
@@ -236,7 +398,34 @@ int edhoc_message_3_compose(struct edhoc_context *edhoc_context,
|
|
|
236
398
|
* \param[in] message_3 Buffer containing the message 3.
|
|
237
399
|
* \param message_3_length Size of the \p message_3 buffer in bytes.
|
|
238
400
|
*
|
|
239
|
-
* \
|
|
401
|
+
* \retval #EDHOC_SUCCESS
|
|
402
|
+
* Success.
|
|
403
|
+
* \retval #EDHOC_ERROR_INVALID_ARGUMENT
|
|
404
|
+
* Combination of input parameters are recognized as invalid.
|
|
405
|
+
* \retval #EDHOC_ERROR_BAD_STATE
|
|
406
|
+
* Internal context state is incorrect.
|
|
407
|
+
* \retval #EDHOC_ERROR_NOT_PERMITTED
|
|
408
|
+
* Processing code branch is not permitted by implementation.
|
|
409
|
+
* \retval #EDHOC_ERROR_BUFFER_TOO_SMALL
|
|
410
|
+
* Used buffer is too small.
|
|
411
|
+
* \retval #EDHOC_ERROR_MSG_3_PROCESS_FAILURE
|
|
412
|
+
* Error on EDHOC layer during processing.
|
|
413
|
+
* \retval #EDHOC_ERROR_CBOR_FAILURE
|
|
414
|
+
* CBOR decoding failure.
|
|
415
|
+
* \retval #EDHOC_ERROR_CRYPTO_FAILURE
|
|
416
|
+
* Cryptographics operation failure.
|
|
417
|
+
* \retval #EDHOC_ERROR_TRANSCRIPT_HASH_FAILURE
|
|
418
|
+
* Computation of transcript hash failure.
|
|
419
|
+
* \retval #EDHOC_ERROR_PSEUDORANDOM_KEY_FAILURE
|
|
420
|
+
* Computation of pseudorandom key failure.
|
|
421
|
+
* \retval #EDHOC_ERROR_INVALID_MAC_3
|
|
422
|
+
* Invalid EDHOC MAC_3.
|
|
423
|
+
* \retval #EDHOC_ERROR_INVALID_SIGN_OR_MAC_3
|
|
424
|
+
* Invalid EDHOC Signature_or_MAC_3.
|
|
425
|
+
* \retval #EDHOC_ERROR_CREDENTIALS_FAILURE
|
|
426
|
+
* Authentication credentials fetch/verify failure.
|
|
427
|
+
* \retval #EDHOC_ERROR_EAD_PROCESS_FAILURE
|
|
428
|
+
* External authorization data process failure.
|
|
240
429
|
*/
|
|
241
430
|
int edhoc_message_3_process(struct edhoc_context *edhoc_context,
|
|
242
431
|
const uint8_t *message_3, size_t message_3_length);
|
|
@@ -249,7 +438,18 @@ int edhoc_message_3_process(struct edhoc_context *edhoc_context,
|
|
|
249
438
|
* \param message_4_size Size of the \p message_4 buffer in bytes.
|
|
250
439
|
* \param[out] message_4_length On success, the number of bytes that make up the message 4.
|
|
251
440
|
*
|
|
252
|
-
* \
|
|
441
|
+
* \retval #EDHOC_SUCCESS
|
|
442
|
+
* Success.
|
|
443
|
+
* \retval #EDHOC_ERROR_INVALID_ARGUMENT
|
|
444
|
+
* Combination of input parameters are recognized as invalid.
|
|
445
|
+
* \retval #EDHOC_ERROR_BAD_STATE
|
|
446
|
+
* Internal context state is incorrect.
|
|
447
|
+
* \retval #EDHOC_ERROR_CBOR_FAILURE
|
|
448
|
+
* CBOR encoding failure.
|
|
449
|
+
* \retval #EDHOC_ERROR_CRYPTO_FAILURE
|
|
450
|
+
* Cryptographics operation failure.
|
|
451
|
+
* \retval #EDHOC_ERROR_EAD_COMPOSE_FAILURE
|
|
452
|
+
* External authorization data compose failure.
|
|
253
453
|
*/
|
|
254
454
|
int edhoc_message_4_compose(struct edhoc_context *edhoc_context,
|
|
255
455
|
uint8_t *message_4, size_t message_4_size,
|
|
@@ -262,7 +462,22 @@ int edhoc_message_4_compose(struct edhoc_context *edhoc_context,
|
|
|
262
462
|
* \param[in] message_4 Buffer containing the message 4.
|
|
263
463
|
* \param message_4_length Size of the \p message_4 buffer in bytes.
|
|
264
464
|
*
|
|
265
|
-
* \
|
|
465
|
+
* \retval #EDHOC_SUCCESS
|
|
466
|
+
* Success.
|
|
467
|
+
* \retval #EDHOC_ERROR_INVALID_ARGUMENT
|
|
468
|
+
* Combination of input parameters are recognized as invalid.
|
|
469
|
+
* \retval #EDHOC_ERROR_BAD_STATE
|
|
470
|
+
* Internal context state is incorrect.
|
|
471
|
+
* \retval #EDHOC_ERROR_MSG4_PROCESS_FAILURE
|
|
472
|
+
* Error on EDHOC layer during processing.
|
|
473
|
+
* \retval #EDHOC_ERROR_CBOR_FAILURE
|
|
474
|
+
* CBOR decoding failure.
|
|
475
|
+
* \retval #EDHOC_ERROR_CRYPTO_FAILURE
|
|
476
|
+
* Cryptographics operation failure.
|
|
477
|
+
* \retval #EDHOC_ERROR_MSG_4_PROCESS_FAILURE
|
|
478
|
+
* External authorization data process failure.
|
|
479
|
+
* \retval #EDHOC_ERROR_EAD_PROCESS_FAILURE
|
|
480
|
+
* External authorization data process failure.
|
|
266
481
|
*/
|
|
267
482
|
int edhoc_message_4_process(struct edhoc_context *edhoc_context,
|
|
268
483
|
const uint8_t *message_4, size_t message_4_length);
|
|
@@ -276,7 +491,18 @@ int edhoc_message_4_process(struct edhoc_context *edhoc_context,
|
|
|
276
491
|
* \param error_code EDHOC error code.
|
|
277
492
|
* \param[in] error_info EDHOC error information.
|
|
278
493
|
*
|
|
279
|
-
* \
|
|
494
|
+
* \retval #EDHOC_SUCCESS
|
|
495
|
+
* Success.
|
|
496
|
+
* \retval #EDHOC_ERROR_INVALID_ARGUMENT
|
|
497
|
+
* Combination of input parameters are recognized as invalid.
|
|
498
|
+
* \retval #EDHOC_ERROR_BAD_STATE
|
|
499
|
+
* Internal context state is incorrect.
|
|
500
|
+
* \retval #EDHOC_ERROR_BUFFER_TOO_SMALL
|
|
501
|
+
* Used buffer is too small.
|
|
502
|
+
* \retval #EDHOC_ERROR_NOT_PERMITTED
|
|
503
|
+
* Processing code branch is not permitted by implementation.
|
|
504
|
+
* \retval #EDHOC_ERROR_CBOR_FAILURE
|
|
505
|
+
* CBOR encoding failure.
|
|
280
506
|
*/
|
|
281
507
|
int edhoc_message_error_compose(uint8_t *message_error,
|
|
282
508
|
size_t message_error_size,
|
|
@@ -292,7 +518,18 @@ int edhoc_message_error_compose(uint8_t *message_error,
|
|
|
292
518
|
* \param[out] error_code EDHOC error code.
|
|
293
519
|
* \param[out] error_info EDHOC error information.
|
|
294
520
|
*
|
|
295
|
-
* \
|
|
521
|
+
* \retval #EDHOC_SUCCESS
|
|
522
|
+
* Success.
|
|
523
|
+
* \retval #EDHOC_ERROR_INVALID_ARGUMENT
|
|
524
|
+
* Combination of input parameters are recognized as invalid.
|
|
525
|
+
* \retval #EDHOC_ERROR_BAD_STATE
|
|
526
|
+
* Internal context state is incorrect.
|
|
527
|
+
* \retval #EDHOC_ERROR_BUFFER_TOO_SMALL
|
|
528
|
+
* Used buffer is too small.
|
|
529
|
+
* \retval #EDHOC_ERROR_NOT_PERMITTED
|
|
530
|
+
* Processing code branch is not permitted by implementation.
|
|
531
|
+
* \retval #EDHOC_ERROR_CBOR_FAILURE
|
|
532
|
+
* CBOR decoding failure.
|
|
296
533
|
*/
|
|
297
534
|
int edhoc_message_error_process(const uint8_t *message_error,
|
|
298
535
|
size_t message_error_length,
|
|
@@ -313,7 +550,20 @@ int edhoc_message_error_process(const uint8_t *message_error,
|
|
|
313
550
|
* \param[out] secret Buffer where the generated secret is to be written.
|
|
314
551
|
* \param secret_length Size of the \p secret buffer in bytes.
|
|
315
552
|
*
|
|
316
|
-
* \
|
|
553
|
+
* \retval #EDHOC_SUCCESS
|
|
554
|
+
* Success.
|
|
555
|
+
* \retval #EDHOC_ERROR_INVALID_ARGUMENT
|
|
556
|
+
* Combination of input parameters are recognized as invalid.
|
|
557
|
+
* \retval #EDHOC_ERROR_BAD_STATE
|
|
558
|
+
* Internal context state is incorrect.
|
|
559
|
+
* \retval #EDHOC_ERROR_NOT_PERMITTED
|
|
560
|
+
* Processing code branch is not permitted by implementation.
|
|
561
|
+
* \retval #EDHOC_ERROR_CBOR_FAILURE
|
|
562
|
+
* CBOR encoding failure.
|
|
563
|
+
* \retval #EDHOC_ERROR_CRYPTO_FAILURE
|
|
564
|
+
* Cryptographics operation failure.
|
|
565
|
+
* \retval #EDHOC_ERROR_PSEUDORANDOM_KEY_FAILURE
|
|
566
|
+
* Computation of pseudorandom key failure.
|
|
317
567
|
*/
|
|
318
568
|
int edhoc_export_prk_exporter(struct edhoc_context *edhoc_context, size_t label,
|
|
319
569
|
uint8_t *secret, size_t secret_length);
|
|
@@ -325,7 +575,20 @@ int edhoc_export_prk_exporter(struct edhoc_context *edhoc_context, size_t label,
|
|
|
325
575
|
* \param[in] entropy Buffer containing the entropy for key update.
|
|
326
576
|
* \param entropy_length Size of the \p entropy buffer in bytes.
|
|
327
577
|
*
|
|
328
|
-
* \
|
|
578
|
+
* \retval #EDHOC_SUCCESS
|
|
579
|
+
* Success.
|
|
580
|
+
* \retval #EDHOC_ERROR_INVALID_ARGUMENT
|
|
581
|
+
* Combination of input parameters are recognized as invalid.
|
|
582
|
+
* \retval #EDHOC_ERROR_BAD_STATE
|
|
583
|
+
* Internal context state is incorrect.
|
|
584
|
+
* \retval #EDHOC_ERROR_NOT_PERMITTED
|
|
585
|
+
* Processing code branch is not permitted by implementation.
|
|
586
|
+
* \retval #EDHOC_ERROR_CBOR_FAILURE
|
|
587
|
+
* CBOR encoding failure.
|
|
588
|
+
* \retval #EDHOC_ERROR_CRYPTO_FAILURE
|
|
589
|
+
* Cryptographics operation failure.
|
|
590
|
+
* \retval #EDHOC_ERROR_PSEUDORANDOM_KEY_FAILURE
|
|
591
|
+
* Computation of pseudorandom key failure.
|
|
329
592
|
*/
|
|
330
593
|
int edhoc_export_key_update(struct edhoc_context *edhoc_context,
|
|
331
594
|
const uint8_t *entropy, size_t entropy_length);
|
|
@@ -345,7 +608,20 @@ int edhoc_export_key_update(struct edhoc_context *edhoc_context,
|
|
|
345
608
|
* \param recipient_id_size Size of the \p recipient_id buffer in bytes.
|
|
346
609
|
* \param[out] recipient_id_length On success, the number of bytes that make up the recipient id.
|
|
347
610
|
*
|
|
348
|
-
* \
|
|
611
|
+
* \retval #EDHOC_SUCCESS
|
|
612
|
+
* Success.
|
|
613
|
+
* \retval #EDHOC_ERROR_INVALID_ARGUMENT
|
|
614
|
+
* Combination of input parameters are recognized as invalid.
|
|
615
|
+
* \retval #EDHOC_ERROR_BAD_STATE
|
|
616
|
+
* Internal context state is incorrect.
|
|
617
|
+
* \retval #EDHOC_ERROR_NOT_PERMITTED
|
|
618
|
+
* Processing code branch is not permitted by implementation.
|
|
619
|
+
* \retval #EDHOC_ERROR_CBOR_FAILURE
|
|
620
|
+
* CBOR encoding failure.
|
|
621
|
+
* \retval #EDHOC_ERROR_CRYPTO_FAILURE
|
|
622
|
+
* Cryptographics operation failure.
|
|
623
|
+
* \retval #EDHOC_ERROR_PSEUDORANDOM_KEY_FAILURE
|
|
624
|
+
* Computation of pseudorandom key failure.
|
|
349
625
|
*/
|
|
350
626
|
int edhoc_export_oscore_session(struct edhoc_context *edhoc_context,
|
|
351
627
|
uint8_t *master_secret,
|
|
@@ -368,25 +644,43 @@ int edhoc_export_oscore_session(struct edhoc_context *edhoc_context,
|
|
|
368
644
|
* \param[in] edhoc_context EDHOC context.
|
|
369
645
|
* \param[out] error_code EDHOC error code.
|
|
370
646
|
*
|
|
371
|
-
* \
|
|
647
|
+
* \retval #EDHOC_SUCCESS
|
|
648
|
+
* Success.
|
|
649
|
+
* \retval #EDHOC_ERROR_INVALID_ARGUMENT
|
|
650
|
+
* Combination of input parameters are recognized as invalid.
|
|
651
|
+
* \retval #EDHOC_ERROR_BAD_STATE
|
|
652
|
+
* Internal context state is incorrect.
|
|
372
653
|
*/
|
|
373
654
|
int edhoc_error_get_code(const struct edhoc_context *edhoc_context,
|
|
374
655
|
enum edhoc_error_code *error_code);
|
|
375
656
|
|
|
376
657
|
/**
|
|
377
|
-
* \brief EDHOC cipher suites getter in case of \p EDHOC_ERROR_CODE_WRONG_SELECTED_CIPHER_SUITE.
|
|
658
|
+
* \brief EDHOC own and peer cipher suites getter in case of \p EDHOC_ERROR_CODE_WRONG_SELECTED_CIPHER_SUITE.
|
|
378
659
|
*
|
|
379
|
-
* \param[in] edhoc_context
|
|
380
|
-
* \param[out] cipher_suites
|
|
381
|
-
* \param cipher_suites_size
|
|
382
|
-
* \param[out] cipher_suites_length
|
|
383
|
-
*
|
|
384
|
-
* \
|
|
660
|
+
* \param[in] edhoc_context EDHOC context.
|
|
661
|
+
* \param[out] cipher_suites Buffer where the cipher suites values is to be written.
|
|
662
|
+
* \param cipher_suites_size Size of the \p cipher_suites buffer in entries.
|
|
663
|
+
* \param[out] cipher_suites_length On success, the number of entires that make up the cipher suites.
|
|
664
|
+
* \param[out] peer_cipher_suites Buffer where the peer cipher suites values is to be written.
|
|
665
|
+
* \param peer_cipher_suites_size Size of the \p peer_cipher_suites buffer in entries.
|
|
666
|
+
* \param[out] peer_cipher_suites_length On success, the number of entires that make up the peer cipher suites.
|
|
667
|
+
*
|
|
668
|
+
* \retval #EDHOC_SUCCESS
|
|
669
|
+
* Success.
|
|
670
|
+
* \retval #EDHOC_ERROR_INVALID_ARGUMENT
|
|
671
|
+
* Combination of input parameters are recognized as invalid.
|
|
672
|
+
* \retval #EDHOC_ERROR_BAD_STATE
|
|
673
|
+
* Internal context state is incorrect.
|
|
674
|
+
* \retval #EDHOC_ERROR_BUFFER_TOO_SMALL
|
|
675
|
+
* Used buffer is too small.
|
|
385
676
|
*/
|
|
386
677
|
int edhoc_error_get_cipher_suites(const struct edhoc_context *edhoc_context,
|
|
387
678
|
int32_t *cipher_suites,
|
|
388
679
|
size_t cipher_suites_size,
|
|
389
|
-
size_t *cipher_suites_length
|
|
680
|
+
size_t *cipher_suites_length,
|
|
681
|
+
int32_t *peer_cipher_suites,
|
|
682
|
+
size_t peer_cipher_suites_size,
|
|
683
|
+
size_t *peer_cipher_suites_length);
|
|
390
684
|
|
|
391
685
|
/**@}*/
|
|
392
686
|
|