edhoc 1.3.3 → 2.0.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/.clang-format +79 -0
- package/README.md +6 -5
- package/dist/cbor-utils.d.ts +30 -0
- package/dist/cbor-utils.d.ts.map +1 -0
- package/dist/cbor-utils.js +179 -0
- package/dist/cipher-suites.d.ts +13 -0
- package/dist/cipher-suites.d.ts.map +1 -0
- package/dist/cipher-suites.js +22 -0
- package/dist/edhoc.d.ts +85 -277
- package/dist/edhoc.d.ts.map +1 -1
- package/dist/edhoc.js +562 -34
- package/package.json +5 -19
- package/.gitmodules +0 -3
- package/binding.gyp +0 -66
- package/dist/bindings.d.ts +0 -5
- package/dist/bindings.d.ts.map +0 -1
- package/dist/bindings.js +0 -10
- package/external/libedhoc/backends/cbor/include/backend_cbor_bstr_type_decode.h +0 -35
- package/external/libedhoc/backends/cbor/include/backend_cbor_bstr_type_encode.h +0 -35
- package/external/libedhoc/backends/cbor/include/backend_cbor_bstr_type_types.h +0 -34
- package/external/libedhoc/backends/cbor/include/backend_cbor_ead_decode.h +0 -35
- package/external/libedhoc/backends/cbor/include/backend_cbor_ead_encode.h +0 -35
- package/external/libedhoc/backends/cbor/include/backend_cbor_edhoc_types.h +0 -102
- package/external/libedhoc/backends/cbor/include/backend_cbor_enc_structure_decode.h +0 -35
- package/external/libedhoc/backends/cbor/include/backend_cbor_enc_structure_encode.h +0 -35
- package/external/libedhoc/backends/cbor/include/backend_cbor_enc_structure_types.h +0 -37
- package/external/libedhoc/backends/cbor/include/backend_cbor_id_cred_x_decode.h +0 -35
- package/external/libedhoc/backends/cbor/include/backend_cbor_id_cred_x_encode.h +0 -35
- package/external/libedhoc/backends/cbor/include/backend_cbor_info_decode.h +0 -35
- package/external/libedhoc/backends/cbor/include/backend_cbor_info_encode.h +0 -35
- package/external/libedhoc/backends/cbor/include/backend_cbor_int_type_decode.h +0 -35
- package/external/libedhoc/backends/cbor/include/backend_cbor_int_type_encode.h +0 -35
- package/external/libedhoc/backends/cbor/include/backend_cbor_int_type_types.h +0 -34
- package/external/libedhoc/backends/cbor/include/backend_cbor_message_1_decode.h +0 -35
- package/external/libedhoc/backends/cbor/include/backend_cbor_message_1_encode.h +0 -35
- package/external/libedhoc/backends/cbor/include/backend_cbor_message_2_decode.h +0 -35
- package/external/libedhoc/backends/cbor/include/backend_cbor_message_2_encode.h +0 -35
- package/external/libedhoc/backends/cbor/include/backend_cbor_message_3_decode.h +0 -35
- package/external/libedhoc/backends/cbor/include/backend_cbor_message_3_encode.h +0 -35
- package/external/libedhoc/backends/cbor/include/backend_cbor_message_4_decode.h +0 -35
- package/external/libedhoc/backends/cbor/include/backend_cbor_message_4_encode.h +0 -35
- package/external/libedhoc/backends/cbor/include/backend_cbor_message_error_decode.h +0 -35
- package/external/libedhoc/backends/cbor/include/backend_cbor_message_error_encode.h +0 -35
- package/external/libedhoc/backends/cbor/include/backend_cbor_plaintext_2_decode.h +0 -35
- package/external/libedhoc/backends/cbor/include/backend_cbor_plaintext_2_encode.h +0 -35
- package/external/libedhoc/backends/cbor/include/backend_cbor_plaintext_3_decode.h +0 -35
- package/external/libedhoc/backends/cbor/include/backend_cbor_plaintext_3_encode.h +0 -35
- package/external/libedhoc/backends/cbor/include/backend_cbor_plaintext_4_decode.h +0 -35
- package/external/libedhoc/backends/cbor/include/backend_cbor_plaintext_4_encode.h +0 -35
- package/external/libedhoc/backends/cbor/include/backend_cbor_sig_structure_decode.h +0 -35
- package/external/libedhoc/backends/cbor/include/backend_cbor_sig_structure_encode.h +0 -35
- package/external/libedhoc/backends/cbor/include/backend_cbor_sig_structure_types.h +0 -38
- package/external/libedhoc/backends/cbor/include/backend_cbor_x509_types.h +0 -180
- package/external/libedhoc/backends/cbor/src/backend_cbor_bstr_type_decode.c +0 -50
- package/external/libedhoc/backends/cbor/src/backend_cbor_bstr_type_encode.c +0 -50
- package/external/libedhoc/backends/cbor/src/backend_cbor_ead_decode.c +0 -69
- package/external/libedhoc/backends/cbor/src/backend_cbor_ead_encode.c +0 -69
- package/external/libedhoc/backends/cbor/src/backend_cbor_enc_structure_decode.c +0 -53
- package/external/libedhoc/backends/cbor/src/backend_cbor_enc_structure_encode.c +0 -53
- package/external/libedhoc/backends/cbor/src/backend_cbor_id_cred_x_decode.c +0 -152
- package/external/libedhoc/backends/cbor/src/backend_cbor_id_cred_x_encode.c +0 -152
- package/external/libedhoc/backends/cbor/src/backend_cbor_info_decode.c +0 -52
- package/external/libedhoc/backends/cbor/src/backend_cbor_info_encode.c +0 -52
- package/external/libedhoc/backends/cbor/src/backend_cbor_int_type_decode.c +0 -50
- package/external/libedhoc/backends/cbor/src/backend_cbor_int_type_encode.c +0 -50
- package/external/libedhoc/backends/cbor/src/backend_cbor_message_1_decode.c +0 -115
- package/external/libedhoc/backends/cbor/src/backend_cbor_message_1_encode.c +0 -115
- package/external/libedhoc/backends/cbor/src/backend_cbor_message_2_decode.c +0 -50
- package/external/libedhoc/backends/cbor/src/backend_cbor_message_2_encode.c +0 -50
- package/external/libedhoc/backends/cbor/src/backend_cbor_message_3_decode.c +0 -50
- package/external/libedhoc/backends/cbor/src/backend_cbor_message_3_encode.c +0 -50
- package/external/libedhoc/backends/cbor/src/backend_cbor_message_4_decode.c +0 -50
- package/external/libedhoc/backends/cbor/src/backend_cbor_message_4_encode.c +0 -50
- package/external/libedhoc/backends/cbor/src/backend_cbor_message_error_decode.c +0 -92
- package/external/libedhoc/backends/cbor/src/backend_cbor_message_error_encode.c +0 -92
- package/external/libedhoc/backends/cbor/src/backend_cbor_plaintext_2_decode.c +0 -216
- package/external/libedhoc/backends/cbor/src/backend_cbor_plaintext_2_encode.c +0 -217
- package/external/libedhoc/backends/cbor/src/backend_cbor_plaintext_3_decode.c +0 -212
- package/external/libedhoc/backends/cbor/src/backend_cbor_plaintext_3_encode.c +0 -212
- package/external/libedhoc/backends/cbor/src/backend_cbor_plaintext_4_decode.c +0 -87
- package/external/libedhoc/backends/cbor/src/backend_cbor_plaintext_4_encode.c +0 -87
- package/external/libedhoc/backends/cbor/src/backend_cbor_sig_structure_decode.c +0 -54
- package/external/libedhoc/backends/cbor/src/backend_cbor_sig_structure_encode.c +0 -54
- package/external/libedhoc/externals/Unity/examples/example_1/src/ProductionCode.c +0 -31
- package/external/libedhoc/externals/Unity/examples/example_1/src/ProductionCode.h +0 -10
- package/external/libedhoc/externals/Unity/examples/example_1/src/ProductionCode2.c +0 -18
- package/external/libedhoc/externals/Unity/examples/example_1/src/ProductionCode2.h +0 -9
- package/external/libedhoc/externals/Unity/examples/example_1/test/TestProductionCode.c +0 -69
- package/external/libedhoc/externals/Unity/examples/example_1/test/TestProductionCode2.c +0 -38
- package/external/libedhoc/externals/Unity/examples/example_1/test/test_runners/TestProductionCode2_Runner.c +0 -53
- package/external/libedhoc/externals/Unity/examples/example_1/test/test_runners/TestProductionCode_Runner.c +0 -57
- package/external/libedhoc/externals/Unity/examples/example_2/src/ProductionCode.c +0 -31
- package/external/libedhoc/externals/Unity/examples/example_2/src/ProductionCode.h +0 -10
- package/external/libedhoc/externals/Unity/examples/example_2/src/ProductionCode2.c +0 -18
- package/external/libedhoc/externals/Unity/examples/example_2/src/ProductionCode2.h +0 -9
- package/external/libedhoc/externals/Unity/examples/example_2/test/TestProductionCode.c +0 -71
- package/external/libedhoc/externals/Unity/examples/example_2/test/TestProductionCode2.c +0 -40
- package/external/libedhoc/externals/Unity/examples/example_2/test/test_runners/TestProductionCode2_Runner.c +0 -16
- package/external/libedhoc/externals/Unity/examples/example_2/test/test_runners/TestProductionCode_Runner.c +0 -18
- package/external/libedhoc/externals/Unity/examples/example_2/test/test_runners/all_tests.c +0 -19
- package/external/libedhoc/externals/Unity/examples/example_3/helper/UnityHelper.c +0 -17
- package/external/libedhoc/externals/Unity/examples/example_3/helper/UnityHelper.h +0 -19
- package/external/libedhoc/externals/Unity/examples/example_3/src/ProductionCode.c +0 -31
- package/external/libedhoc/externals/Unity/examples/example_3/src/ProductionCode.h +0 -10
- package/external/libedhoc/externals/Unity/examples/example_3/src/ProductionCode2.c +0 -18
- package/external/libedhoc/externals/Unity/examples/example_3/src/ProductionCode2.h +0 -9
- package/external/libedhoc/externals/Unity/examples/example_3/test/TestProductionCode.c +0 -69
- package/external/libedhoc/externals/Unity/examples/example_3/test/TestProductionCode2.c +0 -38
- package/external/libedhoc/externals/Unity/examples/example_4/src/ProductionCode.c +0 -31
- package/external/libedhoc/externals/Unity/examples/example_4/src/ProductionCode.h +0 -10
- package/external/libedhoc/externals/Unity/examples/example_4/src/ProductionCode2.c +0 -18
- package/external/libedhoc/externals/Unity/examples/example_4/src/ProductionCode2.h +0 -9
- package/external/libedhoc/externals/Unity/examples/example_4/test/TestProductionCode.c +0 -70
- package/external/libedhoc/externals/Unity/examples/example_4/test/TestProductionCode2.c +0 -42
- package/external/libedhoc/externals/Unity/examples/example_4/test/test_runners/TestProductionCode2_Runner.c +0 -53
- package/external/libedhoc/externals/Unity/examples/example_4/test/test_runners/TestProductionCode_Runner.c +0 -57
- package/external/libedhoc/externals/Unity/examples/unity_config.h +0 -251
- package/external/libedhoc/externals/Unity/extras/bdd/src/unity_bdd.h +0 -44
- package/external/libedhoc/externals/Unity/extras/bdd/test/test_bdd.c +0 -129
- package/external/libedhoc/externals/Unity/extras/fixture/src/unity_fixture.c +0 -310
- package/external/libedhoc/externals/Unity/extras/fixture/src/unity_fixture.h +0 -95
- package/external/libedhoc/externals/Unity/extras/fixture/src/unity_fixture_internals.h +0 -51
- package/external/libedhoc/externals/Unity/extras/fixture/test/main/AllTests.c +0 -20
- package/external/libedhoc/externals/Unity/extras/fixture/test/template_fixture_tests.c +0 -40
- package/external/libedhoc/externals/Unity/extras/fixture/test/unity_fixture_Test.c +0 -246
- package/external/libedhoc/externals/Unity/extras/fixture/test/unity_fixture_TestRunner.c +0 -33
- package/external/libedhoc/externals/Unity/extras/memory/src/unity_memory.c +0 -203
- package/external/libedhoc/externals/Unity/extras/memory/src/unity_memory.h +0 -61
- package/external/libedhoc/externals/Unity/extras/memory/test/unity_memory_Test.c +0 -326
- package/external/libedhoc/externals/Unity/extras/memory/test/unity_memory_TestRunner.c +0 -50
- package/external/libedhoc/externals/Unity/extras/memory/test/unity_output_Spy.c +0 -57
- package/external/libedhoc/externals/Unity/extras/memory/test/unity_output_Spy.h +0 -17
- package/external/libedhoc/externals/Unity/src/unity.c +0 -2501
- package/external/libedhoc/externals/Unity/src/unity.h +0 -698
- package/external/libedhoc/externals/Unity/src/unity_internals.h +0 -1183
- package/external/libedhoc/externals/Unity/test/expectdata/testsample_cmd.c +0 -61
- package/external/libedhoc/externals/Unity/test/expectdata/testsample_def.c +0 -57
- package/external/libedhoc/externals/Unity/test/expectdata/testsample_head1.c +0 -55
- package/external/libedhoc/externals/Unity/test/expectdata/testsample_head1.h +0 -15
- package/external/libedhoc/externals/Unity/test/expectdata/testsample_mock_cmd.c +0 -80
- package/external/libedhoc/externals/Unity/test/expectdata/testsample_mock_def.c +0 -76
- package/external/libedhoc/externals/Unity/test/expectdata/testsample_mock_head1.c +0 -75
- package/external/libedhoc/externals/Unity/test/expectdata/testsample_mock_head1.h +0 -13
- package/external/libedhoc/externals/Unity/test/expectdata/testsample_mock_new1.c +0 -89
- package/external/libedhoc/externals/Unity/test/expectdata/testsample_mock_new2.c +0 -89
- package/external/libedhoc/externals/Unity/test/expectdata/testsample_mock_param.c +0 -77
- package/external/libedhoc/externals/Unity/test/expectdata/testsample_mock_run1.c +0 -89
- package/external/libedhoc/externals/Unity/test/expectdata/testsample_mock_run2.c +0 -89
- package/external/libedhoc/externals/Unity/test/expectdata/testsample_mock_yaml.c +0 -90
- package/external/libedhoc/externals/Unity/test/expectdata/testsample_new1.c +0 -67
- package/external/libedhoc/externals/Unity/test/expectdata/testsample_new2.c +0 -70
- package/external/libedhoc/externals/Unity/test/expectdata/testsample_param.c +0 -58
- package/external/libedhoc/externals/Unity/test/expectdata/testsample_run1.c +0 -67
- package/external/libedhoc/externals/Unity/test/expectdata/testsample_run2.c +0 -70
- package/external/libedhoc/externals/Unity/test/expectdata/testsample_yaml.c +0 -71
- package/external/libedhoc/externals/Unity/test/testdata/CException.h +0 -18
- package/external/libedhoc/externals/Unity/test/testdata/Defs.h +0 -16
- package/external/libedhoc/externals/Unity/test/testdata/cmock.h +0 -21
- package/external/libedhoc/externals/Unity/test/testdata/mockMock.h +0 -20
- package/external/libedhoc/externals/Unity/test/testdata/testRunnerGenerator.c +0 -204
- package/external/libedhoc/externals/Unity/test/testdata/testRunnerGeneratorSmall.c +0 -73
- package/external/libedhoc/externals/Unity/test/testdata/testRunnerGeneratorWithMocks.c +0 -200
- package/external/libedhoc/externals/Unity/test/tests/self_assessment_utils.h +0 -151
- package/external/libedhoc/externals/Unity/test/tests/test_unity_arrays.c +0 -2941
- package/external/libedhoc/externals/Unity/test/tests/test_unity_core.c +0 -375
- package/external/libedhoc/externals/Unity/test/tests/test_unity_doubles.c +0 -1285
- package/external/libedhoc/externals/Unity/test/tests/test_unity_floats.c +0 -1395
- package/external/libedhoc/externals/Unity/test/tests/test_unity_integers.c +0 -2863
- package/external/libedhoc/externals/Unity/test/tests/test_unity_integers_64.c +0 -783
- package/external/libedhoc/externals/Unity/test/tests/test_unity_memory.c +0 -82
- package/external/libedhoc/externals/Unity/test/tests/test_unity_parameterized.c +0 -309
- package/external/libedhoc/externals/Unity/test/tests/test_unity_parameterizedDemo.c +0 -28
- package/external/libedhoc/externals/Unity/test/tests/test_unity_strings.c +0 -330
- package/external/libedhoc/externals/Unity/test/tests/types_for_test.h +0 -21
- package/external/libedhoc/externals/compact25519/src/c25519/c25519.c +0 -126
- package/external/libedhoc/externals/compact25519/src/c25519/c25519.h +0 -49
- package/external/libedhoc/externals/compact25519/src/c25519/ed25519.c +0 -323
- package/external/libedhoc/externals/compact25519/src/c25519/ed25519.h +0 -84
- package/external/libedhoc/externals/compact25519/src/c25519/edsign.c +0 -171
- package/external/libedhoc/externals/compact25519/src/c25519/edsign.h +0 -53
- package/external/libedhoc/externals/compact25519/src/c25519/f25519.c +0 -330
- package/external/libedhoc/externals/compact25519/src/c25519/f25519.h +0 -98
- package/external/libedhoc/externals/compact25519/src/c25519/fprime.c +0 -226
- package/external/libedhoc/externals/compact25519/src/c25519/fprime.h +0 -81
- package/external/libedhoc/externals/compact25519/src/c25519/sha512.c +0 -230
- package/external/libedhoc/externals/compact25519/src/c25519/sha512.h +0 -54
- package/external/libedhoc/externals/compact25519/src/compact_ed25519.c +0 -46
- package/external/libedhoc/externals/compact25519/src/compact_ed25519.h +0 -110
- package/external/libedhoc/externals/compact25519/src/compact_wipe.c +0 -12
- package/external/libedhoc/externals/compact25519/src/compact_wipe.h +0 -14
- package/external/libedhoc/externals/compact25519/src/compact_x25519.c +0 -68
- package/external/libedhoc/externals/compact25519/src/compact_x25519.h +0 -101
- package/external/libedhoc/externals/compact25519/test/pcg_random.h +0 -25
- package/external/libedhoc/externals/compact25519/test/run-all.c +0 -178
- package/external/libedhoc/externals/mbedtls/3rdparty/everest/include/everest/Hacl_Curve25519.h +0 -21
- package/external/libedhoc/externals/mbedtls/3rdparty/everest/include/everest/everest.h +0 -234
- package/external/libedhoc/externals/mbedtls/3rdparty/everest/include/everest/kremlib/FStar_UInt128.h +0 -124
- package/external/libedhoc/externals/mbedtls/3rdparty/everest/include/everest/kremlib/FStar_UInt64_FStar_UInt32_FStar_UInt16_FStar_UInt8.h +0 -280
- package/external/libedhoc/externals/mbedtls/3rdparty/everest/include/everest/kremlib.h +0 -29
- package/external/libedhoc/externals/mbedtls/3rdparty/everest/include/everest/kremlin/c_endianness.h +0 -204
- package/external/libedhoc/externals/mbedtls/3rdparty/everest/include/everest/kremlin/internal/builtin.h +0 -16
- package/external/libedhoc/externals/mbedtls/3rdparty/everest/include/everest/kremlin/internal/callconv.h +0 -46
- package/external/libedhoc/externals/mbedtls/3rdparty/everest/include/everest/kremlin/internal/compat.h +0 -34
- package/external/libedhoc/externals/mbedtls/3rdparty/everest/include/everest/kremlin/internal/debug.h +0 -57
- package/external/libedhoc/externals/mbedtls/3rdparty/everest/include/everest/kremlin/internal/target.h +0 -102
- package/external/libedhoc/externals/mbedtls/3rdparty/everest/include/everest/kremlin/internal/types.h +0 -61
- package/external/libedhoc/externals/mbedtls/3rdparty/everest/include/everest/kremlin/internal/wasmsupport.h +0 -5
- package/external/libedhoc/externals/mbedtls/3rdparty/everest/include/everest/vs2013/Hacl_Curve25519.h +0 -21
- package/external/libedhoc/externals/mbedtls/3rdparty/everest/include/everest/vs2013/inttypes.h +0 -36
- package/external/libedhoc/externals/mbedtls/3rdparty/everest/include/everest/vs2013/stdbool.h +0 -31
- package/external/libedhoc/externals/mbedtls/3rdparty/everest/include/everest/x25519.h +0 -190
- package/external/libedhoc/externals/mbedtls/3rdparty/everest/library/Hacl_Curve25519.c +0 -760
- package/external/libedhoc/externals/mbedtls/3rdparty/everest/library/Hacl_Curve25519_joined.c +0 -50
- package/external/libedhoc/externals/mbedtls/3rdparty/everest/library/everest.c +0 -102
- package/external/libedhoc/externals/mbedtls/3rdparty/everest/library/kremlib/FStar_UInt128_extracted.c +0 -413
- package/external/libedhoc/externals/mbedtls/3rdparty/everest/library/kremlib/FStar_UInt64_FStar_UInt32_FStar_UInt16_FStar_UInt8.c +0 -100
- package/external/libedhoc/externals/mbedtls/3rdparty/everest/library/legacy/Hacl_Curve25519.c +0 -805
- package/external/libedhoc/externals/mbedtls/3rdparty/everest/library/x25519.c +0 -186
- package/external/libedhoc/externals/mbedtls/3rdparty/p256-m/p256-m/p256-m.c +0 -1514
- package/external/libedhoc/externals/mbedtls/3rdparty/p256-m/p256-m/p256-m.h +0 -135
- package/external/libedhoc/externals/mbedtls/3rdparty/p256-m/p256-m_driver_entrypoints.c +0 -312
- package/external/libedhoc/externals/mbedtls/3rdparty/p256-m/p256-m_driver_entrypoints.h +0 -219
- package/external/libedhoc/externals/mbedtls/configs/config-ccm-psk-dtls1_2.h +0 -92
- package/external/libedhoc/externals/mbedtls/configs/config-ccm-psk-tls1_2.h +0 -83
- package/external/libedhoc/externals/mbedtls/configs/config-no-entropy.h +0 -73
- package/external/libedhoc/externals/mbedtls/configs/config-suite-b.h +0 -106
- package/external/libedhoc/externals/mbedtls/configs/config-symmetric-only.h +0 -77
- package/external/libedhoc/externals/mbedtls/configs/config-thread.h +0 -76
- package/external/libedhoc/externals/mbedtls/configs/crypto-config-ccm-aes-sha256.h +0 -25
- package/external/libedhoc/externals/mbedtls/configs/crypto_config_profile_medium.h +0 -136
- package/external/libedhoc/externals/mbedtls/configs/tfm_mbedcrypto_config_profile_medium.h +0 -609
- package/external/libedhoc/externals/mbedtls/doxygen/input/doc_encdec.h +0 -54
- package/external/libedhoc/externals/mbedtls/doxygen/input/doc_hashing.h +0 -30
- package/external/libedhoc/externals/mbedtls/doxygen/input/doc_mainpage.h +0 -19
- package/external/libedhoc/externals/mbedtls/doxygen/input/doc_rng.h +0 -27
- package/external/libedhoc/externals/mbedtls/doxygen/input/doc_ssltls.h +0 -37
- package/external/libedhoc/externals/mbedtls/doxygen/input/doc_tcpip.h +0 -32
- package/external/libedhoc/externals/mbedtls/doxygen/input/doc_x509.h +0 -31
- package/external/libedhoc/externals/mbedtls/include/mbedtls/aes.h +0 -627
- package/external/libedhoc/externals/mbedtls/include/mbedtls/aria.h +0 -341
- package/external/libedhoc/externals/mbedtls/include/mbedtls/asn1.h +0 -641
- package/external/libedhoc/externals/mbedtls/include/mbedtls/asn1write.h +0 -389
- package/external/libedhoc/externals/mbedtls/include/mbedtls/base64.h +0 -82
- package/external/libedhoc/externals/mbedtls/include/mbedtls/bignum.h +0 -1084
- package/external/libedhoc/externals/mbedtls/include/mbedtls/build_info.h +0 -146
- package/external/libedhoc/externals/mbedtls/include/mbedtls/camellia.h +0 -303
- package/external/libedhoc/externals/mbedtls/include/mbedtls/ccm.h +0 -518
- package/external/libedhoc/externals/mbedtls/include/mbedtls/chacha20.h +0 -202
- package/external/libedhoc/externals/mbedtls/include/mbedtls/chachapoly.h +0 -342
- package/external/libedhoc/externals/mbedtls/include/mbedtls/check_config.h +0 -1206
- package/external/libedhoc/externals/mbedtls/include/mbedtls/cipher.h +0 -1183
- package/external/libedhoc/externals/mbedtls/include/mbedtls/cmac.h +0 -246
- package/external/libedhoc/externals/mbedtls/include/mbedtls/compat-2.x.h +0 -46
- package/external/libedhoc/externals/mbedtls/include/mbedtls/config_adjust_legacy_crypto.h +0 -183
- package/external/libedhoc/externals/mbedtls/include/mbedtls/config_adjust_legacy_from_psa.h +0 -877
- package/external/libedhoc/externals/mbedtls/include/mbedtls/config_adjust_psa_from_legacy.h +0 -334
- package/external/libedhoc/externals/mbedtls/include/mbedtls/config_adjust_psa_superset_legacy.h +0 -142
- package/external/libedhoc/externals/mbedtls/include/mbedtls/config_adjust_ssl.h +0 -76
- package/external/libedhoc/externals/mbedtls/include/mbedtls/config_adjust_x509.h +0 -25
- package/external/libedhoc/externals/mbedtls/include/mbedtls/config_psa.h +0 -55
- package/external/libedhoc/externals/mbedtls/include/mbedtls/constant_time.h +0 -36
- package/external/libedhoc/externals/mbedtls/include/mbedtls/ctr_drbg.h +0 -564
- package/external/libedhoc/externals/mbedtls/include/mbedtls/debug.h +0 -308
- package/external/libedhoc/externals/mbedtls/include/mbedtls/des.h +0 -385
- package/external/libedhoc/externals/mbedtls/include/mbedtls/dhm.h +0 -972
- package/external/libedhoc/externals/mbedtls/include/mbedtls/ecdh.h +0 -441
- package/external/libedhoc/externals/mbedtls/include/mbedtls/ecdsa.h +0 -671
- package/external/libedhoc/externals/mbedtls/include/mbedtls/ecjpake.h +0 -298
- package/external/libedhoc/externals/mbedtls/include/mbedtls/ecp.h +0 -1362
- package/external/libedhoc/externals/mbedtls/include/mbedtls/entropy.h +0 -273
- package/external/libedhoc/externals/mbedtls/include/mbedtls/error.h +0 -201
- package/external/libedhoc/externals/mbedtls/include/mbedtls/gcm.h +0 -370
- package/external/libedhoc/externals/mbedtls/include/mbedtls/hkdf.h +0 -124
- package/external/libedhoc/externals/mbedtls/include/mbedtls/hmac_drbg.h +0 -434
- package/external/libedhoc/externals/mbedtls/include/mbedtls/lms.h +0 -440
- package/external/libedhoc/externals/mbedtls/include/mbedtls/mbedtls_config.h +0 -4116
- package/external/libedhoc/externals/mbedtls/include/mbedtls/md.h +0 -640
- package/external/libedhoc/externals/mbedtls/include/mbedtls/md5.h +0 -190
- package/external/libedhoc/externals/mbedtls/include/mbedtls/memory_buffer_alloc.h +0 -142
- package/external/libedhoc/externals/mbedtls/include/mbedtls/net_sockets.h +0 -299
- package/external/libedhoc/externals/mbedtls/include/mbedtls/nist_kw.h +0 -166
- package/external/libedhoc/externals/mbedtls/include/mbedtls/oid.h +0 -722
- package/external/libedhoc/externals/mbedtls/include/mbedtls/pem.h +0 -160
- package/external/libedhoc/externals/mbedtls/include/mbedtls/pk.h +0 -1091
- package/external/libedhoc/externals/mbedtls/include/mbedtls/pkcs12.h +0 -186
- package/external/libedhoc/externals/mbedtls/include/mbedtls/pkcs5.h +0 -197
- package/external/libedhoc/externals/mbedtls/include/mbedtls/pkcs7.h +0 -241
- package/external/libedhoc/externals/mbedtls/include/mbedtls/platform.h +0 -485
- package/external/libedhoc/externals/mbedtls/include/mbedtls/platform_time.h +0 -79
- package/external/libedhoc/externals/mbedtls/include/mbedtls/platform_util.h +0 -201
- package/external/libedhoc/externals/mbedtls/include/mbedtls/poly1305.h +0 -168
- package/external/libedhoc/externals/mbedtls/include/mbedtls/private_access.h +0 -20
- package/external/libedhoc/externals/mbedtls/include/mbedtls/psa_util.h +0 -104
- package/external/libedhoc/externals/mbedtls/include/mbedtls/ripemd160.h +0 -136
- package/external/libedhoc/externals/mbedtls/include/mbedtls/rsa.h +0 -1143
- package/external/libedhoc/externals/mbedtls/include/mbedtls/sha1.h +0 -219
- package/external/libedhoc/externals/mbedtls/include/mbedtls/sha256.h +0 -198
- package/external/libedhoc/externals/mbedtls/include/mbedtls/sha3.h +0 -172
- package/external/libedhoc/externals/mbedtls/include/mbedtls/sha512.h +0 -208
- package/external/libedhoc/externals/mbedtls/include/mbedtls/ssl.h +0 -5369
- package/external/libedhoc/externals/mbedtls/include/mbedtls/ssl_cache.h +0 -187
- package/external/libedhoc/externals/mbedtls/include/mbedtls/ssl_ciphersuites.h +0 -616
- package/external/libedhoc/externals/mbedtls/include/mbedtls/ssl_cookie.h +0 -106
- package/external/libedhoc/externals/mbedtls/include/mbedtls/ssl_ticket.h +0 -181
- package/external/libedhoc/externals/mbedtls/include/mbedtls/threading.h +0 -105
- package/external/libedhoc/externals/mbedtls/include/mbedtls/timing.h +0 -94
- package/external/libedhoc/externals/mbedtls/include/mbedtls/version.h +0 -78
- package/external/libedhoc/externals/mbedtls/include/mbedtls/x509.h +0 -550
- package/external/libedhoc/externals/mbedtls/include/mbedtls/x509_crl.h +0 -184
- package/external/libedhoc/externals/mbedtls/include/mbedtls/x509_crt.h +0 -1196
- package/external/libedhoc/externals/mbedtls/include/mbedtls/x509_csr.h +0 -319
- package/external/libedhoc/externals/mbedtls/include/psa/build_info.h +0 -20
- package/external/libedhoc/externals/mbedtls/include/psa/crypto.h +0 -4685
- package/external/libedhoc/externals/mbedtls/include/psa/crypto_adjust_auto_enabled.h +0 -21
- package/external/libedhoc/externals/mbedtls/include/psa/crypto_adjust_config_key_pair_types.h +0 -91
- package/external/libedhoc/externals/mbedtls/include/psa/crypto_adjust_config_synonyms.h +0 -45
- package/external/libedhoc/externals/mbedtls/include/psa/crypto_builtin_composites.h +0 -210
- package/external/libedhoc/externals/mbedtls/include/psa/crypto_builtin_key_derivation.h +0 -118
- package/external/libedhoc/externals/mbedtls/include/psa/crypto_builtin_primitives.h +0 -114
- package/external/libedhoc/externals/mbedtls/include/psa/crypto_compat.h +0 -153
- package/external/libedhoc/externals/mbedtls/include/psa/crypto_config.h +0 -153
- package/external/libedhoc/externals/mbedtls/include/psa/crypto_driver_common.h +0 -44
- package/external/libedhoc/externals/mbedtls/include/psa/crypto_driver_contexts_composites.h +0 -151
- package/external/libedhoc/externals/mbedtls/include/psa/crypto_driver_contexts_key_derivation.h +0 -52
- package/external/libedhoc/externals/mbedtls/include/psa/crypto_driver_contexts_primitives.h +0 -105
- package/external/libedhoc/externals/mbedtls/include/psa/crypto_extra.h +0 -2064
- package/external/libedhoc/externals/mbedtls/include/psa/crypto_legacy.h +0 -88
- package/external/libedhoc/externals/mbedtls/include/psa/crypto_platform.h +0 -92
- package/external/libedhoc/externals/mbedtls/include/psa/crypto_se_driver.h +0 -1383
- package/external/libedhoc/externals/mbedtls/include/psa/crypto_sizes.h +0 -1282
- package/external/libedhoc/externals/mbedtls/include/psa/crypto_struct.h +0 -460
- package/external/libedhoc/externals/mbedtls/include/psa/crypto_types.h +0 -453
- package/external/libedhoc/externals/mbedtls/include/psa/crypto_values.h +0 -2756
- package/external/libedhoc/externals/mbedtls/library/aes.c +0 -2315
- package/external/libedhoc/externals/mbedtls/library/aesce.c +0 -503
- package/external/libedhoc/externals/mbedtls/library/aesce.h +0 -121
- package/external/libedhoc/externals/mbedtls/library/aesni.c +0 -802
- package/external/libedhoc/externals/mbedtls/library/aesni.h +0 -158
- package/external/libedhoc/externals/mbedtls/library/alignment.h +0 -509
- package/external/libedhoc/externals/mbedtls/library/aria.c +0 -991
- package/external/libedhoc/externals/mbedtls/library/asn1parse.c +0 -467
- package/external/libedhoc/externals/mbedtls/library/asn1write.c +0 -436
- package/external/libedhoc/externals/mbedtls/library/base64.c +0 -299
- package/external/libedhoc/externals/mbedtls/library/base64_internal.h +0 -45
- package/external/libedhoc/externals/mbedtls/library/bignum.c +0 -2806
- package/external/libedhoc/externals/mbedtls/library/bignum_core.c +0 -894
- package/external/libedhoc/externals/mbedtls/library/bignum_core.h +0 -763
- package/external/libedhoc/externals/mbedtls/library/bignum_mod.c +0 -394
- package/external/libedhoc/externals/mbedtls/library/bignum_mod.h +0 -452
- package/external/libedhoc/externals/mbedtls/library/bignum_mod_raw.c +0 -276
- package/external/libedhoc/externals/mbedtls/library/bignum_mod_raw.h +0 -416
- package/external/libedhoc/externals/mbedtls/library/bignum_mod_raw_invasive.h +0 -34
- package/external/libedhoc/externals/mbedtls/library/bn_mul.h +0 -1094
- package/external/libedhoc/externals/mbedtls/library/camellia.c +0 -1044
- package/external/libedhoc/externals/mbedtls/library/ccm.c +0 -712
- package/external/libedhoc/externals/mbedtls/library/chacha20.c +0 -497
- package/external/libedhoc/externals/mbedtls/library/chachapoly.c +0 -478
- package/external/libedhoc/externals/mbedtls/library/check_crypto_config.h +0 -141
- package/external/libedhoc/externals/mbedtls/library/cipher.c +0 -1664
- package/external/libedhoc/externals/mbedtls/library/cipher_wrap.c +0 -2422
- package/external/libedhoc/externals/mbedtls/library/cipher_wrap.h +0 -132
- package/external/libedhoc/externals/mbedtls/library/cmac.c +0 -1067
- package/external/libedhoc/externals/mbedtls/library/common.h +0 -325
- package/external/libedhoc/externals/mbedtls/library/constant_time.c +0 -261
- package/external/libedhoc/externals/mbedtls/library/constant_time_impl.h +0 -554
- package/external/libedhoc/externals/mbedtls/library/constant_time_internal.h +0 -579
- package/external/libedhoc/externals/mbedtls/library/ctr_drbg.c +0 -881
- package/external/libedhoc/externals/mbedtls/library/debug.c +0 -465
- package/external/libedhoc/externals/mbedtls/library/des.c +0 -1042
- package/external/libedhoc/externals/mbedtls/library/dhm.c +0 -712
- package/external/libedhoc/externals/mbedtls/library/ecdh.c +0 -685
- package/external/libedhoc/externals/mbedtls/library/ecdsa.c +0 -867
- package/external/libedhoc/externals/mbedtls/library/ecjpake.c +0 -1216
- package/external/libedhoc/externals/mbedtls/library/ecp.c +0 -3631
- package/external/libedhoc/externals/mbedtls/library/ecp_curves.c +0 -5467
- package/external/libedhoc/externals/mbedtls/library/ecp_curves_new.c +0 -6043
- package/external/libedhoc/externals/mbedtls/library/ecp_internal_alt.h +0 -287
- package/external/libedhoc/externals/mbedtls/library/ecp_invasive.h +0 -325
- package/external/libedhoc/externals/mbedtls/library/entropy.c +0 -676
- package/external/libedhoc/externals/mbedtls/library/entropy_poll.c +0 -229
- package/external/libedhoc/externals/mbedtls/library/entropy_poll.h +0 -64
- package/external/libedhoc/externals/mbedtls/library/error.c +0 -878
- package/external/libedhoc/externals/mbedtls/library/gcm.c +0 -1168
- package/external/libedhoc/externals/mbedtls/library/hkdf.c +0 -161
- package/external/libedhoc/externals/mbedtls/library/hmac_drbg.c +0 -633
- package/external/libedhoc/externals/mbedtls/library/lmots.c +0 -821
- package/external/libedhoc/externals/mbedtls/library/lmots.h +0 -311
- package/external/libedhoc/externals/mbedtls/library/lms.c +0 -779
- package/external/libedhoc/externals/mbedtls/library/md.c +0 -1108
- package/external/libedhoc/externals/mbedtls/library/md5.c +0 -426
- package/external/libedhoc/externals/mbedtls/library/md_psa.h +0 -63
- package/external/libedhoc/externals/mbedtls/library/md_wrap.h +0 -46
- package/external/libedhoc/externals/mbedtls/library/memory_buffer_alloc.c +0 -745
- package/external/libedhoc/externals/mbedtls/library/mps_common.h +0 -181
- package/external/libedhoc/externals/mbedtls/library/mps_error.h +0 -89
- package/external/libedhoc/externals/mbedtls/library/mps_reader.c +0 -538
- package/external/libedhoc/externals/mbedtls/library/mps_reader.h +0 -366
- package/external/libedhoc/externals/mbedtls/library/mps_trace.c +0 -112
- package/external/libedhoc/externals/mbedtls/library/mps_trace.h +0 -154
- package/external/libedhoc/externals/mbedtls/library/net_sockets.c +0 -696
- package/external/libedhoc/externals/mbedtls/library/nist_kw.c +0 -725
- package/external/libedhoc/externals/mbedtls/library/oid.c +0 -1154
- package/external/libedhoc/externals/mbedtls/library/padlock.c +0 -155
- package/external/libedhoc/externals/mbedtls/library/padlock.h +0 -111
- package/external/libedhoc/externals/mbedtls/library/pem.c +0 -520
- package/external/libedhoc/externals/mbedtls/library/pk.c +0 -970
- package/external/libedhoc/externals/mbedtls/library/pk_internal.h +0 -118
- package/external/libedhoc/externals/mbedtls/library/pk_wrap.c +0 -1834
- package/external/libedhoc/externals/mbedtls/library/pk_wrap.h +0 -156
- package/external/libedhoc/externals/mbedtls/library/pkcs12.c +0 -447
- package/external/libedhoc/externals/mbedtls/library/pkcs5.c +0 -496
- package/external/libedhoc/externals/mbedtls/library/pkcs7.c +0 -773
- package/external/libedhoc/externals/mbedtls/library/pkparse.c +0 -1845
- package/external/libedhoc/externals/mbedtls/library/pkwrite.c +0 -836
- package/external/libedhoc/externals/mbedtls/library/pkwrite.h +0 -112
- package/external/libedhoc/externals/mbedtls/library/platform.c +0 -402
- package/external/libedhoc/externals/mbedtls/library/platform_util.c +0 -285
- package/external/libedhoc/externals/mbedtls/library/poly1305.c +0 -492
- package/external/libedhoc/externals/mbedtls/library/psa_crypto.c +0 -8432
- package/external/libedhoc/externals/mbedtls/library/psa_crypto_aead.c +0 -653
- package/external/libedhoc/externals/mbedtls/library/psa_crypto_aead.h +0 -499
- package/external/libedhoc/externals/mbedtls/library/psa_crypto_cipher.c +0 -590
- package/external/libedhoc/externals/mbedtls/library/psa_crypto_cipher.h +0 -293
- package/external/libedhoc/externals/mbedtls/library/psa_crypto_client.c +0 -67
- package/external/libedhoc/externals/mbedtls/library/psa_crypto_core.h +0 -838
- package/external/libedhoc/externals/mbedtls/library/psa_crypto_core_common.h +0 -52
- package/external/libedhoc/externals/mbedtls/library/psa_crypto_driver_wrappers.h +0 -2871
- package/external/libedhoc/externals/mbedtls/library/psa_crypto_driver_wrappers_no_static.c +0 -256
- package/external/libedhoc/externals/mbedtls/library/psa_crypto_driver_wrappers_no_static.h +0 -31
- package/external/libedhoc/externals/mbedtls/library/psa_crypto_ecp.c +0 -561
- package/external/libedhoc/externals/mbedtls/library/psa_crypto_ecp.h +0 -267
- package/external/libedhoc/externals/mbedtls/library/psa_crypto_ffdh.c +0 -295
- package/external/libedhoc/externals/mbedtls/library/psa_crypto_ffdh.h +0 -132
- package/external/libedhoc/externals/mbedtls/library/psa_crypto_hash.c +0 -470
- package/external/libedhoc/externals/mbedtls/library/psa_crypto_hash.h +0 -211
- package/external/libedhoc/externals/mbedtls/library/psa_crypto_invasive.h +0 -70
- package/external/libedhoc/externals/mbedtls/library/psa_crypto_its.h +0 -131
- package/external/libedhoc/externals/mbedtls/library/psa_crypto_mac.c +0 -496
- package/external/libedhoc/externals/mbedtls/library/psa_crypto_mac.h +0 -264
- package/external/libedhoc/externals/mbedtls/library/psa_crypto_pake.c +0 -571
- package/external/libedhoc/externals/mbedtls/library/psa_crypto_pake.h +0 -159
- package/external/libedhoc/externals/mbedtls/library/psa_crypto_random_impl.h +0 -192
- package/external/libedhoc/externals/mbedtls/library/psa_crypto_rsa.c +0 -727
- package/external/libedhoc/externals/mbedtls/library/psa_crypto_rsa.h +0 -317
- package/external/libedhoc/externals/mbedtls/library/psa_crypto_se.c +0 -373
- package/external/libedhoc/externals/mbedtls/library/psa_crypto_se.h +0 -185
- package/external/libedhoc/externals/mbedtls/library/psa_crypto_slot_management.c +0 -559
- package/external/libedhoc/externals/mbedtls/library/psa_crypto_slot_management.h +0 -213
- package/external/libedhoc/externals/mbedtls/library/psa_crypto_storage.c +0 -481
- package/external/libedhoc/externals/mbedtls/library/psa_crypto_storage.h +0 -384
- package/external/libedhoc/externals/mbedtls/library/psa_its_file.c +0 -259
- package/external/libedhoc/externals/mbedtls/library/psa_util.c +0 -160
- package/external/libedhoc/externals/mbedtls/library/psa_util_internal.h +0 -96
- package/external/libedhoc/externals/mbedtls/library/ripemd160.c +0 -490
- package/external/libedhoc/externals/mbedtls/library/rsa.c +0 -2640
- package/external/libedhoc/externals/mbedtls/library/rsa_alt_helpers.c +0 -447
- package/external/libedhoc/externals/mbedtls/library/rsa_alt_helpers.h +0 -208
- package/external/libedhoc/externals/mbedtls/library/sha1.c +0 -480
- package/external/libedhoc/externals/mbedtls/library/sha256.c +0 -946
- package/external/libedhoc/externals/mbedtls/library/sha3.c +0 -626
- package/external/libedhoc/externals/mbedtls/library/sha512.c +0 -1111
- package/external/libedhoc/externals/mbedtls/library/ssl_cache.c +0 -410
- package/external/libedhoc/externals/mbedtls/library/ssl_ciphersuites.c +0 -2050
- package/external/libedhoc/externals/mbedtls/library/ssl_client.c +0 -1017
- package/external/libedhoc/externals/mbedtls/library/ssl_client.h +0 -22
- package/external/libedhoc/externals/mbedtls/library/ssl_cookie.c +0 -380
- package/external/libedhoc/externals/mbedtls/library/ssl_debug_helpers.h +0 -78
- package/external/libedhoc/externals/mbedtls/library/ssl_debug_helpers_generated.c +0 -234
- package/external/libedhoc/externals/mbedtls/library/ssl_misc.h +0 -2847
- package/external/libedhoc/externals/mbedtls/library/ssl_msg.c +0 -6155
- package/external/libedhoc/externals/mbedtls/library/ssl_ticket.c +0 -540
- package/external/libedhoc/externals/mbedtls/library/ssl_tls.c +0 -9577
- package/external/libedhoc/externals/mbedtls/library/ssl_tls12_client.c +0 -3607
- package/external/libedhoc/externals/mbedtls/library/ssl_tls12_server.c +0 -4403
- package/external/libedhoc/externals/mbedtls/library/ssl_tls13_client.c +0 -3046
- package/external/libedhoc/externals/mbedtls/library/ssl_tls13_generic.c +0 -1740
- package/external/libedhoc/externals/mbedtls/library/ssl_tls13_invasive.h +0 -23
- package/external/libedhoc/externals/mbedtls/library/ssl_tls13_keys.c +0 -1897
- package/external/libedhoc/externals/mbedtls/library/ssl_tls13_keys.h +0 -651
- package/external/libedhoc/externals/mbedtls/library/ssl_tls13_server.c +0 -3146
- package/external/libedhoc/externals/mbedtls/library/threading.c +0 -181
- package/external/libedhoc/externals/mbedtls/library/timing.c +0 -154
- package/external/libedhoc/externals/mbedtls/library/version.c +0 -32
- package/external/libedhoc/externals/mbedtls/library/version_features.c +0 -826
- package/external/libedhoc/externals/mbedtls/library/x509.c +0 -1776
- package/external/libedhoc/externals/mbedtls/library/x509_create.c +0 -557
- package/external/libedhoc/externals/mbedtls/library/x509_crl.c +0 -712
- package/external/libedhoc/externals/mbedtls/library/x509_crt.c +0 -3292
- package/external/libedhoc/externals/mbedtls/library/x509_csr.c +0 -574
- package/external/libedhoc/externals/mbedtls/library/x509write.c +0 -174
- package/external/libedhoc/externals/mbedtls/library/x509write_crt.c +0 -681
- package/external/libedhoc/externals/mbedtls/library/x509write_csr.c +0 -331
- package/external/libedhoc/externals/mbedtls/programs/aes/crypt_and_hash.c +0 -573
- package/external/libedhoc/externals/mbedtls/programs/cipher/cipher_aead_demo.c +0 -259
- package/external/libedhoc/externals/mbedtls/programs/fuzz/common.c +0 -105
- package/external/libedhoc/externals/mbedtls/programs/fuzz/common.h +0 -25
- package/external/libedhoc/externals/mbedtls/programs/fuzz/fuzz_client.c +0 -195
- package/external/libedhoc/externals/mbedtls/programs/fuzz/fuzz_dtlsclient.c +0 -138
- package/external/libedhoc/externals/mbedtls/programs/fuzz/fuzz_dtlsserver.c +0 -183
- package/external/libedhoc/externals/mbedtls/programs/fuzz/fuzz_pkcs7.c +0 -20
- package/external/libedhoc/externals/mbedtls/programs/fuzz/fuzz_privkey.c +0 -106
- package/external/libedhoc/externals/mbedtls/programs/fuzz/fuzz_pubkey.c +0 -86
- package/external/libedhoc/externals/mbedtls/programs/fuzz/fuzz_server.c +0 -218
- package/external/libedhoc/externals/mbedtls/programs/fuzz/fuzz_x509crl.c +0 -41
- package/external/libedhoc/externals/mbedtls/programs/fuzz/fuzz_x509crt.c +0 -41
- package/external/libedhoc/externals/mbedtls/programs/fuzz/fuzz_x509csr.c +0 -41
- package/external/libedhoc/externals/mbedtls/programs/fuzz/onefile.c +0 -69
- package/external/libedhoc/externals/mbedtls/programs/hash/generic_sum.c +0 -209
- package/external/libedhoc/externals/mbedtls/programs/hash/hello.c +0 -45
- package/external/libedhoc/externals/mbedtls/programs/hash/md_hmac_demo.c +0 -136
- package/external/libedhoc/externals/mbedtls/programs/pkey/dh_client.c +0 -274
- package/external/libedhoc/externals/mbedtls/programs/pkey/dh_genprime.c +0 -161
- package/external/libedhoc/externals/mbedtls/programs/pkey/dh_server.c +0 -296
- package/external/libedhoc/externals/mbedtls/programs/pkey/ecdh_curve25519.c +0 -189
- package/external/libedhoc/externals/mbedtls/programs/pkey/ecdsa.c +0 -217
- package/external/libedhoc/externals/mbedtls/programs/pkey/gen_key.c +0 -419
- package/external/libedhoc/externals/mbedtls/programs/pkey/key_app.c +0 -316
- package/external/libedhoc/externals/mbedtls/programs/pkey/key_app_writer.c +0 -435
- package/external/libedhoc/externals/mbedtls/programs/pkey/mpi_demo.c +0 -84
- package/external/libedhoc/externals/mbedtls/programs/pkey/pk_decrypt.c +0 -153
- package/external/libedhoc/externals/mbedtls/programs/pkey/pk_encrypt.c +0 -154
- package/external/libedhoc/externals/mbedtls/programs/pkey/pk_sign.c +0 -155
- package/external/libedhoc/externals/mbedtls/programs/pkey/pk_verify.c +0 -128
- package/external/libedhoc/externals/mbedtls/programs/pkey/rsa_decrypt.c +0 -172
- package/external/libedhoc/externals/mbedtls/programs/pkey/rsa_encrypt.c +0 -149
- package/external/libedhoc/externals/mbedtls/programs/pkey/rsa_genkey.c +0 -141
- package/external/libedhoc/externals/mbedtls/programs/pkey/rsa_sign.c +0 -155
- package/external/libedhoc/externals/mbedtls/programs/pkey/rsa_sign_pss.c +0 -161
- package/external/libedhoc/externals/mbedtls/programs/pkey/rsa_verify.c +0 -131
- package/external/libedhoc/externals/mbedtls/programs/pkey/rsa_verify_pss.c +0 -136
- package/external/libedhoc/externals/mbedtls/programs/psa/aead_demo.c +0 -281
- package/external/libedhoc/externals/mbedtls/programs/psa/crypto_examples.c +0 -321
- package/external/libedhoc/externals/mbedtls/programs/psa/hmac_demo.c +0 -159
- package/external/libedhoc/externals/mbedtls/programs/psa/key_ladder_demo.c +0 -691
- package/external/libedhoc/externals/mbedtls/programs/psa/psa_constant_names.c +0 -310
- package/external/libedhoc/externals/mbedtls/programs/psa/psa_constant_names_generated.c +0 -474
- package/external/libedhoc/externals/mbedtls/programs/random/gen_entropy.c +0 -75
- package/external/libedhoc/externals/mbedtls/programs/random/gen_random_ctr_drbg.c +0 -107
- package/external/libedhoc/externals/mbedtls/programs/ssl/dtls_client.c +0 -342
- package/external/libedhoc/externals/mbedtls/programs/ssl/dtls_server.c +0 -408
- package/external/libedhoc/externals/mbedtls/programs/ssl/mini_client.c +0 -274
- package/external/libedhoc/externals/mbedtls/programs/ssl/ssl_client1.c +0 -288
- package/external/libedhoc/externals/mbedtls/programs/ssl/ssl_client2.c +0 -3118
- package/external/libedhoc/externals/mbedtls/programs/ssl/ssl_context_info.c +0 -1009
- package/external/libedhoc/externals/mbedtls/programs/ssl/ssl_fork_server.c +0 -381
- package/external/libedhoc/externals/mbedtls/programs/ssl/ssl_mail_client.c +0 -804
- package/external/libedhoc/externals/mbedtls/programs/ssl/ssl_pthread_server.c +0 -489
- package/external/libedhoc/externals/mbedtls/programs/ssl/ssl_server.c +0 -362
- package/external/libedhoc/externals/mbedtls/programs/ssl/ssl_server2.c +0 -4268
- package/external/libedhoc/externals/mbedtls/programs/ssl/ssl_test_common_source.c +0 -375
- package/external/libedhoc/externals/mbedtls/programs/ssl/ssl_test_lib.c +0 -601
- package/external/libedhoc/externals/mbedtls/programs/ssl/ssl_test_lib.h +0 -306
- package/external/libedhoc/externals/mbedtls/programs/test/benchmark.c +0 -1284
- package/external/libedhoc/externals/mbedtls/programs/test/cmake_package/cmake_package.c +0 -27
- package/external/libedhoc/externals/mbedtls/programs/test/cmake_package_install/cmake_package_install.c +0 -28
- package/external/libedhoc/externals/mbedtls/programs/test/cmake_subproject/cmake_subproject.c +0 -28
- package/external/libedhoc/externals/mbedtls/programs/test/dlopen.c +0 -92
- package/external/libedhoc/externals/mbedtls/programs/test/query_compile_time_config.c +0 -66
- package/external/libedhoc/externals/mbedtls/programs/test/query_config.c +0 -5137
- package/external/libedhoc/externals/mbedtls/programs/test/query_config.h +0 -34
- package/external/libedhoc/externals/mbedtls/programs/test/query_included_headers.c +0 -29
- package/external/libedhoc/externals/mbedtls/programs/test/selftest.c +0 -583
- package/external/libedhoc/externals/mbedtls/programs/test/udp_proxy.c +0 -967
- package/external/libedhoc/externals/mbedtls/programs/test/zeroize.c +0 -72
- package/external/libedhoc/externals/mbedtls/programs/util/pem2der.c +0 -265
- package/external/libedhoc/externals/mbedtls/programs/util/strerror.c +0 -61
- package/external/libedhoc/externals/mbedtls/programs/wince_main.c +0 -31
- package/external/libedhoc/externals/mbedtls/programs/x509/cert_app.c +0 -456
- package/external/libedhoc/externals/mbedtls/programs/x509/cert_req.c +0 -509
- package/external/libedhoc/externals/mbedtls/programs/x509/cert_write.c +0 -1012
- package/external/libedhoc/externals/mbedtls/programs/x509/crl_app.c +0 -132
- package/external/libedhoc/externals/mbedtls/programs/x509/load_roots.c +0 -165
- package/external/libedhoc/externals/mbedtls/programs/x509/req_app.c +0 -132
- package/external/libedhoc/externals/mbedtls/tests/configs/tls13-only.h +0 -31
- package/external/libedhoc/externals/mbedtls/tests/configs/user-config-for-test.h +0 -89
- package/external/libedhoc/externals/mbedtls/tests/configs/user-config-malloc-0-null.h +0 -22
- package/external/libedhoc/externals/mbedtls/tests/configs/user-config-zeroize-memset.h +0 -17
- package/external/libedhoc/externals/mbedtls/tests/include/alt-dummy/aes_alt.h +0 -23
- package/external/libedhoc/externals/mbedtls/tests/include/alt-dummy/aria_alt.h +0 -16
- package/external/libedhoc/externals/mbedtls/tests/include/alt-dummy/camellia_alt.h +0 -16
- package/external/libedhoc/externals/mbedtls/tests/include/alt-dummy/ccm_alt.h +0 -16
- package/external/libedhoc/externals/mbedtls/tests/include/alt-dummy/chacha20_alt.h +0 -16
- package/external/libedhoc/externals/mbedtls/tests/include/alt-dummy/chachapoly_alt.h +0 -18
- package/external/libedhoc/externals/mbedtls/tests/include/alt-dummy/cmac_alt.h +0 -15
- package/external/libedhoc/externals/mbedtls/tests/include/alt-dummy/des_alt.h +0 -22
- package/external/libedhoc/externals/mbedtls/tests/include/alt-dummy/dhm_alt.h +0 -16
- package/external/libedhoc/externals/mbedtls/tests/include/alt-dummy/ecjpake_alt.h +0 -15
- package/external/libedhoc/externals/mbedtls/tests/include/alt-dummy/ecp_alt.h +0 -22
- package/external/libedhoc/externals/mbedtls/tests/include/alt-dummy/gcm_alt.h +0 -16
- package/external/libedhoc/externals/mbedtls/tests/include/alt-dummy/md5_alt.h +0 -16
- package/external/libedhoc/externals/mbedtls/tests/include/alt-dummy/nist_kw_alt.h +0 -15
- package/external/libedhoc/externals/mbedtls/tests/include/alt-dummy/platform_alt.h +0 -16
- package/external/libedhoc/externals/mbedtls/tests/include/alt-dummy/poly1305_alt.h +0 -16
- package/external/libedhoc/externals/mbedtls/tests/include/alt-dummy/ripemd160_alt.h +0 -16
- package/external/libedhoc/externals/mbedtls/tests/include/alt-dummy/rsa_alt.h +0 -16
- package/external/libedhoc/externals/mbedtls/tests/include/alt-dummy/sha1_alt.h +0 -16
- package/external/libedhoc/externals/mbedtls/tests/include/alt-dummy/sha256_alt.h +0 -16
- package/external/libedhoc/externals/mbedtls/tests/include/alt-dummy/sha512_alt.h +0 -16
- package/external/libedhoc/externals/mbedtls/tests/include/alt-dummy/threading_alt.h +0 -14
- package/external/libedhoc/externals/mbedtls/tests/include/alt-dummy/timing_alt.h +0 -19
- package/external/libedhoc/externals/mbedtls/tests/include/alt-extra/psa/crypto.h +0 -7
- package/external/libedhoc/externals/mbedtls/tests/include/baremetal-override/time.h +0 -6
- package/external/libedhoc/externals/mbedtls/tests/include/spe/crypto_spe.h +0 -131
- package/external/libedhoc/externals/mbedtls/tests/include/test/arguments.h +0 -26
- package/external/libedhoc/externals/mbedtls/tests/include/test/asn1_helpers.h +0 -38
- package/external/libedhoc/externals/mbedtls/tests/include/test/bignum_helpers.h +0 -106
- package/external/libedhoc/externals/mbedtls/tests/include/test/certs.h +0 -234
- package/external/libedhoc/externals/mbedtls/tests/include/test/constant_flow.h +0 -71
- package/external/libedhoc/externals/mbedtls/tests/include/test/drivers/aead.h +0 -121
- package/external/libedhoc/externals/mbedtls/tests/include/test/drivers/asymmetric_encryption.h +0 -67
- package/external/libedhoc/externals/mbedtls/tests/include/test/drivers/cipher.h +0 -130
- package/external/libedhoc/externals/mbedtls/tests/include/test/drivers/config_test_driver.h +0 -44
- package/external/libedhoc/externals/mbedtls/tests/include/test/drivers/crypto_config_test_driver_extension.h +0 -430
- package/external/libedhoc/externals/mbedtls/tests/include/test/drivers/hash.h +0 -64
- package/external/libedhoc/externals/mbedtls/tests/include/test/drivers/key_agreement.h +0 -62
- package/external/libedhoc/externals/mbedtls/tests/include/test/drivers/key_management.h +0 -123
- package/external/libedhoc/externals/mbedtls/tests/include/test/drivers/mac.h +0 -125
- package/external/libedhoc/externals/mbedtls/tests/include/test/drivers/pake.h +0 -75
- package/external/libedhoc/externals/mbedtls/tests/include/test/drivers/signature.h +0 -112
- package/external/libedhoc/externals/mbedtls/tests/include/test/drivers/test_driver.h +0 -32
- package/external/libedhoc/externals/mbedtls/tests/include/test/fake_external_rng_for_test.h +0 -40
- package/external/libedhoc/externals/mbedtls/tests/include/test/helpers.h +0 -268
- package/external/libedhoc/externals/mbedtls/tests/include/test/macros.h +0 -250
- package/external/libedhoc/externals/mbedtls/tests/include/test/psa_crypto_helpers.h +0 -398
- package/external/libedhoc/externals/mbedtls/tests/include/test/psa_exercise_key.h +0 -223
- package/external/libedhoc/externals/mbedtls/tests/include/test/psa_helpers.h +0 -24
- package/external/libedhoc/externals/mbedtls/tests/include/test/random.h +0 -91
- package/external/libedhoc/externals/mbedtls/tests/include/test/ssl_helpers.h +0 -628
- package/external/libedhoc/externals/mbedtls/tests/src/asn1_helpers.c +0 -62
- package/external/libedhoc/externals/mbedtls/tests/src/bignum_helpers.c +0 -145
- package/external/libedhoc/externals/mbedtls/tests/src/certs.c +0 -480
- package/external/libedhoc/externals/mbedtls/tests/src/drivers/hash.c +0 -199
- package/external/libedhoc/externals/mbedtls/tests/src/drivers/platform_builtin_keys.c +0 -78
- package/external/libedhoc/externals/mbedtls/tests/src/drivers/test_driver_aead.c +0 -462
- package/external/libedhoc/externals/mbedtls/tests/src/drivers/test_driver_asymmetric_encryption.c +0 -151
- package/external/libedhoc/externals/mbedtls/tests/src/drivers/test_driver_cipher.c +0 -424
- package/external/libedhoc/externals/mbedtls/tests/src/drivers/test_driver_key_agreement.c +0 -147
- package/external/libedhoc/externals/mbedtls/tests/src/drivers/test_driver_key_management.c +0 -783
- package/external/libedhoc/externals/mbedtls/tests/src/drivers/test_driver_mac.c +0 -422
- package/external/libedhoc/externals/mbedtls/tests/src/drivers/test_driver_pake.c +0 -202
- package/external/libedhoc/externals/mbedtls/tests/src/drivers/test_driver_signature.c +0 -405
- package/external/libedhoc/externals/mbedtls/tests/src/fake_external_rng_for_test.c +0 -45
- package/external/libedhoc/externals/mbedtls/tests/src/helpers.c +0 -353
- package/external/libedhoc/externals/mbedtls/tests/src/psa_crypto_helpers.c +0 -196
- package/external/libedhoc/externals/mbedtls/tests/src/psa_exercise_key.c +0 -989
- package/external/libedhoc/externals/mbedtls/tests/src/random.c +0 -136
- package/external/libedhoc/externals/mbedtls/tests/src/test_certs.h +0 -1226
- package/external/libedhoc/externals/mbedtls/tests/src/test_helpers/ssl_helpers.c +0 -2292
- package/external/libedhoc/externals/mbedtls/tests/src/threading_helpers.c +0 -210
- package/external/libedhoc/externals/zcbor/include/zcbor_common.h +0 -509
- package/external/libedhoc/externals/zcbor/include/zcbor_decode.h +0 -447
- package/external/libedhoc/externals/zcbor/include/zcbor_encode.h +0 -240
- package/external/libedhoc/externals/zcbor/include/zcbor_print.h +0 -165
- package/external/libedhoc/externals/zcbor/include/zcbor_tags.h +0 -94
- package/external/libedhoc/externals/zcbor/samples/hello_world/src/main.c +0 -41
- package/external/libedhoc/externals/zcbor/samples/pet/include/pet_decode.h +0 -39
- package/external/libedhoc/externals/zcbor/samples/pet/include/pet_encode.h +0 -39
- package/external/libedhoc/externals/zcbor/samples/pet/include/pet_types.h +0 -47
- package/external/libedhoc/externals/zcbor/samples/pet/src/main.c +0 -128
- package/external/libedhoc/externals/zcbor/samples/pet/src/pet_decode.c +0 -60
- package/external/libedhoc/externals/zcbor/samples/pet/src/pet_encode.c +0 -61
- package/external/libedhoc/externals/zcbor/src/zcbor_common.c +0 -430
- package/external/libedhoc/externals/zcbor/src/zcbor_decode.c +0 -1567
- package/external/libedhoc/externals/zcbor/src/zcbor_encode.c +0 -609
- package/external/libedhoc/externals/zcbor/tests/decode/test1_suit_old_formats/src/main.c +0 -367
- package/external/libedhoc/externals/zcbor/tests/decode/test2_suit/src/main.c +0 -189
- package/external/libedhoc/externals/zcbor/tests/decode/test3_simple/src/main.c +0 -528
- package/external/libedhoc/externals/zcbor/tests/decode/test5_corner_cases/src/main.c +0 -2154
- package/external/libedhoc/externals/zcbor/tests/decode/test7_suit9_simple/src/main.c +0 -134
- package/external/libedhoc/externals/zcbor/tests/decode/test8_suit12/src/main.c +0 -862
- package/external/libedhoc/externals/zcbor/tests/decode/test9_manifest14/src/main.c +0 -363
- package/external/libedhoc/externals/zcbor/tests/encode/test1_suit/src/main.c +0 -453
- package/external/libedhoc/externals/zcbor/tests/encode/test2_simple/src/main.c +0 -122
- package/external/libedhoc/externals/zcbor/tests/encode/test3_corner_cases/src/main.c +0 -1554
- package/external/libedhoc/externals/zcbor/tests/encode/test4_senml/src/main.c +0 -65
- package/external/libedhoc/externals/zcbor/tests/fuzz/fuzz_everything.c +0 -12
- package/external/libedhoc/externals/zcbor/tests/fuzz/fuzz_manifest12.c +0 -136
- package/external/libedhoc/externals/zcbor/tests/fuzz/fuzz_pet.c +0 -12
- package/external/libedhoc/externals/zcbor/tests/fuzz/main_entry.c +0 -60
- package/external/libedhoc/externals/zcbor/tests/fuzz/main_entry.h +0 -5
- package/external/libedhoc/externals/zcbor/tests/unit/test1_unit_tests/src/main.c +0 -1437
- package/external/libedhoc/externals/zcbor/tests/unit/test3_float16/src/main.c +0 -203
- package/external/libedhoc/include/edhoc.h +0 -687
- package/external/libedhoc/include/edhoc_common.h +0 -289
- package/external/libedhoc/include/edhoc_context.h +0 -343
- package/external/libedhoc/include/edhoc_credentials.h +0 -265
- package/external/libedhoc/include/edhoc_crypto.h +0 -331
- package/external/libedhoc/include/edhoc_ead.h +0 -102
- package/external/libedhoc/include/edhoc_macros.h +0 -60
- package/external/libedhoc/include/edhoc_values.h +0 -181
- package/external/libedhoc/library/edhoc.c +0 -253
- package/external/libedhoc/library/edhoc_common.c +0 -1314
- package/external/libedhoc/library/edhoc_exporter.c +0 -542
- package/external/libedhoc/library/edhoc_message_1.c +0 -474
- package/external/libedhoc/library/edhoc_message_2.c +0 -1697
- package/external/libedhoc/library/edhoc_message_3.c +0 -1467
- package/external/libedhoc/library/edhoc_message_4.c +0 -828
- package/external/libedhoc/library/edhoc_message_error.c +0 -238
- package/external/libedhoc/tests/include/cipher_suite_0.h +0 -131
- package/external/libedhoc/tests/include/cipher_suite_2.h +0 -139
- package/external/libedhoc/tests/include/test_vector_rfc9529_chapter_2.h +0 -786
- package/external/libedhoc/tests/include/test_vector_rfc9529_chapter_3.h +0 -529
- package/external/libedhoc/tests/include/test_vector_x5chain_sign_keys_suite_0.h +0 -137
- package/external/libedhoc/tests/include/test_vector_x5chain_sign_keys_suite_2.h +0 -168
- package/external/libedhoc/tests/include/test_vector_x5chain_static_dh_keys_suite_2.h +0 -162
- package/external/libedhoc/tests/include/test_vector_x5t_sign_keys_suite_2.h +0 -180
- package/external/libedhoc/tests/src/cipher_suite_0.c +0 -445
- package/external/libedhoc/tests/src/cipher_suite_2.c +0 -600
- package/external/libedhoc/tests/src/module_test_api.c +0 -430
- package/external/libedhoc/tests/src/module_test_cipher_suite_0.c +0 -395
- package/external/libedhoc/tests/src/module_test_cipher_suite_2.c +0 -392
- package/external/libedhoc/tests/src/module_test_error_message.c +0 -251
- package/external/libedhoc/tests/src/module_test_main.c +0 -49
- package/external/libedhoc/tests/src/module_test_rfc9528_suites_negotiation.c +0 -541
- package/external/libedhoc/tests/src/module_test_rfc9529_chapter_2.c +0 -2681
- package/external/libedhoc/tests/src/module_test_rfc9529_chapter_3.c +0 -1635
- package/external/libedhoc/tests/src/module_test_x5chain_sign_keys_suite_0.c +0 -1135
- package/external/libedhoc/tests/src/module_test_x5chain_sign_keys_suite_2.c +0 -1249
- package/external/libedhoc/tests/src/module_test_x5chain_static_dh_keys_suite_2.c +0 -798
- package/external/libedhoc/tests/src/module_test_x5t_sign_keys_suite_2.c +0 -956
- package/include/Binding.h +0 -348
- package/include/EdhocComposeAsyncWorker.h +0 -49
- package/include/EdhocCredentialManager.h +0 -89
- package/include/EdhocCryptoManager.h +0 -495
- package/include/EdhocEadManager.h +0 -147
- package/include/EdhocExportOscoreAsyncWorker.h +0 -57
- package/include/EdhocKeyExporterAsyncWorker.h +0 -56
- package/include/EdhocKeyUpdateAsyncWorker.h +0 -55
- package/include/EdhocProcessAsyncWorker.h +0 -55
- package/include/RunningContext.h +0 -102
- package/include/Suites.h +0 -27
- package/include/Utils.h +0 -71
- package/patches/prebuildify-cross+5.1.0.dev.patch +0 -26
- package/patches/prebuildify-cross+5.1.1.dev.patch +0 -26
- 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/Binding.cpp +0 -434
- package/src/EdhocComposeAsyncWorker.cpp +0 -60
- package/src/EdhocCredentialManager.cpp +0 -314
- package/src/EdhocCryptoManager.cpp +0 -593
- package/src/EdhocEadManager.cpp +0 -148
- package/src/EdhocExportOscoreAsyncWorker.cpp +0 -67
- package/src/EdhocKeyExporterAsyncWorker.cpp +0 -39
- package/src/EdhocKeyUpdateAsyncWorker.cpp +0 -31
- package/src/EdhocProcessAsyncWorker.cpp +0 -120
- package/src/RunningContext.cpp +0 -95
- package/src/Suites.cpp +0 -120
- package/src/Utils.cpp +0 -54
- package/test/basic.test.ts +0 -118
- package/test/vectors.test.ts +0 -111
|
@@ -1,1314 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* \file edhoc_common.c
|
|
3
|
-
* \author Kamil Kielbasa
|
|
4
|
-
* \brief EDHOC common implementations:
|
|
5
|
-
* - CBOR utilities.
|
|
6
|
-
* - MAC context.
|
|
7
|
-
* - MAC & Signature_or_MAC.
|
|
8
|
-
* \version 0.6
|
|
9
|
-
* \date 2024-08-05
|
|
10
|
-
*
|
|
11
|
-
* \copyright Copyright (c) 2024
|
|
12
|
-
*
|
|
13
|
-
*/
|
|
14
|
-
|
|
15
|
-
/* Include files ----------------------------------------------------------- */
|
|
16
|
-
|
|
17
|
-
/* EDHOC header: */
|
|
18
|
-
#define EDHOC_ALLOW_PRIVATE_ACCESS
|
|
19
|
-
#include "edhoc.h"
|
|
20
|
-
#include "edhoc_common.h"
|
|
21
|
-
|
|
22
|
-
#ifdef __clang__
|
|
23
|
-
#pragma clang diagnostic push
|
|
24
|
-
#pragma clang diagnostic ignored "-Wshadow"
|
|
25
|
-
#pragma clang diagnostic ignored "-Wreserved-identifier"
|
|
26
|
-
#pragma clang diagnostic ignored "-Wpadded"
|
|
27
|
-
#pragma clang diagnostic ignored "-Wdocumentation"
|
|
28
|
-
#endif
|
|
29
|
-
|
|
30
|
-
/* CBOR headers: */
|
|
31
|
-
#include <zcbor_common.h>
|
|
32
|
-
#include <backend_cbor_int_type_encode.h>
|
|
33
|
-
#include <backend_cbor_int_type_decode.h>
|
|
34
|
-
#include <backend_cbor_bstr_type_encode.h>
|
|
35
|
-
#include <backend_cbor_id_cred_x_encode.h>
|
|
36
|
-
#include <backend_cbor_id_cred_x_decode.h>
|
|
37
|
-
#include <backend_cbor_ead_encode.h>
|
|
38
|
-
#include <backend_cbor_sig_structure_encode.h>
|
|
39
|
-
#include <backend_cbor_info_encode.h>
|
|
40
|
-
|
|
41
|
-
#ifdef __clang__
|
|
42
|
-
#pragma clang diagnostic pop
|
|
43
|
-
#endif
|
|
44
|
-
|
|
45
|
-
/* Module defines ---------------------------------------------------------- */
|
|
46
|
-
/* Module types and type definitiones -------------------------------------- */
|
|
47
|
-
/* Module interface variables and constants -------------------------------- */
|
|
48
|
-
/* Static variables and constants ------------------------------------------ */
|
|
49
|
-
/* Static function declarations -------------------------------------------- */
|
|
50
|
-
|
|
51
|
-
/**
|
|
52
|
-
* \brief Check if integer might be encoded as CBOR one byte.
|
|
53
|
-
*
|
|
54
|
-
* \param value Value for cbor encoding.
|
|
55
|
-
*
|
|
56
|
-
* \return True if might be encoded as one byte cbor integer,
|
|
57
|
-
* otherwise false.
|
|
58
|
-
*/
|
|
59
|
-
static inline bool edhoc_cbor_is_one_byte_int(int32_t value);
|
|
60
|
-
|
|
61
|
-
/**
|
|
62
|
-
* \brief Compute required buffer length for C_R (message_2).
|
|
63
|
-
*
|
|
64
|
-
* \param[in] cid EDHOC connection identifier.
|
|
65
|
-
* \param[out] len On success, number of bytes that make up
|
|
66
|
-
* C_R length requirements.
|
|
67
|
-
*
|
|
68
|
-
* \return EDHOC_SUCCESS on success, otherwise failure.
|
|
69
|
-
*/
|
|
70
|
-
static int comp_cid_len(const struct edhoc_connection_id *cid, size_t *len);
|
|
71
|
-
|
|
72
|
-
/**
|
|
73
|
-
* \brief Compute required buffer length for ID_CRED (I/R).
|
|
74
|
-
*
|
|
75
|
-
* \param[in] cred Authentication credentials.
|
|
76
|
-
* \param[out] len On success, number of bytes that make up
|
|
77
|
-
* ID_CRED length requirements.
|
|
78
|
-
*
|
|
79
|
-
* \return EDHOC_SUCCESS on success, otherwise failure.
|
|
80
|
-
*/
|
|
81
|
-
static int comp_id_cred_len(const struct edhoc_auth_creds *cred, size_t *len);
|
|
82
|
-
|
|
83
|
-
/**
|
|
84
|
-
* \brief Compute required buffer length for TH (2/3).
|
|
85
|
-
*
|
|
86
|
-
* \param th_len Transcript hash length.
|
|
87
|
-
* \param[out] len On success, number of bytes that make up
|
|
88
|
-
* TH length requirements.
|
|
89
|
-
*
|
|
90
|
-
* \return EDHOC_SUCCESS on success, otherwise failure.
|
|
91
|
-
*/
|
|
92
|
-
static int comp_th_len(size_t th_len, size_t *len);
|
|
93
|
-
|
|
94
|
-
/**
|
|
95
|
-
* \brief Compute required buffer length for CRED (I/R).
|
|
96
|
-
*
|
|
97
|
-
* \param[in] cred Authentication credentials.
|
|
98
|
-
* \param[out] len On success, number of bytes that make up
|
|
99
|
-
* CRED length requirements.
|
|
100
|
-
*
|
|
101
|
-
* \return EDHOC_SUCCESS on success, otherwise failure.
|
|
102
|
-
*/
|
|
103
|
-
static int comp_cred_len(const struct edhoc_auth_creds *cred, size_t *len);
|
|
104
|
-
|
|
105
|
-
/**
|
|
106
|
-
* \brief Compute required buffer length for EAD (2/3).
|
|
107
|
-
*
|
|
108
|
-
* \param[in] ctx EDHOC context.
|
|
109
|
-
* \param[out] len On success, number of bytes that make up
|
|
110
|
-
* EAD buffer length requirements.
|
|
111
|
-
*
|
|
112
|
-
* \return EDHOC_SUCCESS on success, otherwise failure.
|
|
113
|
-
*/
|
|
114
|
-
static int comp_ead_len(const struct edhoc_context *ctx, size_t *len);
|
|
115
|
-
|
|
116
|
-
/**
|
|
117
|
-
* \brief Perform compact encoding described in:
|
|
118
|
-
* - RFC 9528: 3.5.3.2. Compact Encoding of ID_CRED Fields for 'kid'.
|
|
119
|
-
*
|
|
120
|
-
* \param[in] cred Authentication credentials.
|
|
121
|
-
* \param[in,out] mac_ctx Structure containing the context_2.
|
|
122
|
-
*
|
|
123
|
-
* \return EDHOC_SUCCESS on success, otherwise failure.
|
|
124
|
-
*/
|
|
125
|
-
static int kid_compact_encoding(const struct edhoc_auth_creds *cred,
|
|
126
|
-
struct mac_context *mac_ctx);
|
|
127
|
-
|
|
128
|
-
/**
|
|
129
|
-
* \brief Compute COSE_Sign1.
|
|
130
|
-
*
|
|
131
|
-
* \param[in] ctx EDHOC context.
|
|
132
|
-
* \param[in] cred Authentication credentials.
|
|
133
|
-
* \param[in] mac_ctx MAC context.
|
|
134
|
-
* \param[in] mac Buffer containing MAC 2/3.
|
|
135
|
-
* \param mac_len Size of the \p mac buffer in bytes.
|
|
136
|
-
* \param[out] sign Buffer containing signature.
|
|
137
|
-
* \param sign_size Size of the \p sign buffer in bytes.
|
|
138
|
-
* \param[out] sign_len On success, the number of bytes that make up the signature.
|
|
139
|
-
*
|
|
140
|
-
* \return EDHOC_SUCCESS on success, otherwise failure.
|
|
141
|
-
*/
|
|
142
|
-
static int sign_cose_sign_1(const struct edhoc_context *ctx,
|
|
143
|
-
const struct edhoc_auth_creds *cred,
|
|
144
|
-
const struct mac_context *mac_ctx,
|
|
145
|
-
const uint8_t *mac, size_t mac_len, uint8_t *sign,
|
|
146
|
-
size_t sign_size, size_t *sign_len);
|
|
147
|
-
|
|
148
|
-
/**
|
|
149
|
-
* \brief Verify COSE_Sign1.
|
|
150
|
-
*
|
|
151
|
-
* \param[in] ctx EDHOC context.
|
|
152
|
-
* \param[in] mac_ctx MAC context.
|
|
153
|
-
* \param[in] pub_key Buffer containing public key.
|
|
154
|
-
* \param pub_key_len Size of the \p pub_key buffer in bytes.
|
|
155
|
-
* \param[in] mac Buffer containing MAC 2/3.
|
|
156
|
-
* \param mac_len Size of the \p mac buffer in bytes.
|
|
157
|
-
* \param[out] sign Buffer containing signature.
|
|
158
|
-
* \param sign_len Size of the \p sign buffer in bytes.
|
|
159
|
-
*
|
|
160
|
-
* \return EDHOC_SUCCESS on success, otherwise failure.
|
|
161
|
-
*/
|
|
162
|
-
static int verify_cose_sign_1(const struct edhoc_context *ctx,
|
|
163
|
-
const struct mac_context *mac_ctx,
|
|
164
|
-
const uint8_t *pub_key, size_t pub_key_len,
|
|
165
|
-
const uint8_t *mac, size_t mac_len,
|
|
166
|
-
const uint8_t *sign, size_t sign_len);
|
|
167
|
-
|
|
168
|
-
/* Static function definitions --------------------------------------------- */
|
|
169
|
-
|
|
170
|
-
static inline bool edhoc_cbor_is_one_byte_int(int32_t value)
|
|
171
|
-
{
|
|
172
|
-
return 1 == edhoc_cbor_int_mem_req(value);
|
|
173
|
-
}
|
|
174
|
-
|
|
175
|
-
static int comp_cid_len(const struct edhoc_connection_id *cid, size_t *len)
|
|
176
|
-
{
|
|
177
|
-
if (NULL == cid || NULL == len)
|
|
178
|
-
return EDHOC_ERROR_INVALID_ARGUMENT;
|
|
179
|
-
|
|
180
|
-
*len = 0;
|
|
181
|
-
|
|
182
|
-
switch (cid->encode_type) {
|
|
183
|
-
case EDHOC_CID_TYPE_ONE_BYTE_INTEGER:
|
|
184
|
-
*len = 1;
|
|
185
|
-
break;
|
|
186
|
-
case EDHOC_CID_TYPE_BYTE_STRING:
|
|
187
|
-
*len += cid->bstr_length + 1;
|
|
188
|
-
*len += edhoc_cbor_bstr_oh(cid->bstr_length);
|
|
189
|
-
break;
|
|
190
|
-
default:
|
|
191
|
-
return EDHOC_ERROR_NOT_PERMITTED;
|
|
192
|
-
}
|
|
193
|
-
|
|
194
|
-
return EDHOC_SUCCESS;
|
|
195
|
-
}
|
|
196
|
-
|
|
197
|
-
static int comp_id_cred_len(const struct edhoc_auth_creds *cred, size_t *len)
|
|
198
|
-
{
|
|
199
|
-
if (NULL == cred || NULL == len)
|
|
200
|
-
return EDHOC_ERROR_INVALID_ARGUMENT;
|
|
201
|
-
|
|
202
|
-
*len = 0;
|
|
203
|
-
const size_t nr_of_items = 1;
|
|
204
|
-
|
|
205
|
-
switch (cred->label) {
|
|
206
|
-
case EDHOC_COSE_ANY:
|
|
207
|
-
*len += cred->any.id_cred_len;
|
|
208
|
-
break;
|
|
209
|
-
|
|
210
|
-
case EDHOC_COSE_HEADER_KID:
|
|
211
|
-
*len += edhoc_cbor_map_oh(nr_of_items);
|
|
212
|
-
|
|
213
|
-
switch (cred->key_id.encode_type) {
|
|
214
|
-
case EDHOC_ENCODE_TYPE_INTEGER:
|
|
215
|
-
*len += edhoc_cbor_int_mem_req(cred->key_id.key_id_int);
|
|
216
|
-
break;
|
|
217
|
-
case EDHOC_ENCODE_TYPE_BYTE_STRING:
|
|
218
|
-
*len += cred->key_id.key_id_bstr_length;
|
|
219
|
-
*len += edhoc_cbor_bstr_oh(
|
|
220
|
-
cred->key_id.key_id_bstr_length);
|
|
221
|
-
break;
|
|
222
|
-
default:
|
|
223
|
-
return EDHOC_ERROR_NOT_PERMITTED;
|
|
224
|
-
}
|
|
225
|
-
break;
|
|
226
|
-
|
|
227
|
-
case EDHOC_COSE_HEADER_X509_CHAIN:
|
|
228
|
-
*len += edhoc_cbor_map_oh(nr_of_items);
|
|
229
|
-
for (size_t i = 0; i < cred->x509_chain.nr_of_certs; ++i) {
|
|
230
|
-
*len += cred->x509_chain.cert_len[i];
|
|
231
|
-
*len += edhoc_cbor_bstr_oh(
|
|
232
|
-
cred->x509_chain.cert_len[i]);
|
|
233
|
-
}
|
|
234
|
-
|
|
235
|
-
if (cred->x509_chain.nr_of_certs > 1)
|
|
236
|
-
*len += edhoc_cbor_array_oh(
|
|
237
|
-
cred->x509_chain.nr_of_certs);
|
|
238
|
-
|
|
239
|
-
break;
|
|
240
|
-
|
|
241
|
-
case EDHOC_COSE_HEADER_X509_HASH:
|
|
242
|
-
*len += edhoc_cbor_map_oh(nr_of_items);
|
|
243
|
-
*len += edhoc_cbor_array_oh(nr_of_items);
|
|
244
|
-
|
|
245
|
-
switch (cred->x509_hash.encode_type) {
|
|
246
|
-
case EDHOC_ENCODE_TYPE_INTEGER:
|
|
247
|
-
*len += edhoc_cbor_int_mem_req(cred->x509_hash.alg_int);
|
|
248
|
-
break;
|
|
249
|
-
case EDHOC_ENCODE_TYPE_BYTE_STRING:
|
|
250
|
-
*len += cred->x509_hash.alg_bstr_length;
|
|
251
|
-
*len += edhoc_cbor_bstr_oh(
|
|
252
|
-
cred->x509_hash.alg_bstr_length);
|
|
253
|
-
break;
|
|
254
|
-
default:
|
|
255
|
-
return EDHOC_ERROR_NOT_PERMITTED;
|
|
256
|
-
}
|
|
257
|
-
|
|
258
|
-
*len += cred->x509_hash.cert_fp_len;
|
|
259
|
-
*len += edhoc_cbor_bstr_oh(cred->x509_hash.cert_fp_len);
|
|
260
|
-
break;
|
|
261
|
-
|
|
262
|
-
default:
|
|
263
|
-
return EDHOC_ERROR_NOT_SUPPORTED;
|
|
264
|
-
}
|
|
265
|
-
|
|
266
|
-
return EDHOC_SUCCESS;
|
|
267
|
-
}
|
|
268
|
-
|
|
269
|
-
static int comp_th_len(size_t th_len, size_t *len)
|
|
270
|
-
{
|
|
271
|
-
if (0 == th_len || NULL == len)
|
|
272
|
-
return EDHOC_ERROR_INVALID_ARGUMENT;
|
|
273
|
-
|
|
274
|
-
*len = 0;
|
|
275
|
-
*len += th_len;
|
|
276
|
-
*len += edhoc_cbor_bstr_oh(th_len);
|
|
277
|
-
|
|
278
|
-
return EDHOC_SUCCESS;
|
|
279
|
-
}
|
|
280
|
-
|
|
281
|
-
static int comp_cred_len(const struct edhoc_auth_creds *cred, size_t *len)
|
|
282
|
-
{
|
|
283
|
-
if (NULL == cred || NULL == len)
|
|
284
|
-
return EDHOC_ERROR_INVALID_ARGUMENT;
|
|
285
|
-
|
|
286
|
-
switch (cred->label) {
|
|
287
|
-
case EDHOC_COSE_ANY:
|
|
288
|
-
*len += cred->any.cred_len;
|
|
289
|
-
break;
|
|
290
|
-
|
|
291
|
-
case EDHOC_COSE_HEADER_KID:
|
|
292
|
-
*len += cred->key_id.cred_len;
|
|
293
|
-
*len += edhoc_cbor_bstr_oh(cred->key_id.cred_len);
|
|
294
|
-
break;
|
|
295
|
-
|
|
296
|
-
case EDHOC_COSE_HEADER_X509_CHAIN: {
|
|
297
|
-
const size_t end_entity_idx = 0;
|
|
298
|
-
*len += cred->x509_chain.cert_len[end_entity_idx];
|
|
299
|
-
*len += edhoc_cbor_bstr_oh(
|
|
300
|
-
cred->x509_chain.cert_len[end_entity_idx]);
|
|
301
|
-
break;
|
|
302
|
-
}
|
|
303
|
-
|
|
304
|
-
case EDHOC_COSE_HEADER_X509_HASH:
|
|
305
|
-
*len += cred->x509_hash.cert_len;
|
|
306
|
-
*len += edhoc_cbor_bstr_oh(cred->x509_hash.cert_len);
|
|
307
|
-
break;
|
|
308
|
-
|
|
309
|
-
default:
|
|
310
|
-
return EDHOC_ERROR_NOT_SUPPORTED;
|
|
311
|
-
}
|
|
312
|
-
|
|
313
|
-
return EDHOC_SUCCESS;
|
|
314
|
-
}
|
|
315
|
-
|
|
316
|
-
static int comp_ead_len(const struct edhoc_context *ctx, size_t *len)
|
|
317
|
-
{
|
|
318
|
-
if (NULL == ctx || NULL == len)
|
|
319
|
-
return EDHOC_ERROR_INVALID_ARGUMENT;
|
|
320
|
-
|
|
321
|
-
for (size_t i = 0; i < ctx->nr_of_ead_tokens; ++i) {
|
|
322
|
-
*len += edhoc_cbor_int_mem_req(ctx->ead_token[i].label);
|
|
323
|
-
*len += ctx->ead_token[i].value_len;
|
|
324
|
-
*len += edhoc_cbor_bstr_oh(ctx->ead_token[i].value_len);
|
|
325
|
-
}
|
|
326
|
-
|
|
327
|
-
return EDHOC_SUCCESS;
|
|
328
|
-
}
|
|
329
|
-
|
|
330
|
-
static int kid_compact_encoding(const struct edhoc_auth_creds *cred,
|
|
331
|
-
struct mac_context *mac_ctx)
|
|
332
|
-
{
|
|
333
|
-
int ret = EDHOC_ERROR_GENERIC_ERROR;
|
|
334
|
-
size_t len = 0;
|
|
335
|
-
|
|
336
|
-
mac_ctx->id_cred_is_comp_enc = true;
|
|
337
|
-
|
|
338
|
-
switch (cred->key_id.encode_type) {
|
|
339
|
-
case EDHOC_ENCODE_TYPE_INTEGER: {
|
|
340
|
-
mac_ctx->id_cred_enc_type = EDHOC_ENCODE_TYPE_INTEGER;
|
|
341
|
-
if (true == cred->key_id.cred_is_cbor) {
|
|
342
|
-
mac_ctx->id_cred_int = cred->key_id.key_id_int;
|
|
343
|
-
} else {
|
|
344
|
-
len = 0;
|
|
345
|
-
ret = cbor_encode_integer_type_int_type(
|
|
346
|
-
(uint8_t *)&mac_ctx->id_cred_int,
|
|
347
|
-
sizeof(mac_ctx->id_cred_int),
|
|
348
|
-
&cred->key_id.key_id_int, &len);
|
|
349
|
-
|
|
350
|
-
if (ZCBOR_SUCCESS != ret)
|
|
351
|
-
return EDHOC_ERROR_CBOR_FAILURE;
|
|
352
|
-
}
|
|
353
|
-
break;
|
|
354
|
-
}
|
|
355
|
-
|
|
356
|
-
case EDHOC_ENCODE_TYPE_BYTE_STRING: {
|
|
357
|
-
mac_ctx->id_cred_enc_type = EDHOC_ENCODE_TYPE_BYTE_STRING;
|
|
358
|
-
|
|
359
|
-
if (true == cred->key_id.cred_is_cbor) {
|
|
360
|
-
if (1 == cred->key_id.key_id_bstr_length) {
|
|
361
|
-
int32_t val = cred->key_id.key_id_bstr[0];
|
|
362
|
-
int32_t result = 0;
|
|
363
|
-
|
|
364
|
-
len = 0;
|
|
365
|
-
ret = cbor_decode_integer_type_int_type(
|
|
366
|
-
(uint8_t *)&val, sizeof(val), &result,
|
|
367
|
-
&len);
|
|
368
|
-
|
|
369
|
-
if (ZCBOR_SUCCESS != ret)
|
|
370
|
-
return EDHOC_ERROR_CBOR_FAILURE;
|
|
371
|
-
|
|
372
|
-
if (true ==
|
|
373
|
-
edhoc_cbor_is_one_byte_int(result)) {
|
|
374
|
-
mac_ctx->id_cred_int = val;
|
|
375
|
-
mac_ctx->id_cred_enc_type =
|
|
376
|
-
EDHOC_ENCODE_TYPE_INTEGER;
|
|
377
|
-
break;
|
|
378
|
-
}
|
|
379
|
-
}
|
|
380
|
-
|
|
381
|
-
mac_ctx->id_cred_bstr_len =
|
|
382
|
-
cred->key_id.key_id_bstr_length;
|
|
383
|
-
memcpy(mac_ctx->id_cred_bstr, cred->key_id.key_id_bstr,
|
|
384
|
-
cred->key_id.key_id_bstr_length);
|
|
385
|
-
} else {
|
|
386
|
-
const struct zcbor_string input = {
|
|
387
|
-
.value = cred->key_id.key_id_bstr,
|
|
388
|
-
.len = cred->key_id.key_id_bstr_length,
|
|
389
|
-
};
|
|
390
|
-
|
|
391
|
-
ret = cbor_encode_byte_string_type_bstr_type(
|
|
392
|
-
mac_ctx->id_cred_bstr,
|
|
393
|
-
ARRAY_SIZE(mac_ctx->id_cred_bstr) - 1, &input,
|
|
394
|
-
&mac_ctx->id_cred_bstr_len);
|
|
395
|
-
|
|
396
|
-
if (ZCBOR_SUCCESS != ret)
|
|
397
|
-
return EDHOC_ERROR_CBOR_FAILURE;
|
|
398
|
-
}
|
|
399
|
-
break;
|
|
400
|
-
}
|
|
401
|
-
default:
|
|
402
|
-
return EDHOC_ERROR_NOT_PERMITTED;
|
|
403
|
-
}
|
|
404
|
-
|
|
405
|
-
return EDHOC_SUCCESS;
|
|
406
|
-
}
|
|
407
|
-
|
|
408
|
-
static int sign_cose_sign_1(const struct edhoc_context *ctx,
|
|
409
|
-
const struct edhoc_auth_creds *cred,
|
|
410
|
-
const struct mac_context *mac_ctx,
|
|
411
|
-
const uint8_t *mac, size_t mac_len, uint8_t *sign,
|
|
412
|
-
size_t sign_size, size_t *sign_len)
|
|
413
|
-
{
|
|
414
|
-
int ret = EDHOC_ERROR_GENERIC_ERROR;
|
|
415
|
-
|
|
416
|
-
const struct sig_structure cose_sign_1 = {
|
|
417
|
-
.sig_structure_protected.value = mac_ctx->id_cred,
|
|
418
|
-
.sig_structure_protected.len = mac_ctx->id_cred_len,
|
|
419
|
-
.sig_structure_external_aad.value = mac_ctx->th,
|
|
420
|
-
.sig_structure_external_aad.len =
|
|
421
|
-
mac_ctx->th_len + mac_ctx->cred_len + mac_ctx->ead_len,
|
|
422
|
-
.sig_structure_payload.value = mac,
|
|
423
|
-
.sig_structure_payload.len = mac_len,
|
|
424
|
-
};
|
|
425
|
-
|
|
426
|
-
size_t len = 0;
|
|
427
|
-
len += sizeof("Signature1");
|
|
428
|
-
len += edhoc_cbor_tstr_oh(sizeof("Signature1"));
|
|
429
|
-
len += mac_ctx->id_cred_len;
|
|
430
|
-
len += edhoc_cbor_bstr_oh(mac_ctx->id_cred_len);
|
|
431
|
-
len += mac_ctx->th_len + mac_ctx->cred_len + mac_ctx->ead_len;
|
|
432
|
-
len += edhoc_cbor_bstr_oh(mac_ctx->th_len + mac_ctx->cred_len +
|
|
433
|
-
mac_ctx->ead_len);
|
|
434
|
-
len += mac_len;
|
|
435
|
-
len += edhoc_cbor_int_mem_req((int32_t)mac_len);
|
|
436
|
-
|
|
437
|
-
VLA_ALLOC(uint8_t, cose_sign_1_buf, len);
|
|
438
|
-
memset(cose_sign_1_buf, 0, VLA_SIZEOF(cose_sign_1_buf));
|
|
439
|
-
|
|
440
|
-
size_t cose_sign_1_buf_len = 0;
|
|
441
|
-
ret = cbor_encode_sig_structure(cose_sign_1_buf,
|
|
442
|
-
VLA_SIZE(cose_sign_1_buf), &cose_sign_1,
|
|
443
|
-
&cose_sign_1_buf_len);
|
|
444
|
-
|
|
445
|
-
if (ZCBOR_SUCCESS != ret)
|
|
446
|
-
return EDHOC_ERROR_CBOR_FAILURE;
|
|
447
|
-
|
|
448
|
-
ret = ctx->crypto.signature(ctx->user_ctx, cred->priv_key_id,
|
|
449
|
-
cose_sign_1_buf, cose_sign_1_buf_len, sign,
|
|
450
|
-
sign_size, sign_len);
|
|
451
|
-
|
|
452
|
-
if (EDHOC_SUCCESS != ret)
|
|
453
|
-
return EDHOC_ERROR_CRYPTO_FAILURE;
|
|
454
|
-
|
|
455
|
-
return EDHOC_SUCCESS;
|
|
456
|
-
}
|
|
457
|
-
|
|
458
|
-
static int verify_cose_sign_1(const struct edhoc_context *ctx,
|
|
459
|
-
const struct mac_context *mac_ctx,
|
|
460
|
-
const uint8_t *pub_key, size_t pub_key_len,
|
|
461
|
-
const uint8_t *mac, size_t mac_len,
|
|
462
|
-
const uint8_t *sign, size_t sign_len)
|
|
463
|
-
{
|
|
464
|
-
int ret = EDHOC_ERROR_GENERIC_ERROR;
|
|
465
|
-
|
|
466
|
-
const struct sig_structure cose_sign_1 = {
|
|
467
|
-
.sig_structure_protected.value = mac_ctx->id_cred,
|
|
468
|
-
.sig_structure_protected.len = mac_ctx->id_cred_len,
|
|
469
|
-
.sig_structure_external_aad.value = mac_ctx->th,
|
|
470
|
-
.sig_structure_external_aad.len =
|
|
471
|
-
mac_ctx->th_len + mac_ctx->cred_len + mac_ctx->ead_len,
|
|
472
|
-
.sig_structure_payload.value = mac,
|
|
473
|
-
.sig_structure_payload.len = mac_len,
|
|
474
|
-
};
|
|
475
|
-
|
|
476
|
-
size_t len = 0;
|
|
477
|
-
len += sizeof("Signature1");
|
|
478
|
-
len += edhoc_cbor_tstr_oh(sizeof("Signature1"));
|
|
479
|
-
len += mac_ctx->id_cred_len;
|
|
480
|
-
len += edhoc_cbor_bstr_oh(mac_ctx->id_cred_len);
|
|
481
|
-
len += mac_ctx->th_len + mac_ctx->cred_len + mac_ctx->ead_len;
|
|
482
|
-
len += edhoc_cbor_bstr_oh(mac_ctx->th_len + mac_ctx->cred_len +
|
|
483
|
-
mac_ctx->ead_len);
|
|
484
|
-
len += mac_len;
|
|
485
|
-
len += edhoc_cbor_int_mem_req((int32_t)mac_len);
|
|
486
|
-
|
|
487
|
-
VLA_ALLOC(uint8_t, cose_sign_1_buf, len);
|
|
488
|
-
memset(cose_sign_1_buf, 0, VLA_SIZEOF(cose_sign_1_buf));
|
|
489
|
-
|
|
490
|
-
size_t cose_sign_1_buf_len = 0;
|
|
491
|
-
ret = cbor_encode_sig_structure(cose_sign_1_buf,
|
|
492
|
-
VLA_SIZE(cose_sign_1_buf), &cose_sign_1,
|
|
493
|
-
&cose_sign_1_buf_len);
|
|
494
|
-
|
|
495
|
-
if (ZCBOR_SUCCESS != ret)
|
|
496
|
-
return EDHOC_ERROR_CBOR_FAILURE;
|
|
497
|
-
|
|
498
|
-
uint8_t kid[CONFIG_LIBEDHOC_KEY_ID_LEN] = { 0 };
|
|
499
|
-
ret = ctx->keys.import_key(ctx->user_ctx, EDHOC_KT_VERIFY, pub_key,
|
|
500
|
-
pub_key_len, kid);
|
|
501
|
-
|
|
502
|
-
if (EDHOC_SUCCESS != ret)
|
|
503
|
-
return EDHOC_ERROR_CRYPTO_FAILURE;
|
|
504
|
-
|
|
505
|
-
ret = ctx->crypto.verify(ctx->user_ctx, kid, cose_sign_1_buf,
|
|
506
|
-
cose_sign_1_buf_len, sign, sign_len);
|
|
507
|
-
ctx->keys.destroy_key(ctx->user_ctx, kid);
|
|
508
|
-
memset(kid, 0, sizeof(kid));
|
|
509
|
-
|
|
510
|
-
if (EDHOC_SUCCESS != ret)
|
|
511
|
-
return EDHOC_ERROR_CRYPTO_FAILURE;
|
|
512
|
-
|
|
513
|
-
return EDHOC_SUCCESS;
|
|
514
|
-
}
|
|
515
|
-
|
|
516
|
-
/* Module interface function definitions ----------------------------------- */
|
|
517
|
-
|
|
518
|
-
size_t edhoc_cbor_int_mem_req(int32_t value)
|
|
519
|
-
{
|
|
520
|
-
if (value >= ONE_BYTE_CBOR_INT_MIN_VALUE &&
|
|
521
|
-
value <= ONE_BYTE_CBOR_INT_MAX_VALUE) {
|
|
522
|
-
return 1;
|
|
523
|
-
} else if (value >= -(UINT8_MAX + 1) && value <= UINT8_MAX) {
|
|
524
|
-
return 2;
|
|
525
|
-
} else if (value >= -(UINT16_MAX + 1) && value <= UINT16_MAX) {
|
|
526
|
-
return 3;
|
|
527
|
-
} else {
|
|
528
|
-
return 4;
|
|
529
|
-
}
|
|
530
|
-
}
|
|
531
|
-
|
|
532
|
-
size_t edhoc_cbor_tstr_oh(size_t length)
|
|
533
|
-
{
|
|
534
|
-
if (length <= 23) {
|
|
535
|
-
return 1;
|
|
536
|
-
} else if (length <= UINT8_MAX) {
|
|
537
|
-
return 2;
|
|
538
|
-
} else if (length <= UINT16_MAX) {
|
|
539
|
-
return 3;
|
|
540
|
-
} else if (length <= UINT32_MAX) {
|
|
541
|
-
return 4;
|
|
542
|
-
} else {
|
|
543
|
-
return 5;
|
|
544
|
-
}
|
|
545
|
-
}
|
|
546
|
-
|
|
547
|
-
size_t edhoc_cbor_bstr_oh(size_t length)
|
|
548
|
-
{
|
|
549
|
-
if (length <= 23) {
|
|
550
|
-
return 1 + 1; // zcbor issue
|
|
551
|
-
} else if (length <= UINT8_MAX) {
|
|
552
|
-
return 2;
|
|
553
|
-
} else if (length <= UINT16_MAX) {
|
|
554
|
-
return 3;
|
|
555
|
-
} else if (length <= UINT32_MAX) {
|
|
556
|
-
return 4;
|
|
557
|
-
} else {
|
|
558
|
-
return 5;
|
|
559
|
-
}
|
|
560
|
-
}
|
|
561
|
-
|
|
562
|
-
size_t edhoc_cbor_map_oh(size_t items)
|
|
563
|
-
{
|
|
564
|
-
(void)items;
|
|
565
|
-
|
|
566
|
-
return 3;
|
|
567
|
-
}
|
|
568
|
-
|
|
569
|
-
size_t edhoc_cbor_array_oh(size_t items)
|
|
570
|
-
{
|
|
571
|
-
if (items < 24)
|
|
572
|
-
return 1;
|
|
573
|
-
if (items < 256)
|
|
574
|
-
return 2;
|
|
575
|
-
if (items < 65535)
|
|
576
|
-
return 3;
|
|
577
|
-
|
|
578
|
-
return 4;
|
|
579
|
-
}
|
|
580
|
-
|
|
581
|
-
int edhoc_comp_mac_context_length(const struct edhoc_context *ctx,
|
|
582
|
-
const struct edhoc_auth_creds *cred,
|
|
583
|
-
size_t *mac_ctx_len)
|
|
584
|
-
{
|
|
585
|
-
if (NULL == ctx || NULL == cred || NULL == mac_ctx_len)
|
|
586
|
-
return EDHOC_ERROR_INVALID_ARGUMENT;
|
|
587
|
-
|
|
588
|
-
if (EDHOC_INITIATOR != ctx->role && EDHOC_RESPONDER != ctx->role)
|
|
589
|
-
return EDHOC_ERROR_BAD_STATE;
|
|
590
|
-
|
|
591
|
-
if (EDHOC_MSG_1 > ctx->message || EDHOC_MSG_3 < ctx->message)
|
|
592
|
-
return EDHOC_ERROR_BAD_STATE;
|
|
593
|
-
|
|
594
|
-
*mac_ctx_len = 0;
|
|
595
|
-
|
|
596
|
-
int ret = EDHOC_ERROR_GENERIC_ERROR;
|
|
597
|
-
size_t len = 0;
|
|
598
|
-
|
|
599
|
-
/* C_R length. */
|
|
600
|
-
if (EDHOC_MSG_2 == ctx->message) {
|
|
601
|
-
const struct edhoc_connection_id *cid = NULL;
|
|
602
|
-
|
|
603
|
-
switch (ctx->role) {
|
|
604
|
-
case EDHOC_INITIATOR:
|
|
605
|
-
cid = &ctx->peer_cid;
|
|
606
|
-
break;
|
|
607
|
-
case EDHOC_RESPONDER:
|
|
608
|
-
cid = &ctx->cid;
|
|
609
|
-
break;
|
|
610
|
-
default:
|
|
611
|
-
return EDHOC_ERROR_NOT_PERMITTED;
|
|
612
|
-
}
|
|
613
|
-
|
|
614
|
-
len = 0;
|
|
615
|
-
ret = comp_cid_len(cid, &len);
|
|
616
|
-
|
|
617
|
-
if (EDHOC_SUCCESS != ret)
|
|
618
|
-
return ret;
|
|
619
|
-
|
|
620
|
-
*mac_ctx_len += len;
|
|
621
|
-
}
|
|
622
|
-
|
|
623
|
-
/* ID_CRED length. */
|
|
624
|
-
len = 0;
|
|
625
|
-
ret = comp_id_cred_len(cred, &len);
|
|
626
|
-
|
|
627
|
-
if (EDHOC_SUCCESS != ret)
|
|
628
|
-
return ret;
|
|
629
|
-
|
|
630
|
-
*mac_ctx_len += len;
|
|
631
|
-
|
|
632
|
-
/* TH length. */
|
|
633
|
-
len = 0;
|
|
634
|
-
ret = comp_th_len(ctx->th_len, &len);
|
|
635
|
-
|
|
636
|
-
if (EDHOC_SUCCESS != ret)
|
|
637
|
-
return ret;
|
|
638
|
-
|
|
639
|
-
*mac_ctx_len += len;
|
|
640
|
-
|
|
641
|
-
/* CRED length. */
|
|
642
|
-
len = 0;
|
|
643
|
-
ret = comp_cred_len(cred, &len);
|
|
644
|
-
|
|
645
|
-
if (EDHOC_SUCCESS != ret)
|
|
646
|
-
return ret;
|
|
647
|
-
|
|
648
|
-
*mac_ctx_len += len;
|
|
649
|
-
|
|
650
|
-
/* EAD length. */
|
|
651
|
-
len = 0;
|
|
652
|
-
ret = comp_ead_len(ctx, &len);
|
|
653
|
-
|
|
654
|
-
if (EDHOC_SUCCESS != ret)
|
|
655
|
-
return ret;
|
|
656
|
-
|
|
657
|
-
*mac_ctx_len += len;
|
|
658
|
-
|
|
659
|
-
return EDHOC_SUCCESS;
|
|
660
|
-
}
|
|
661
|
-
|
|
662
|
-
int edhoc_comp_mac_context(const struct edhoc_context *ctx,
|
|
663
|
-
const struct edhoc_auth_creds *cred,
|
|
664
|
-
struct mac_context *mac_ctx)
|
|
665
|
-
{
|
|
666
|
-
if (NULL == ctx || NULL == cred || NULL == mac_ctx)
|
|
667
|
-
return EDHOC_ERROR_INVALID_ARGUMENT;
|
|
668
|
-
|
|
669
|
-
if (EDHOC_INITIATOR != ctx->role && EDHOC_RESPONDER != ctx->role)
|
|
670
|
-
return EDHOC_ERROR_BAD_STATE;
|
|
671
|
-
|
|
672
|
-
if (EDHOC_MSG_1 > ctx->message || EDHOC_MSG_3 < ctx->message)
|
|
673
|
-
return EDHOC_ERROR_BAD_STATE;
|
|
674
|
-
|
|
675
|
-
if (EDHOC_MSG_2 == ctx->message && EDHOC_TH_STATE_2 != ctx->th_state)
|
|
676
|
-
return EDHOC_ERROR_BAD_STATE;
|
|
677
|
-
|
|
678
|
-
if (EDHOC_MSG_3 == ctx->message && EDHOC_TH_STATE_3 != ctx->th_state)
|
|
679
|
-
return EDHOC_ERROR_BAD_STATE;
|
|
680
|
-
|
|
681
|
-
int ret = EDHOC_ERROR_GENERIC_ERROR;
|
|
682
|
-
size_t len = 0;
|
|
683
|
-
|
|
684
|
-
/* C_R length. */
|
|
685
|
-
if (EDHOC_MSG_2 == ctx->message) {
|
|
686
|
-
const struct edhoc_connection_id *cid = NULL;
|
|
687
|
-
|
|
688
|
-
switch (ctx->role) {
|
|
689
|
-
case EDHOC_INITIATOR:
|
|
690
|
-
cid = &ctx->peer_cid;
|
|
691
|
-
break;
|
|
692
|
-
case EDHOC_RESPONDER:
|
|
693
|
-
cid = &ctx->cid;
|
|
694
|
-
break;
|
|
695
|
-
default:
|
|
696
|
-
return EDHOC_ERROR_NOT_PERMITTED;
|
|
697
|
-
}
|
|
698
|
-
|
|
699
|
-
mac_ctx->conn_id = &mac_ctx->buf[0];
|
|
700
|
-
|
|
701
|
-
len = 0;
|
|
702
|
-
ret = comp_cid_len(cid, &len);
|
|
703
|
-
|
|
704
|
-
if (EDHOC_SUCCESS != ret)
|
|
705
|
-
return ret;
|
|
706
|
-
|
|
707
|
-
mac_ctx->conn_id_len = len;
|
|
708
|
-
|
|
709
|
-
/* C_R cborising. */
|
|
710
|
-
/* Cborise C_R. */
|
|
711
|
-
switch (cid->encode_type) {
|
|
712
|
-
case EDHOC_CID_TYPE_ONE_BYTE_INTEGER: {
|
|
713
|
-
const int32_t value = cid->int_value;
|
|
714
|
-
len = 0;
|
|
715
|
-
ret = cbor_encode_integer_type_int_type(
|
|
716
|
-
mac_ctx->conn_id, mac_ctx->conn_id_len, &value,
|
|
717
|
-
&len);
|
|
718
|
-
break;
|
|
719
|
-
}
|
|
720
|
-
case EDHOC_CID_TYPE_BYTE_STRING: {
|
|
721
|
-
const struct zcbor_string cbor_bstr = {
|
|
722
|
-
.value = cid->bstr_value,
|
|
723
|
-
.len = cid->bstr_length,
|
|
724
|
-
};
|
|
725
|
-
len = 0;
|
|
726
|
-
ret = cbor_encode_byte_string_type_bstr_type(
|
|
727
|
-
mac_ctx->conn_id, mac_ctx->conn_id_len,
|
|
728
|
-
&cbor_bstr, &len);
|
|
729
|
-
break;
|
|
730
|
-
}
|
|
731
|
-
default:
|
|
732
|
-
return EDHOC_ERROR_NOT_PERMITTED;
|
|
733
|
-
}
|
|
734
|
-
|
|
735
|
-
if (ZCBOR_SUCCESS != ret)
|
|
736
|
-
return EDHOC_ERROR_CBOR_FAILURE;
|
|
737
|
-
|
|
738
|
-
mac_ctx->conn_id_len = len;
|
|
739
|
-
}
|
|
740
|
-
|
|
741
|
-
/* ID_CRED length. */
|
|
742
|
-
mac_ctx->id_cred = &mac_ctx->buf[mac_ctx->conn_id_len];
|
|
743
|
-
|
|
744
|
-
len = 0;
|
|
745
|
-
ret = comp_id_cred_len(cred, &len);
|
|
746
|
-
|
|
747
|
-
if (EDHOC_SUCCESS != ret)
|
|
748
|
-
return ret;
|
|
749
|
-
|
|
750
|
-
mac_ctx->id_cred_len = len;
|
|
751
|
-
|
|
752
|
-
/* ID_CRED cborising. */
|
|
753
|
-
struct id_cred_x id_cred = { 0 };
|
|
754
|
-
|
|
755
|
-
switch (cred->label) {
|
|
756
|
-
case EDHOC_COSE_ANY:
|
|
757
|
-
break;
|
|
758
|
-
|
|
759
|
-
case EDHOC_COSE_HEADER_KID:
|
|
760
|
-
id_cred.id_cred_x_kid_present = true;
|
|
761
|
-
|
|
762
|
-
switch (cred->key_id.encode_type) {
|
|
763
|
-
case EDHOC_ENCODE_TYPE_INTEGER:
|
|
764
|
-
id_cred.id_cred_x_kid.id_cred_x_kid_choice =
|
|
765
|
-
id_cred_x_kid_int_c;
|
|
766
|
-
id_cred.id_cred_x_kid.id_cred_x_kid_int =
|
|
767
|
-
cred->key_id.key_id_int;
|
|
768
|
-
break;
|
|
769
|
-
case EDHOC_ENCODE_TYPE_BYTE_STRING:
|
|
770
|
-
id_cred.id_cred_x_kid.id_cred_x_kid_choice =
|
|
771
|
-
id_cred_x_kid_bstr_c;
|
|
772
|
-
id_cred.id_cred_x_kid.id_cred_x_kid_bstr.value =
|
|
773
|
-
cred->key_id.key_id_bstr;
|
|
774
|
-
id_cred.id_cred_x_kid.id_cred_x_kid_bstr.len =
|
|
775
|
-
cred->key_id.key_id_bstr_length;
|
|
776
|
-
break;
|
|
777
|
-
default:
|
|
778
|
-
return EDHOC_ERROR_NOT_PERMITTED;
|
|
779
|
-
}
|
|
780
|
-
|
|
781
|
-
break;
|
|
782
|
-
|
|
783
|
-
case EDHOC_COSE_HEADER_X509_CHAIN: {
|
|
784
|
-
if (0 == cred->x509_chain.nr_of_certs)
|
|
785
|
-
return EDHOC_ERROR_BAD_STATE;
|
|
786
|
-
|
|
787
|
-
id_cred.id_cred_x_x5chain_present = true;
|
|
788
|
-
|
|
789
|
-
struct COSE_X509_r *cose_x509 =
|
|
790
|
-
&id_cred.id_cred_x_x5chain.id_cred_x_x5chain;
|
|
791
|
-
|
|
792
|
-
if (1 == cred->x509_chain.nr_of_certs) {
|
|
793
|
-
cose_x509->COSE_X509_choice = COSE_X509_bstr_c;
|
|
794
|
-
cose_x509->COSE_X509_bstr.value =
|
|
795
|
-
cred->x509_chain.cert[0];
|
|
796
|
-
cose_x509->COSE_X509_bstr.len =
|
|
797
|
-
cred->x509_chain.cert_len[0];
|
|
798
|
-
} else {
|
|
799
|
-
if (ARRAY_SIZE(cose_x509->COSE_X509_certs_l_certs) <
|
|
800
|
-
cred->x509_chain.nr_of_certs)
|
|
801
|
-
return EDHOC_ERROR_BUFFER_TOO_SMALL;
|
|
802
|
-
|
|
803
|
-
cose_x509->COSE_X509_choice = COSE_X509_certs_l_c;
|
|
804
|
-
cose_x509->COSE_X509_certs_l_certs_count =
|
|
805
|
-
cred->x509_chain.nr_of_certs;
|
|
806
|
-
|
|
807
|
-
for (size_t i = 0; i < cred->x509_chain.nr_of_certs;
|
|
808
|
-
++i) {
|
|
809
|
-
cose_x509->COSE_X509_certs_l_certs[i].value =
|
|
810
|
-
cred->x509_chain.cert[i];
|
|
811
|
-
cose_x509->COSE_X509_certs_l_certs[i].len =
|
|
812
|
-
cred->x509_chain.cert_len[i];
|
|
813
|
-
}
|
|
814
|
-
}
|
|
815
|
-
break;
|
|
816
|
-
}
|
|
817
|
-
|
|
818
|
-
case EDHOC_COSE_HEADER_X509_HASH: {
|
|
819
|
-
id_cred.id_cred_x_x5t_present = true;
|
|
820
|
-
|
|
821
|
-
struct COSE_CertHash *cose_x509 =
|
|
822
|
-
&id_cred.id_cred_x_x5t.id_cred_x_x5t;
|
|
823
|
-
|
|
824
|
-
cose_x509->COSE_CertHash_hashValue.value =
|
|
825
|
-
cred->x509_hash.cert_fp;
|
|
826
|
-
cose_x509->COSE_CertHash_hashValue.len =
|
|
827
|
-
cred->x509_hash.cert_fp_len;
|
|
828
|
-
|
|
829
|
-
switch (cred->x509_hash.encode_type) {
|
|
830
|
-
case EDHOC_ENCODE_TYPE_INTEGER:
|
|
831
|
-
cose_x509->COSE_CertHash_hashAlg_choice =
|
|
832
|
-
COSE_CertHash_hashAlg_int_c;
|
|
833
|
-
cose_x509->COSE_CertHash_hashAlg_int =
|
|
834
|
-
cred->x509_hash.alg_int;
|
|
835
|
-
break;
|
|
836
|
-
case EDHOC_ENCODE_TYPE_BYTE_STRING:
|
|
837
|
-
cose_x509->COSE_CertHash_hashAlg_choice =
|
|
838
|
-
COSE_CertHash_hashAlg_tstr_c;
|
|
839
|
-
cose_x509->COSE_CertHash_hashAlg_tstr.value =
|
|
840
|
-
cred->x509_hash.alg_bstr;
|
|
841
|
-
cose_x509->COSE_CertHash_hashAlg_tstr.len =
|
|
842
|
-
cred->x509_hash.alg_bstr_length;
|
|
843
|
-
break;
|
|
844
|
-
default:
|
|
845
|
-
return EDHOC_ERROR_NOT_PERMITTED;
|
|
846
|
-
}
|
|
847
|
-
break;
|
|
848
|
-
}
|
|
849
|
-
default:
|
|
850
|
-
return EDHOC_ERROR_CREDENTIALS_FAILURE;
|
|
851
|
-
}
|
|
852
|
-
|
|
853
|
-
if (EDHOC_COSE_ANY == cred->label) {
|
|
854
|
-
memcpy(mac_ctx->id_cred, cred->any.id_cred,
|
|
855
|
-
cred->any.id_cred_len);
|
|
856
|
-
} else {
|
|
857
|
-
len = 0;
|
|
858
|
-
ret = cbor_encode_id_cred_x(
|
|
859
|
-
mac_ctx->id_cred, mac_ctx->id_cred_len, &id_cred, &len);
|
|
860
|
-
if (ZCBOR_SUCCESS != ret)
|
|
861
|
-
return EDHOC_ERROR_CBOR_FAILURE;
|
|
862
|
-
|
|
863
|
-
mac_ctx->id_cred_len = len;
|
|
864
|
-
}
|
|
865
|
-
|
|
866
|
-
/* Check compact encoding of ID_CRED_R. */
|
|
867
|
-
if (EDHOC_COSE_HEADER_KID == cred->label) {
|
|
868
|
-
ret = kid_compact_encoding(cred, mac_ctx);
|
|
869
|
-
|
|
870
|
-
if (EDHOC_SUCCESS != ret)
|
|
871
|
-
return EDHOC_ERROR_CBOR_FAILURE;
|
|
872
|
-
}
|
|
873
|
-
|
|
874
|
-
if (EDHOC_COSE_ANY == cred->label &&
|
|
875
|
-
true == cred->any.is_id_cred_comp_enc) {
|
|
876
|
-
mac_ctx->id_cred_is_comp_enc = true;
|
|
877
|
-
mac_ctx->id_cred_enc_type = cred->any.encode_type;
|
|
878
|
-
switch (mac_ctx->id_cred_enc_type) {
|
|
879
|
-
case EDHOC_ENCODE_TYPE_INTEGER:
|
|
880
|
-
memcpy(&mac_ctx->id_cred_int,
|
|
881
|
-
cred->any.id_cred_comp_enc,
|
|
882
|
-
cred->any.id_cred_comp_enc_length);
|
|
883
|
-
break;
|
|
884
|
-
case EDHOC_ENCODE_TYPE_BYTE_STRING:
|
|
885
|
-
mac_ctx->id_cred_bstr_len =
|
|
886
|
-
cred->any.id_cred_comp_enc_length;
|
|
887
|
-
memcpy(&mac_ctx->id_cred_bstr,
|
|
888
|
-
cred->any.id_cred_comp_enc,
|
|
889
|
-
cred->any.id_cred_comp_enc_length);
|
|
890
|
-
break;
|
|
891
|
-
default:
|
|
892
|
-
return EDHOC_ERROR_NOT_PERMITTED;
|
|
893
|
-
}
|
|
894
|
-
}
|
|
895
|
-
|
|
896
|
-
/* TH length. */
|
|
897
|
-
mac_ctx->th = &mac_ctx->id_cred[mac_ctx->id_cred_len];
|
|
898
|
-
|
|
899
|
-
len = 0;
|
|
900
|
-
ret = comp_th_len(ctx->th_len, &len);
|
|
901
|
-
|
|
902
|
-
if (EDHOC_SUCCESS != ret)
|
|
903
|
-
return ret;
|
|
904
|
-
|
|
905
|
-
mac_ctx->th_len = len;
|
|
906
|
-
|
|
907
|
-
/* TH cborising. */
|
|
908
|
-
const struct zcbor_string th = {
|
|
909
|
-
.value = ctx->th,
|
|
910
|
-
.len = ctx->th_len,
|
|
911
|
-
};
|
|
912
|
-
|
|
913
|
-
len = 0;
|
|
914
|
-
ret = cbor_encode_byte_string_type_bstr_type(
|
|
915
|
-
mac_ctx->th, mac_ctx->th_len, &th, &len);
|
|
916
|
-
|
|
917
|
-
if (ZCBOR_SUCCESS != ret)
|
|
918
|
-
return EDHOC_ERROR_CBOR_FAILURE;
|
|
919
|
-
|
|
920
|
-
mac_ctx->th_len = len;
|
|
921
|
-
|
|
922
|
-
/* CRED length. */
|
|
923
|
-
mac_ctx->cred = &mac_ctx->th[mac_ctx->th_len];
|
|
924
|
-
|
|
925
|
-
len = 0;
|
|
926
|
-
ret = comp_cred_len(cred, &len);
|
|
927
|
-
|
|
928
|
-
if (EDHOC_SUCCESS != ret)
|
|
929
|
-
return ret;
|
|
930
|
-
|
|
931
|
-
mac_ctx->cred_len = len;
|
|
932
|
-
|
|
933
|
-
/* CRED cborising. */
|
|
934
|
-
struct zcbor_string _cred = { 0 };
|
|
935
|
-
|
|
936
|
-
switch (cred->label) {
|
|
937
|
-
case EDHOC_COSE_ANY:
|
|
938
|
-
break;
|
|
939
|
-
|
|
940
|
-
case EDHOC_COSE_HEADER_KID:
|
|
941
|
-
_cred.value = cred->key_id.cred;
|
|
942
|
-
_cred.len = cred->key_id.cred_len;
|
|
943
|
-
break;
|
|
944
|
-
|
|
945
|
-
case EDHOC_COSE_HEADER_X509_CHAIN: {
|
|
946
|
-
const size_t end_entity_idx = 0;
|
|
947
|
-
_cred.value = cred->x509_chain.cert[end_entity_idx];
|
|
948
|
-
_cred.len = cred->x509_chain.cert_len[end_entity_idx];
|
|
949
|
-
break;
|
|
950
|
-
}
|
|
951
|
-
|
|
952
|
-
case EDHOC_COSE_HEADER_X509_HASH:
|
|
953
|
-
_cred.value = cred->x509_hash.cert;
|
|
954
|
-
_cred.len = cred->x509_hash.cert_len;
|
|
955
|
-
break;
|
|
956
|
-
|
|
957
|
-
default:
|
|
958
|
-
return EDHOC_ERROR_CREDENTIALS_FAILURE;
|
|
959
|
-
}
|
|
960
|
-
|
|
961
|
-
if (EDHOC_COSE_HEADER_KID == cred->label &&
|
|
962
|
-
true == cred->key_id.cred_is_cbor) {
|
|
963
|
-
memcpy(mac_ctx->cred, cred->key_id.cred, cred->key_id.cred_len);
|
|
964
|
-
mac_ctx->cred_len = cred->key_id.cred_len;
|
|
965
|
-
} else if (EDHOC_COSE_ANY == cred->label) {
|
|
966
|
-
memcpy(mac_ctx->cred, cred->any.cred, cred->any.cred_len);
|
|
967
|
-
} else {
|
|
968
|
-
len = 0;
|
|
969
|
-
ret = cbor_encode_byte_string_type_bstr_type(
|
|
970
|
-
mac_ctx->cred, mac_ctx->cred_len, &_cred, &len);
|
|
971
|
-
|
|
972
|
-
if (ZCBOR_SUCCESS != ret)
|
|
973
|
-
return EDHOC_ERROR_CBOR_FAILURE;
|
|
974
|
-
|
|
975
|
-
mac_ctx->cred_len = len;
|
|
976
|
-
}
|
|
977
|
-
|
|
978
|
-
/* EAD length. */
|
|
979
|
-
if (0 != ctx->nr_of_ead_tokens) {
|
|
980
|
-
len = 0;
|
|
981
|
-
ret = comp_ead_len(ctx, &len);
|
|
982
|
-
|
|
983
|
-
if (EDHOC_SUCCESS != ret)
|
|
984
|
-
return ret;
|
|
985
|
-
|
|
986
|
-
mac_ctx->is_ead = true;
|
|
987
|
-
mac_ctx->ead = &mac_ctx->cred[mac_ctx->cred_len];
|
|
988
|
-
mac_ctx->ead_len = len;
|
|
989
|
-
} else {
|
|
990
|
-
mac_ctx->is_ead = false;
|
|
991
|
-
mac_ctx->ead = NULL;
|
|
992
|
-
mac_ctx->ead_len = 0;
|
|
993
|
-
}
|
|
994
|
-
|
|
995
|
-
/* EAD cborising. */
|
|
996
|
-
if (true == mac_ctx->is_ead) {
|
|
997
|
-
struct ead tmp_ead = { .ead_count = ctx->nr_of_ead_tokens };
|
|
998
|
-
|
|
999
|
-
for (size_t i = 0; i < ctx->nr_of_ead_tokens; ++i) {
|
|
1000
|
-
tmp_ead.ead[i].ead_x_ead_label =
|
|
1001
|
-
ctx->ead_token[i].label;
|
|
1002
|
-
tmp_ead.ead[i].ead_x_ead_value_present =
|
|
1003
|
-
(NULL != ctx->ead_token[i].value);
|
|
1004
|
-
tmp_ead.ead[i].ead_x_ead_value.value =
|
|
1005
|
-
ctx->ead_token[i].value;
|
|
1006
|
-
tmp_ead.ead[i].ead_x_ead_value.len =
|
|
1007
|
-
ctx->ead_token[i].value_len;
|
|
1008
|
-
}
|
|
1009
|
-
|
|
1010
|
-
len = 0;
|
|
1011
|
-
ret = cbor_encode_ead(mac_ctx->ead, mac_ctx->ead_len, &tmp_ead,
|
|
1012
|
-
&len);
|
|
1013
|
-
|
|
1014
|
-
if (ZCBOR_SUCCESS != ret)
|
|
1015
|
-
return EDHOC_ERROR_CBOR_FAILURE;
|
|
1016
|
-
|
|
1017
|
-
mac_ctx->ead_len = len;
|
|
1018
|
-
}
|
|
1019
|
-
|
|
1020
|
-
const size_t encoded_bytes = mac_ctx->conn_id_len +
|
|
1021
|
-
mac_ctx->id_cred_len + mac_ctx->th_len +
|
|
1022
|
-
mac_ctx->cred_len + mac_ctx->ead_len;
|
|
1023
|
-
|
|
1024
|
-
if (encoded_bytes > mac_ctx->buf_len)
|
|
1025
|
-
return EDHOC_ERROR_BUFFER_TOO_SMALL;
|
|
1026
|
-
|
|
1027
|
-
mac_ctx->buf_len = encoded_bytes;
|
|
1028
|
-
return EDHOC_SUCCESS;
|
|
1029
|
-
}
|
|
1030
|
-
|
|
1031
|
-
int edhoc_comp_mac_length(const struct edhoc_context *ctx, size_t *mac_len)
|
|
1032
|
-
{
|
|
1033
|
-
if (NULL == ctx || NULL == mac_len)
|
|
1034
|
-
return EDHOC_ERROR_INVALID_ARGUMENT;
|
|
1035
|
-
|
|
1036
|
-
if (EDHOC_INITIATOR != ctx->role && EDHOC_RESPONDER != ctx->role)
|
|
1037
|
-
return EDHOC_ERROR_BAD_STATE;
|
|
1038
|
-
|
|
1039
|
-
const struct edhoc_cipher_suite csuite =
|
|
1040
|
-
ctx->csuite[ctx->chosen_csuite_idx];
|
|
1041
|
-
|
|
1042
|
-
if (EDHOC_MSG_2 == ctx->message) {
|
|
1043
|
-
switch (ctx->chosen_method) {
|
|
1044
|
-
case EDHOC_METHOD_0:
|
|
1045
|
-
case EDHOC_METHOD_2:
|
|
1046
|
-
*mac_len = csuite.hash_length;
|
|
1047
|
-
return EDHOC_SUCCESS;
|
|
1048
|
-
|
|
1049
|
-
case EDHOC_METHOD_1:
|
|
1050
|
-
case EDHOC_METHOD_3:
|
|
1051
|
-
*mac_len = csuite.mac_length;
|
|
1052
|
-
return EDHOC_SUCCESS;
|
|
1053
|
-
|
|
1054
|
-
case EDHOC_METHOD_MAX:
|
|
1055
|
-
return EDHOC_ERROR_NOT_PERMITTED;
|
|
1056
|
-
}
|
|
1057
|
-
}
|
|
1058
|
-
|
|
1059
|
-
if (EDHOC_MSG_3 == ctx->message) {
|
|
1060
|
-
switch (ctx->chosen_method) {
|
|
1061
|
-
case EDHOC_METHOD_0:
|
|
1062
|
-
case EDHOC_METHOD_1:
|
|
1063
|
-
*mac_len = csuite.hash_length;
|
|
1064
|
-
return EDHOC_SUCCESS;
|
|
1065
|
-
|
|
1066
|
-
case EDHOC_METHOD_2:
|
|
1067
|
-
case EDHOC_METHOD_3:
|
|
1068
|
-
*mac_len = csuite.mac_length;
|
|
1069
|
-
return EDHOC_SUCCESS;
|
|
1070
|
-
|
|
1071
|
-
case EDHOC_METHOD_MAX:
|
|
1072
|
-
return EDHOC_ERROR_NOT_PERMITTED;
|
|
1073
|
-
}
|
|
1074
|
-
}
|
|
1075
|
-
|
|
1076
|
-
return EDHOC_ERROR_NOT_PERMITTED;
|
|
1077
|
-
}
|
|
1078
|
-
|
|
1079
|
-
int edhoc_comp_mac(const struct edhoc_context *ctx,
|
|
1080
|
-
const struct mac_context *mac_ctx, uint8_t *mac,
|
|
1081
|
-
size_t mac_len)
|
|
1082
|
-
{
|
|
1083
|
-
if (NULL == ctx || NULL == mac_ctx || NULL == mac || 0 == mac_len)
|
|
1084
|
-
return EDHOC_ERROR_INVALID_ARGUMENT;
|
|
1085
|
-
|
|
1086
|
-
if (EDHOC_MSG_1 > ctx->message || EDHOC_MSG_3 < ctx->message)
|
|
1087
|
-
return EDHOC_ERROR_BAD_STATE;
|
|
1088
|
-
|
|
1089
|
-
if (EDHOC_MSG_2 == ctx->message &&
|
|
1090
|
-
EDHOC_PRK_STATE_3E2M != ctx->prk_state)
|
|
1091
|
-
return EDHOC_ERROR_BAD_STATE;
|
|
1092
|
-
|
|
1093
|
-
if (EDHOC_MSG_3 == ctx->message &&
|
|
1094
|
-
EDHOC_PRK_STATE_4E3M != ctx->prk_state)
|
|
1095
|
-
return EDHOC_ERROR_BAD_STATE;
|
|
1096
|
-
|
|
1097
|
-
int ret = EDHOC_ERROR_GENERIC_ERROR;
|
|
1098
|
-
|
|
1099
|
-
struct info info = {
|
|
1100
|
-
.info_context.value = mac_ctx->buf,
|
|
1101
|
-
.info_context.len = mac_ctx->buf_len,
|
|
1102
|
-
.info_length = (uint32_t)mac_len,
|
|
1103
|
-
};
|
|
1104
|
-
|
|
1105
|
-
if (EDHOC_MSG_2 == ctx->message)
|
|
1106
|
-
info.info_label = EDHOC_EXTRACT_PRK_INFO_LABEL_MAC_2;
|
|
1107
|
-
|
|
1108
|
-
if (EDHOC_MSG_3 == ctx->message)
|
|
1109
|
-
info.info_label = EDHOC_EXTRACT_PRK_INFO_LABEL_MAC_3;
|
|
1110
|
-
|
|
1111
|
-
/* Calculate struct info cbor overhead. */
|
|
1112
|
-
size_t len = 0;
|
|
1113
|
-
len += edhoc_cbor_int_mem_req(info.info_label);
|
|
1114
|
-
len += mac_ctx->buf_len + edhoc_cbor_bstr_oh(mac_ctx->buf_len);
|
|
1115
|
-
len += edhoc_cbor_int_mem_req((int32_t)mac_len);
|
|
1116
|
-
|
|
1117
|
-
VLA_ALLOC(uint8_t, info_buf, len);
|
|
1118
|
-
memset(info_buf, 0, VLA_SIZEOF(info_buf));
|
|
1119
|
-
|
|
1120
|
-
len = 0;
|
|
1121
|
-
ret = cbor_encode_info(info_buf, VLA_SIZE(info_buf), &info, &len);
|
|
1122
|
-
|
|
1123
|
-
if (ZCBOR_SUCCESS != ret)
|
|
1124
|
-
return EDHOC_ERROR_CBOR_FAILURE;
|
|
1125
|
-
|
|
1126
|
-
if (NULL != ctx->logger) {
|
|
1127
|
-
switch (ctx->message) {
|
|
1128
|
-
case EDHOC_MSG_2:
|
|
1129
|
-
ctx->logger(ctx->user_ctx, "MAC_2 info", info_buf, len);
|
|
1130
|
-
break;
|
|
1131
|
-
case EDHOC_MSG_3:
|
|
1132
|
-
ctx->logger(ctx->user_ctx, "MAC_3 info", info_buf, len);
|
|
1133
|
-
break;
|
|
1134
|
-
|
|
1135
|
-
case EDHOC_MSG_1:
|
|
1136
|
-
case EDHOC_MSG_4:
|
|
1137
|
-
default:
|
|
1138
|
-
return EDHOC_ERROR_NOT_PERMITTED;
|
|
1139
|
-
}
|
|
1140
|
-
}
|
|
1141
|
-
|
|
1142
|
-
uint8_t kid[CONFIG_LIBEDHOC_KEY_ID_LEN] = { 0 };
|
|
1143
|
-
ret = ctx->keys.import_key(ctx->user_ctx, EDHOC_KT_EXPAND, ctx->prk,
|
|
1144
|
-
ctx->prk_len, kid);
|
|
1145
|
-
|
|
1146
|
-
if (EDHOC_SUCCESS != ret)
|
|
1147
|
-
return EDHOC_ERROR_CRYPTO_FAILURE;
|
|
1148
|
-
|
|
1149
|
-
ret = ctx->crypto.expand(ctx->user_ctx, kid, info_buf, len, mac,
|
|
1150
|
-
mac_len);
|
|
1151
|
-
ctx->keys.destroy_key(ctx->user_ctx, kid);
|
|
1152
|
-
memset(kid, 0, sizeof(kid));
|
|
1153
|
-
|
|
1154
|
-
if (EDHOC_SUCCESS != ret)
|
|
1155
|
-
return EDHOC_ERROR_CRYPTO_FAILURE;
|
|
1156
|
-
|
|
1157
|
-
return EDHOC_SUCCESS;
|
|
1158
|
-
}
|
|
1159
|
-
|
|
1160
|
-
int edhoc_comp_sign_or_mac_length(const struct edhoc_context *ctx,
|
|
1161
|
-
size_t *sign_or_mac_len)
|
|
1162
|
-
{
|
|
1163
|
-
if (NULL == ctx || NULL == sign_or_mac_len)
|
|
1164
|
-
return EDHOC_ERROR_INVALID_ARGUMENT;
|
|
1165
|
-
|
|
1166
|
-
if (EDHOC_INITIATOR != ctx->role && EDHOC_RESPONDER != ctx->role)
|
|
1167
|
-
return EDHOC_ERROR_BAD_STATE;
|
|
1168
|
-
|
|
1169
|
-
const struct edhoc_cipher_suite csuite =
|
|
1170
|
-
ctx->csuite[ctx->chosen_csuite_idx];
|
|
1171
|
-
|
|
1172
|
-
if (EDHOC_MSG_2 == ctx->message) {
|
|
1173
|
-
switch (ctx->chosen_method) {
|
|
1174
|
-
case EDHOC_METHOD_0:
|
|
1175
|
-
case EDHOC_METHOD_2:
|
|
1176
|
-
*sign_or_mac_len = csuite.ecc_sign_length;
|
|
1177
|
-
return EDHOC_SUCCESS;
|
|
1178
|
-
|
|
1179
|
-
case EDHOC_METHOD_1:
|
|
1180
|
-
case EDHOC_METHOD_3:
|
|
1181
|
-
*sign_or_mac_len = csuite.mac_length;
|
|
1182
|
-
return EDHOC_SUCCESS;
|
|
1183
|
-
|
|
1184
|
-
case EDHOC_METHOD_MAX:
|
|
1185
|
-
return EDHOC_ERROR_NOT_PERMITTED;
|
|
1186
|
-
}
|
|
1187
|
-
}
|
|
1188
|
-
|
|
1189
|
-
if (EDHOC_MSG_3 == ctx->message) {
|
|
1190
|
-
switch (ctx->chosen_method) {
|
|
1191
|
-
case EDHOC_METHOD_0:
|
|
1192
|
-
case EDHOC_METHOD_1:
|
|
1193
|
-
*sign_or_mac_len = csuite.ecc_sign_length;
|
|
1194
|
-
return EDHOC_SUCCESS;
|
|
1195
|
-
|
|
1196
|
-
case EDHOC_METHOD_2:
|
|
1197
|
-
case EDHOC_METHOD_3:
|
|
1198
|
-
*sign_or_mac_len = csuite.mac_length;
|
|
1199
|
-
return EDHOC_SUCCESS;
|
|
1200
|
-
|
|
1201
|
-
case EDHOC_METHOD_MAX:
|
|
1202
|
-
return EDHOC_ERROR_NOT_PERMITTED;
|
|
1203
|
-
}
|
|
1204
|
-
}
|
|
1205
|
-
|
|
1206
|
-
return EDHOC_ERROR_NOT_PERMITTED;
|
|
1207
|
-
}
|
|
1208
|
-
|
|
1209
|
-
int edhoc_comp_sign_or_mac(const struct edhoc_context *ctx,
|
|
1210
|
-
const struct edhoc_auth_creds *cred,
|
|
1211
|
-
const struct mac_context *mac_ctx,
|
|
1212
|
-
const uint8_t *mac, size_t mac_len, uint8_t *sign,
|
|
1213
|
-
size_t sign_size, size_t *sign_len)
|
|
1214
|
-
{
|
|
1215
|
-
if (NULL == ctx || NULL == cred || NULL == mac_ctx || NULL == mac ||
|
|
1216
|
-
0 == mac_len || NULL == sign || 0 == sign_size || NULL == sign_len)
|
|
1217
|
-
return EDHOC_ERROR_INVALID_ARGUMENT;
|
|
1218
|
-
|
|
1219
|
-
if (EDHOC_MSG_2 == ctx->message) {
|
|
1220
|
-
switch (ctx->chosen_method) {
|
|
1221
|
-
case EDHOC_METHOD_0:
|
|
1222
|
-
case EDHOC_METHOD_2:
|
|
1223
|
-
return sign_cose_sign_1(ctx, cred, mac_ctx, mac,
|
|
1224
|
-
mac_len, sign, sign_size,
|
|
1225
|
-
sign_len);
|
|
1226
|
-
|
|
1227
|
-
case EDHOC_METHOD_1:
|
|
1228
|
-
case EDHOC_METHOD_3:
|
|
1229
|
-
*sign_len = mac_len;
|
|
1230
|
-
memcpy(sign, mac, mac_len);
|
|
1231
|
-
return EDHOC_SUCCESS;
|
|
1232
|
-
|
|
1233
|
-
case EDHOC_METHOD_MAX:
|
|
1234
|
-
return EDHOC_ERROR_NOT_PERMITTED;
|
|
1235
|
-
}
|
|
1236
|
-
}
|
|
1237
|
-
|
|
1238
|
-
if (EDHOC_MSG_3 == ctx->message) {
|
|
1239
|
-
switch (ctx->chosen_method) {
|
|
1240
|
-
case EDHOC_METHOD_0:
|
|
1241
|
-
case EDHOC_METHOD_1:
|
|
1242
|
-
return sign_cose_sign_1(ctx, cred, mac_ctx, mac,
|
|
1243
|
-
mac_len, sign, sign_size,
|
|
1244
|
-
sign_len);
|
|
1245
|
-
|
|
1246
|
-
case EDHOC_METHOD_2:
|
|
1247
|
-
case EDHOC_METHOD_3:
|
|
1248
|
-
*sign_len = mac_len;
|
|
1249
|
-
memcpy(sign, mac, mac_len);
|
|
1250
|
-
return EDHOC_SUCCESS;
|
|
1251
|
-
|
|
1252
|
-
case EDHOC_METHOD_MAX:
|
|
1253
|
-
return EDHOC_ERROR_NOT_PERMITTED;
|
|
1254
|
-
}
|
|
1255
|
-
}
|
|
1256
|
-
|
|
1257
|
-
return EDHOC_ERROR_BAD_STATE;
|
|
1258
|
-
}
|
|
1259
|
-
|
|
1260
|
-
int edhoc_verify_sign_or_mac(const struct edhoc_context *ctx,
|
|
1261
|
-
const struct mac_context *mac_ctx,
|
|
1262
|
-
const uint8_t *pub_key, size_t pub_key_len,
|
|
1263
|
-
const uint8_t *sign_or_mac, size_t sign_or_mac_len,
|
|
1264
|
-
const uint8_t *mac, size_t mac_len)
|
|
1265
|
-
{
|
|
1266
|
-
if (NULL == ctx || NULL == mac_ctx || NULL == pub_key ||
|
|
1267
|
-
0 == pub_key_len || NULL == sign_or_mac || 0 == sign_or_mac_len ||
|
|
1268
|
-
NULL == mac || 0 == mac_len)
|
|
1269
|
-
return EDHOC_ERROR_INVALID_ARGUMENT;
|
|
1270
|
-
|
|
1271
|
-
if (EDHOC_MSG_2 == ctx->message) {
|
|
1272
|
-
switch (ctx->chosen_method) {
|
|
1273
|
-
case EDHOC_METHOD_0:
|
|
1274
|
-
case EDHOC_METHOD_2:
|
|
1275
|
-
return verify_cose_sign_1(ctx, mac_ctx, pub_key,
|
|
1276
|
-
pub_key_len, mac, mac_len,
|
|
1277
|
-
sign_or_mac, sign_or_mac_len);
|
|
1278
|
-
|
|
1279
|
-
case EDHOC_METHOD_1:
|
|
1280
|
-
case EDHOC_METHOD_3:
|
|
1281
|
-
if (mac_len != sign_or_mac_len ||
|
|
1282
|
-
0 != memcmp(sign_or_mac, mac, mac_len))
|
|
1283
|
-
return EDHOC_ERROR_INVALID_SIGN_OR_MAC_2;
|
|
1284
|
-
|
|
1285
|
-
return EDHOC_SUCCESS;
|
|
1286
|
-
|
|
1287
|
-
case EDHOC_METHOD_MAX:
|
|
1288
|
-
return EDHOC_ERROR_NOT_PERMITTED;
|
|
1289
|
-
}
|
|
1290
|
-
}
|
|
1291
|
-
|
|
1292
|
-
if (EDHOC_MSG_3 == ctx->message) {
|
|
1293
|
-
switch (ctx->chosen_method) {
|
|
1294
|
-
case EDHOC_METHOD_0:
|
|
1295
|
-
case EDHOC_METHOD_1:
|
|
1296
|
-
return verify_cose_sign_1(ctx, mac_ctx, pub_key,
|
|
1297
|
-
pub_key_len, mac, mac_len,
|
|
1298
|
-
sign_or_mac, sign_or_mac_len);
|
|
1299
|
-
|
|
1300
|
-
case EDHOC_METHOD_2:
|
|
1301
|
-
case EDHOC_METHOD_3:
|
|
1302
|
-
if (mac_len != sign_or_mac_len ||
|
|
1303
|
-
0 != memcmp(sign_or_mac, mac, mac_len))
|
|
1304
|
-
return EDHOC_ERROR_INVALID_SIGN_OR_MAC_2;
|
|
1305
|
-
|
|
1306
|
-
return EDHOC_SUCCESS;
|
|
1307
|
-
|
|
1308
|
-
case EDHOC_METHOD_MAX:
|
|
1309
|
-
return EDHOC_ERROR_NOT_PERMITTED;
|
|
1310
|
-
}
|
|
1311
|
-
}
|
|
1312
|
-
|
|
1313
|
-
return EDHOC_ERROR_BAD_STATE;
|
|
1314
|
-
}
|