edhoc 1.0.5 → 1.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +170 -0
- package/binding.gyp +13 -11
- package/dist/crypto.d.ts +9 -2
- package/dist/crypto.d.ts.map +1 -1
- package/dist/crypto.js +112 -84
- package/dist/edhoc.d.ts +31 -9
- package/dist/edhoc.d.ts.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/x509credentials.d.ts +20 -0
- package/dist/x509credentials.d.ts.map +1 -0
- package/dist/x509credentials.js +140 -0
- package/external/libedhoc/backends/cbor/include/backend_cbor_bstr_type_decode.h +1 -1
- package/external/libedhoc/backends/cbor/include/backend_cbor_bstr_type_encode.h +1 -1
- package/external/libedhoc/backends/cbor/include/backend_cbor_bstr_type_types.h +1 -1
- package/external/libedhoc/backends/cbor/include/backend_cbor_ead_decode.h +2 -2
- package/external/libedhoc/backends/cbor/include/backend_cbor_ead_encode.h +2 -2
- package/external/libedhoc/backends/cbor/include/backend_cbor_edhoc_types.h +48 -43
- package/external/libedhoc/backends/cbor/include/backend_cbor_enc_structure_decode.h +1 -1
- package/external/libedhoc/backends/cbor/include/backend_cbor_enc_structure_encode.h +1 -1
- package/external/libedhoc/backends/cbor/include/backend_cbor_enc_structure_types.h +3 -3
- package/external/libedhoc/backends/cbor/include/backend_cbor_id_cred_x_decode.h +1 -1
- package/external/libedhoc/backends/cbor/include/backend_cbor_id_cred_x_encode.h +1 -1
- package/external/libedhoc/backends/cbor/include/backend_cbor_info_decode.h +1 -1
- package/external/libedhoc/backends/cbor/include/backend_cbor_info_encode.h +1 -1
- package/external/libedhoc/backends/cbor/include/backend_cbor_int_type_decode.h +1 -1
- package/external/libedhoc/backends/cbor/include/backend_cbor_int_type_encode.h +1 -1
- package/external/libedhoc/backends/cbor/include/backend_cbor_int_type_types.h +1 -1
- package/external/libedhoc/backends/cbor/include/backend_cbor_message_1_decode.h +1 -1
- package/external/libedhoc/backends/cbor/include/backend_cbor_message_1_encode.h +1 -1
- package/external/libedhoc/backends/cbor/include/backend_cbor_message_2_decode.h +1 -1
- package/external/libedhoc/backends/cbor/include/backend_cbor_message_2_encode.h +1 -1
- package/external/libedhoc/backends/cbor/include/backend_cbor_message_3_decode.h +1 -1
- package/external/libedhoc/backends/cbor/include/backend_cbor_message_3_encode.h +1 -1
- package/external/libedhoc/backends/cbor/include/backend_cbor_message_4_decode.h +1 -1
- package/external/libedhoc/backends/cbor/include/backend_cbor_message_4_encode.h +1 -1
- package/external/libedhoc/backends/cbor/include/backend_cbor_message_error_decode.h +1 -1
- package/external/libedhoc/backends/cbor/include/backend_cbor_message_error_encode.h +1 -1
- package/external/libedhoc/backends/cbor/include/backend_cbor_plaintext_2_decode.h +1 -1
- package/external/libedhoc/backends/cbor/include/backend_cbor_plaintext_2_encode.h +1 -1
- package/external/libedhoc/backends/cbor/include/backend_cbor_plaintext_3_decode.h +1 -1
- package/external/libedhoc/backends/cbor/include/backend_cbor_plaintext_3_encode.h +1 -1
- package/external/libedhoc/backends/cbor/include/backend_cbor_plaintext_4_decode.h +3 -3
- package/external/libedhoc/backends/cbor/include/backend_cbor_plaintext_4_encode.h +3 -3
- package/external/libedhoc/backends/cbor/include/backend_cbor_sig_structure_decode.h +1 -1
- package/external/libedhoc/backends/cbor/include/backend_cbor_sig_structure_encode.h +1 -1
- package/external/libedhoc/backends/cbor/include/backend_cbor_sig_structure_types.h +4 -4
- package/external/libedhoc/backends/cbor/include/backend_cbor_x509_types.h +93 -83
- package/external/libedhoc/backends/cbor/src/backend_cbor_bstr_type_decode.c +11 -20
- package/external/libedhoc/backends/cbor/src/backend_cbor_bstr_type_encode.c +11 -20
- package/external/libedhoc/backends/cbor/src/backend_cbor_ead_decode.c +27 -32
- package/external/libedhoc/backends/cbor/src/backend_cbor_ead_encode.c +27 -32
- package/external/libedhoc/backends/cbor/src/backend_cbor_enc_structure_decode.c +14 -23
- package/external/libedhoc/backends/cbor/src/backend_cbor_enc_structure_encode.c +14 -23
- package/external/libedhoc/backends/cbor/src/backend_cbor_id_cred_x_decode.c +63 -52
- package/external/libedhoc/backends/cbor/src/backend_cbor_id_cred_x_encode.c +62 -51
- package/external/libedhoc/backends/cbor/src/backend_cbor_info_decode.c +14 -23
- package/external/libedhoc/backends/cbor/src/backend_cbor_info_encode.c +14 -23
- package/external/libedhoc/backends/cbor/src/backend_cbor_int_type_decode.c +11 -20
- package/external/libedhoc/backends/cbor/src/backend_cbor_int_type_encode.c +11 -20
- package/external/libedhoc/backends/cbor/src/backend_cbor_message_1_decode.c +54 -51
- package/external/libedhoc/backends/cbor/src/backend_cbor_message_1_encode.c +54 -51
- package/external/libedhoc/backends/cbor/src/backend_cbor_message_2_decode.c +11 -20
- package/external/libedhoc/backends/cbor/src/backend_cbor_message_2_encode.c +11 -20
- package/external/libedhoc/backends/cbor/src/backend_cbor_message_3_decode.c +11 -20
- package/external/libedhoc/backends/cbor/src/backend_cbor_message_3_encode.c +11 -20
- package/external/libedhoc/backends/cbor/src/backend_cbor_message_4_decode.c +11 -20
- package/external/libedhoc/backends/cbor/src/backend_cbor_message_4_encode.c +11 -20
- package/external/libedhoc/backends/cbor/src/backend_cbor_message_error_decode.c +36 -37
- package/external/libedhoc/backends/cbor/src/backend_cbor_message_error_encode.c +36 -37
- package/external/libedhoc/backends/cbor/src/backend_cbor_plaintext_2_decode.c +103 -80
- package/external/libedhoc/backends/cbor/src/backend_cbor_plaintext_2_encode.c +102 -79
- package/external/libedhoc/backends/cbor/src/backend_cbor_plaintext_3_decode.c +99 -76
- package/external/libedhoc/backends/cbor/src/backend_cbor_plaintext_3_encode.c +98 -75
- package/external/libedhoc/backends/cbor/src/backend_cbor_plaintext_4_decode.c +40 -41
- package/external/libedhoc/backends/cbor/src/backend_cbor_plaintext_4_encode.c +40 -41
- package/external/libedhoc/backends/cbor/src/backend_cbor_sig_structure_decode.c +15 -24
- package/external/libedhoc/backends/cbor/src/backend_cbor_sig_structure_encode.c +15 -24
- package/external/libedhoc/externals/Unity/examples/example_1/src/ProductionCode.c +31 -0
- package/external/libedhoc/externals/Unity/examples/example_1/src/ProductionCode.h +10 -0
- package/external/libedhoc/externals/Unity/examples/example_1/src/ProductionCode2.c +18 -0
- package/external/libedhoc/externals/Unity/examples/example_1/src/ProductionCode2.h +9 -0
- package/external/libedhoc/externals/Unity/examples/example_1/test/TestProductionCode.c +69 -0
- package/external/libedhoc/externals/Unity/examples/example_1/test/TestProductionCode2.c +38 -0
- package/external/libedhoc/externals/Unity/examples/example_1/test/test_runners/TestProductionCode2_Runner.c +53 -0
- package/external/libedhoc/externals/Unity/examples/example_1/test/test_runners/TestProductionCode_Runner.c +57 -0
- package/external/libedhoc/externals/Unity/examples/example_2/src/ProductionCode.c +31 -0
- package/external/libedhoc/externals/Unity/examples/example_2/src/ProductionCode.h +10 -0
- package/external/libedhoc/externals/Unity/examples/example_2/src/ProductionCode2.c +18 -0
- package/external/libedhoc/externals/Unity/examples/example_2/src/ProductionCode2.h +9 -0
- package/external/libedhoc/externals/Unity/examples/example_2/test/TestProductionCode.c +71 -0
- package/external/libedhoc/externals/Unity/examples/example_2/test/TestProductionCode2.c +40 -0
- package/external/libedhoc/externals/Unity/examples/example_2/test/test_runners/TestProductionCode2_Runner.c +16 -0
- package/external/libedhoc/externals/Unity/examples/example_2/test/test_runners/TestProductionCode_Runner.c +18 -0
- package/external/libedhoc/externals/Unity/examples/example_2/test/test_runners/all_tests.c +19 -0
- package/external/libedhoc/externals/Unity/examples/example_3/helper/UnityHelper.c +17 -0
- package/external/libedhoc/externals/Unity/examples/example_3/helper/UnityHelper.h +19 -0
- package/external/libedhoc/externals/Unity/examples/example_3/src/ProductionCode.c +31 -0
- package/external/libedhoc/externals/Unity/examples/example_3/src/ProductionCode.h +10 -0
- package/external/libedhoc/externals/Unity/examples/example_3/src/ProductionCode2.c +18 -0
- package/external/libedhoc/externals/Unity/examples/example_3/src/ProductionCode2.h +9 -0
- package/external/libedhoc/externals/Unity/examples/example_3/test/TestProductionCode.c +69 -0
- package/external/libedhoc/externals/Unity/examples/example_3/test/TestProductionCode2.c +38 -0
- package/external/libedhoc/externals/Unity/examples/example_4/src/ProductionCode.c +31 -0
- package/external/libedhoc/externals/Unity/examples/example_4/src/ProductionCode.h +10 -0
- package/external/libedhoc/externals/Unity/examples/example_4/src/ProductionCode2.c +18 -0
- package/external/libedhoc/externals/Unity/examples/example_4/src/ProductionCode2.h +9 -0
- package/external/libedhoc/externals/Unity/examples/example_4/test/TestProductionCode.c +70 -0
- package/external/libedhoc/externals/Unity/examples/example_4/test/TestProductionCode2.c +42 -0
- package/external/libedhoc/externals/Unity/examples/example_4/test/test_runners/TestProductionCode2_Runner.c +53 -0
- package/external/libedhoc/externals/Unity/examples/example_4/test/test_runners/TestProductionCode_Runner.c +57 -0
- package/external/libedhoc/externals/Unity/examples/unity_config.h +251 -0
- package/external/libedhoc/externals/Unity/extras/bdd/src/unity_bdd.h +44 -0
- package/external/libedhoc/externals/Unity/extras/bdd/test/test_bdd.c +129 -0
- package/external/libedhoc/externals/Unity/extras/fixture/src/unity_fixture.c +310 -0
- package/external/libedhoc/externals/Unity/extras/fixture/src/unity_fixture.h +95 -0
- package/external/libedhoc/externals/Unity/extras/fixture/src/unity_fixture_internals.h +51 -0
- package/external/libedhoc/externals/Unity/extras/fixture/test/main/AllTests.c +20 -0
- package/external/libedhoc/externals/Unity/extras/fixture/test/template_fixture_tests.c +40 -0
- package/external/libedhoc/externals/Unity/extras/fixture/test/unity_fixture_Test.c +246 -0
- package/external/libedhoc/externals/Unity/extras/fixture/test/unity_fixture_TestRunner.c +33 -0
- package/external/libedhoc/externals/Unity/extras/memory/src/unity_memory.c +203 -0
- package/external/libedhoc/externals/Unity/extras/memory/src/unity_memory.h +61 -0
- package/external/libedhoc/externals/Unity/extras/memory/test/unity_memory_Test.c +326 -0
- package/external/libedhoc/externals/Unity/extras/memory/test/unity_memory_TestRunner.c +50 -0
- package/external/libedhoc/externals/Unity/extras/memory/test/unity_output_Spy.c +57 -0
- package/external/libedhoc/externals/Unity/extras/memory/test/unity_output_Spy.h +17 -0
- package/external/libedhoc/externals/Unity/src/unity.c +2501 -0
- package/external/libedhoc/externals/Unity/src/unity.h +698 -0
- package/external/libedhoc/externals/Unity/src/unity_internals.h +1183 -0
- package/external/libedhoc/externals/Unity/test/expectdata/testsample_cmd.c +61 -0
- package/external/libedhoc/externals/Unity/test/expectdata/testsample_def.c +57 -0
- package/external/libedhoc/externals/Unity/test/expectdata/testsample_head1.c +55 -0
- package/external/libedhoc/externals/Unity/test/expectdata/testsample_head1.h +15 -0
- package/external/libedhoc/externals/Unity/test/expectdata/testsample_mock_cmd.c +80 -0
- package/external/libedhoc/externals/Unity/test/expectdata/testsample_mock_def.c +76 -0
- package/external/libedhoc/externals/Unity/test/expectdata/testsample_mock_head1.c +75 -0
- package/external/libedhoc/externals/Unity/test/expectdata/testsample_mock_head1.h +13 -0
- package/external/libedhoc/externals/Unity/test/expectdata/testsample_mock_new1.c +89 -0
- package/external/libedhoc/externals/Unity/test/expectdata/testsample_mock_new2.c +89 -0
- package/external/libedhoc/externals/Unity/test/expectdata/testsample_mock_param.c +77 -0
- package/external/libedhoc/externals/Unity/test/expectdata/testsample_mock_run1.c +89 -0
- package/external/libedhoc/externals/Unity/test/expectdata/testsample_mock_run2.c +89 -0
- package/external/libedhoc/externals/Unity/test/expectdata/testsample_mock_yaml.c +90 -0
- package/external/libedhoc/externals/Unity/test/expectdata/testsample_new1.c +67 -0
- package/external/libedhoc/externals/Unity/test/expectdata/testsample_new2.c +70 -0
- package/external/libedhoc/externals/Unity/test/expectdata/testsample_param.c +58 -0
- package/external/libedhoc/externals/Unity/test/expectdata/testsample_run1.c +67 -0
- package/external/libedhoc/externals/Unity/test/expectdata/testsample_run2.c +70 -0
- package/external/libedhoc/externals/Unity/test/expectdata/testsample_yaml.c +71 -0
- package/external/libedhoc/externals/Unity/test/testdata/CException.h +18 -0
- package/external/libedhoc/externals/Unity/test/testdata/Defs.h +16 -0
- package/external/libedhoc/externals/Unity/test/testdata/cmock.h +21 -0
- package/external/libedhoc/externals/Unity/test/testdata/mockMock.h +20 -0
- package/external/libedhoc/externals/Unity/test/testdata/testRunnerGenerator.c +204 -0
- package/external/libedhoc/externals/Unity/test/testdata/testRunnerGeneratorSmall.c +73 -0
- package/external/libedhoc/externals/Unity/test/testdata/testRunnerGeneratorWithMocks.c +200 -0
- package/external/libedhoc/externals/Unity/test/tests/self_assessment_utils.h +151 -0
- package/external/libedhoc/externals/Unity/test/tests/test_unity_arrays.c +2941 -0
- package/external/libedhoc/externals/Unity/test/tests/test_unity_core.c +375 -0
- package/external/libedhoc/externals/Unity/test/tests/test_unity_doubles.c +1285 -0
- package/external/libedhoc/externals/Unity/test/tests/test_unity_floats.c +1395 -0
- package/external/libedhoc/externals/Unity/test/tests/test_unity_integers.c +2863 -0
- package/external/libedhoc/externals/Unity/test/tests/test_unity_integers_64.c +783 -0
- package/external/libedhoc/externals/Unity/test/tests/test_unity_memory.c +82 -0
- package/external/libedhoc/externals/Unity/test/tests/test_unity_parameterized.c +309 -0
- package/external/libedhoc/externals/Unity/test/tests/test_unity_parameterizedDemo.c +28 -0
- package/external/libedhoc/externals/Unity/test/tests/test_unity_strings.c +330 -0
- package/external/libedhoc/externals/Unity/test/tests/types_for_test.h +21 -0
- package/external/libedhoc/externals/zcbor/include/zcbor_common.h +147 -60
- package/external/libedhoc/externals/zcbor/include/zcbor_decode.h +291 -202
- package/external/libedhoc/externals/zcbor/include/zcbor_encode.h +100 -156
- package/external/libedhoc/externals/zcbor/include/zcbor_print.h +165 -0
- package/external/libedhoc/externals/zcbor/samples/hello_world/src/main.c +1 -1
- package/external/libedhoc/externals/zcbor/samples/pet/include/pet_decode.h +1 -1
- package/external/libedhoc/externals/zcbor/samples/pet/include/pet_encode.h +1 -1
- package/external/libedhoc/externals/zcbor/samples/pet/include/pet_types.h +4 -4
- package/external/libedhoc/externals/zcbor/samples/pet/src/main.c +4 -4
- package/external/libedhoc/externals/zcbor/samples/pet/src/pet_decode.c +15 -24
- package/external/libedhoc/externals/zcbor/samples/pet/src/pet_encode.c +14 -23
- package/external/libedhoc/externals/zcbor/src/zcbor_common.c +202 -29
- package/external/libedhoc/externals/zcbor/src/zcbor_decode.c +633 -173
- package/external/libedhoc/externals/zcbor/src/zcbor_encode.c +71 -184
- package/external/libedhoc/externals/zcbor/tests/decode/test1_suit_old_formats/src/main.c +152 -153
- package/external/libedhoc/externals/zcbor/tests/decode/test2_suit/src/main.c +64 -64
- package/external/libedhoc/externals/zcbor/tests/decode/test3_simple/src/main.c +15 -16
- package/external/libedhoc/externals/zcbor/tests/decode/test5_corner_cases/src/main.c +228 -84
- package/external/libedhoc/externals/zcbor/tests/decode/test7_suit9_simple/src/main.c +9 -9
- package/external/libedhoc/externals/zcbor/tests/decode/test8_suit12/src/main.c +0 -1
- package/external/libedhoc/externals/zcbor/tests/decode/test9_manifest14/src/main.c +172 -173
- package/external/libedhoc/externals/zcbor/tests/encode/test1_suit/src/main.c +73 -73
- package/external/libedhoc/externals/zcbor/tests/encode/test2_simple/src/main.c +1 -2
- package/external/libedhoc/externals/zcbor/tests/encode/test3_corner_cases/src/main.c +83 -56
- package/external/libedhoc/externals/zcbor/tests/encode/test4_senml/src/main.c +15 -16
- package/external/libedhoc/externals/zcbor/tests/fuzz/fuzz_everything.c +12 -0
- package/external/libedhoc/externals/zcbor/tests/fuzz/fuzz_manifest12.c +69 -69
- package/external/libedhoc/externals/zcbor/tests/unit/test1_unit_tests/src/main.c +448 -55
- package/external/libedhoc/externals/zcbor/tests/unit/test3_float16/src/main.c +49 -48
- package/external/libedhoc/include/edhoc.h +348 -54
- package/external/libedhoc/include/edhoc_common.h +289 -0
- package/external/libedhoc/include/edhoc_context.h +60 -35
- package/external/libedhoc/include/edhoc_credentials.h +55 -7
- package/external/libedhoc/include/edhoc_crypto.h +10 -10
- package/external/libedhoc/include/edhoc_ead.h +13 -10
- package/external/libedhoc/include/edhoc_macros.h +20 -11
- package/external/libedhoc/include/edhoc_values.h +2 -2
- package/external/libedhoc/library/edhoc.c +70 -36
- package/external/libedhoc/library/edhoc_common.c +1314 -0
- package/external/libedhoc/library/edhoc_exporter.c +45 -46
- package/external/libedhoc/library/edhoc_message_1.c +107 -72
- package/external/libedhoc/library/edhoc_message_2.c +396 -1693
- package/external/libedhoc/library/edhoc_message_3.c +465 -1656
- package/external/libedhoc/library/edhoc_message_4.c +93 -91
- package/external/libedhoc/library/edhoc_message_error.c +41 -41
- package/external/libedhoc/tests/include/{cipher_suites/cipher_suite_0.h → cipher_suite_0.h} +131 -134
- package/external/libedhoc/tests/include/{cipher_suites/cipher_suite_2.h → cipher_suite_2.h} +139 -140
- package/external/libedhoc/tests/include/{edhoc_trace_1/test_vector_1.h → test_vector_rfc9529_chapter_2.h} +786 -738
- package/external/libedhoc/tests/include/{edhoc_trace_2/test_vector_2.h → test_vector_rfc9529_chapter_3.h} +14 -10
- package/external/libedhoc/tests/include/{x509_chain_cs_0/test_vector_x5chain_cs_0.h → test_vector_x5chain_sign_keys_suite_0.h} +137 -140
- package/external/libedhoc/tests/include/{x509_chain_cs_2/test_vector_x5chain_cs_2.h → test_vector_x5chain_sign_keys_suite_2.h} +7 -8
- package/external/libedhoc/tests/include/{x509_chain_cs_2_static_dh/test_vector_x5chain_cs_2_static_dh.h → test_vector_x5chain_static_dh_keys_suite_2.h} +7 -8
- package/external/libedhoc/tests/include/{x509_hash_cs_2/test_vector_x5t_cs_2.h → test_vector_x5t_sign_keys_suite_2.h} +6 -7
- package/external/libedhoc/tests/src/{cipher_suites/cipher_suite_0.c → cipher_suite_0.c} +445 -447
- package/external/libedhoc/tests/src/{cipher_suites/cipher_suite_2.c → cipher_suite_2.c} +600 -600
- package/external/libedhoc/tests/src/module_test_api.c +430 -0
- package/external/libedhoc/tests/src/module_test_cipher_suite_0.c +395 -0
- package/external/libedhoc/tests/src/module_test_cipher_suite_2.c +392 -0
- package/external/libedhoc/tests/src/{error_message/test_edhoc_error_message.c → module_test_error_message.c} +94 -69
- package/external/libedhoc/tests/src/module_test_main.c +49 -0
- package/external/libedhoc/tests/src/{cipher_suite_negotiation/test_edhoc_cipher_suite_negotiation.c → module_test_rfc9528_suites_negotiation.c} +224 -227
- package/external/libedhoc/tests/src/module_test_rfc9529_chapter_2.c +2681 -0
- package/external/libedhoc/tests/src/module_test_rfc9529_chapter_3.c +1635 -0
- package/external/libedhoc/tests/src/module_test_x5chain_sign_keys_suite_0.c +1135 -0
- package/external/libedhoc/tests/src/module_test_x5chain_sign_keys_suite_2.c +1249 -0
- package/external/libedhoc/tests/src/module_test_x5chain_static_dh_keys_suite_2.c +798 -0
- package/external/libedhoc/tests/src/module_test_x5t_sign_keys_suite_2.c +956 -0
- package/include/EdhocComposeAsyncWorker.h +8 -6
- package/include/EdhocCredentialManager.h +16 -11
- package/include/EdhocCryptoManager.h +28 -21
- package/include/EdhocEadManager.h +3 -6
- package/include/{EdhocExportAsyncWorker.h → EdhocExportOscoreAsyncWorker.h} +20 -17
- package/include/EdhocKeyExporterAsyncWorker.h +76 -0
- package/include/EdhocKeyUpdateAsyncWorker.h +72 -0
- package/include/EdhocProcessAsyncWorker.h +14 -10
- package/include/LibEDHOC.h +44 -20
- package/include/UserContext.h +7 -9
- package/include/Utils.h +31 -27
- package/package.json +14 -3
- package/prebuilds/android-arm/edhoc.armv7.node +0 -0
- package/prebuilds/android-arm64/edhoc.armv8.node +0 -0
- package/prebuilds/darwin-arm64/edhoc.node +0 -0
- package/prebuilds/darwin-x64/edhoc.node +0 -0
- package/prebuilds/linux-arm/edhoc.armv6.node +0 -0
- package/prebuilds/linux-arm/edhoc.armv7.node +0 -0
- package/prebuilds/linux-arm64/edhoc.armv8.node +0 -0
- package/prebuilds/linux-x64/edhoc.glibc.node +0 -0
- package/prebuilds/linux-x64/edhoc.musl.node +0 -0
- package/prebuilds/win32-ia32/edhoc.node +0 -0
- package/prebuilds/win32-x64/edhoc.node +0 -0
- package/src/EdhocComposeAsyncWorker.cpp +18 -35
- package/src/EdhocCredentialManager.cpp +160 -187
- package/src/EdhocCryptoManager.cpp +386 -586
- package/src/EdhocEadManager.cpp +10 -18
- package/src/EdhocExportOscoreAsyncWorker.cpp +77 -0
- package/src/EdhocKeyExporterAsyncWorker.cpp +49 -0
- package/src/EdhocKeyUpdateAsyncWorker.cpp +41 -0
- package/src/EdhocProcessAsyncWorker.cpp +72 -19
- package/src/LibEDHOC.cpp +213 -174
- package/src/Suites.cpp +39 -72
- package/src/Utils.cpp +32 -56
- package/test/basic.test.ts +64 -0
- package/test/vectors.test.ts +111 -0
- package/dist/credentials.d.ts +0 -16
- package/dist/credentials.d.ts.map +0 -1
- package/dist/credentials.js +0 -84
- package/external/libedhoc/externals/zcbor/include/zcbor_debug.h +0 -69
- package/external/libedhoc/tests/include/cipher_suite_negotiation/test_edhoc_cipher_suite_negotiation.h +0 -37
- package/external/libedhoc/tests/include/cipher_suites/test_cipher_suite_0.h +0 -48
- package/external/libedhoc/tests/include/cipher_suites/test_cipher_suite_2.h +0 -48
- package/external/libedhoc/tests/include/edhoc_trace_1/authentication_credentials_1.h +0 -60
- package/external/libedhoc/tests/include/edhoc_trace_1/test_edhoc_handshake_1.h +0 -208
- package/external/libedhoc/tests/include/edhoc_trace_1/test_edhoc_handshake_ead_1.h +0 -59
- package/external/libedhoc/tests/include/edhoc_trace_2/authentication_credentials_2.h +0 -60
- package/external/libedhoc/tests/include/edhoc_trace_2/test_edhoc_handshake_2.h +0 -199
- package/external/libedhoc/tests/include/error_message/test_edhoc_error_message.h +0 -48
- package/external/libedhoc/tests/include/x509_chain_cs_0/authentication_credentials_x5chain_cs_0.h +0 -92
- package/external/libedhoc/tests/include/x509_chain_cs_0/test_edhoc_handshake_x5chain_cs_0.h +0 -96
- package/external/libedhoc/tests/include/x509_chain_cs_2/authentication_credentials_x5chain_cs_2.h +0 -58
- package/external/libedhoc/tests/include/x509_chain_cs_2/test_edhoc_handshake_x5chain_cs_2.h +0 -56
- package/external/libedhoc/tests/include/x509_chain_cs_2/test_edhoc_handshake_x5chain_cs_2_ead.h +0 -57
- package/external/libedhoc/tests/include/x509_chain_cs_2_static_dh/authentication_credentials_x5chain_cs_2_static_dh.h +0 -59
- package/external/libedhoc/tests/include/x509_chain_cs_2_static_dh/test_edhoc_handshake_x5chain_cs_2_static_dh_ead.h +0 -57
- package/external/libedhoc/tests/include/x509_hash_cs_2/authentication_credentials_x5t_cs_2.h +0 -60
- package/external/libedhoc/tests/include/x509_hash_cs_2/test_edhoc_handshake_x5t_cs_2_ead.h +0 -57
- package/external/libedhoc/tests/src/cipher_suites/test_cipher_suite_0.c +0 -475
- package/external/libedhoc/tests/src/cipher_suites/test_cipher_suite_2.c +0 -473
- package/external/libedhoc/tests/src/edhoc_trace_1/authentication_credentials_1.c +0 -252
- package/external/libedhoc/tests/src/edhoc_trace_1/test_edhoc_handshake_1.c +0 -1829
- package/external/libedhoc/tests/src/edhoc_trace_1/test_edhoc_handshake_ead_1.c +0 -1247
- package/external/libedhoc/tests/src/edhoc_trace_2/authentication_credentials_2.c +0 -170
- package/external/libedhoc/tests/src/edhoc_trace_2/test_edhoc_handshake_2.c +0 -1783
- package/external/libedhoc/tests/src/tests.c +0 -228
- package/external/libedhoc/tests/src/x509_chain_cs_0/authentication_credentials_x5chain_cs_0.c +0 -332
- package/external/libedhoc/tests/src/x509_chain_cs_0/test_edhoc_handshake_x5chain_cs_0.c +0 -936
- package/external/libedhoc/tests/src/x509_chain_cs_2/authentication_credentials_x5chain_cs_2.c +0 -166
- package/external/libedhoc/tests/src/x509_chain_cs_2/test_edhoc_handshake_x5chain_cs_2.c +0 -587
- package/external/libedhoc/tests/src/x509_chain_cs_2/test_edhoc_handshake_x5chain_cs_2_ead.c +0 -917
- package/external/libedhoc/tests/src/x509_chain_cs_2_static_dh/authentication_credentials_x5chain_cs_2_static_dh.c +0 -186
- package/external/libedhoc/tests/src/x509_chain_cs_2_static_dh/test_edhoc_handshake_x5chain_cs_2_static_dh_ead.c +0 -743
- package/external/libedhoc/tests/src/x509_hash_cs_2/authentication_credentials_x5t_cs_2.c +0 -261
- package/external/libedhoc/tests/src/x509_hash_cs_2/test_edhoc_handshake_x5t_cs_2_ead.c +0 -854
- package/src/EdhocExportAsyncWorker.cpp +0 -82
|
@@ -1,134 +1,131 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* \file cipher_suite_0.h
|
|
3
|
-
* \author Kamil Kielbasa
|
|
4
|
-
* \brief Cipher suite 0
|
|
5
|
-
* - AEAD algorithm = AES-CCM-16-64-128
|
|
6
|
-
* - hash algorithm = SHA-256
|
|
7
|
-
* - MAC length in bytes (Static DH) = 8
|
|
8
|
-
* - key exchange algorithm (ECDH curve) = X25519
|
|
9
|
-
* - signature algorithm = EdDSA
|
|
10
|
-
*
|
|
11
|
-
* \version 0.
|
|
12
|
-
* \date 2024-
|
|
13
|
-
*
|
|
14
|
-
* \copyright Copyright (c) 2024
|
|
15
|
-
*
|
|
16
|
-
*/
|
|
17
|
-
|
|
18
|
-
/* Header guard ------------------------------------------------------------ */
|
|
19
|
-
#ifndef CIPHER_SUITE_0_H
|
|
20
|
-
#define CIPHER_SUITE_0_H
|
|
21
|
-
|
|
22
|
-
/* Include files ----------------------------------------------------------- */
|
|
23
|
-
|
|
24
|
-
/* EDHOC header: */
|
|
25
|
-
#include "edhoc_crypto.h"
|
|
26
|
-
|
|
27
|
-
/* Standard library headers: */
|
|
28
|
-
#include <stdint.h>
|
|
29
|
-
#include <stddef.h>
|
|
30
|
-
|
|
31
|
-
/* Module defines ---------------------------------------------------------- */
|
|
32
|
-
/* Module types and type definitiones -------------------------------------- */
|
|
33
|
-
/* Module interface variables and constants -------------------------------- */
|
|
34
|
-
/* Static variables and constants ------------------------------------------ */
|
|
35
|
-
/* Static function declarations -------------------------------------------- */
|
|
36
|
-
/* Static function definitions --------------------------------------------- */
|
|
37
|
-
/* Module interface function definitions ----------------------------------- */
|
|
38
|
-
|
|
39
|
-
/**
|
|
40
|
-
* \brief Crypto key generation.
|
|
41
|
-
*/
|
|
42
|
-
int
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
size_t
|
|
58
|
-
size_t *
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
*
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
size_t
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
*
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
*
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
*
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
*
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
*
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
const uint8_t *
|
|
110
|
-
|
|
111
|
-
size_t
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
*
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
const uint8_t *
|
|
121
|
-
|
|
122
|
-
size_t
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
*
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
size_t *hash_length);
|
|
133
|
-
|
|
134
|
-
#endif /* CIPHER_SUITE_0_H */
|
|
1
|
+
/**
|
|
2
|
+
* \file cipher_suite_0.h
|
|
3
|
+
* \author Kamil Kielbasa
|
|
4
|
+
* \brief Cipher suite 0 conatins:
|
|
5
|
+
* - AEAD algorithm = AES-CCM-16-64-128
|
|
6
|
+
* - hash algorithm = SHA-256
|
|
7
|
+
* - MAC length in bytes (Static DH) = 8
|
|
8
|
+
* - key exchange algorithm (ECDH curve) = X25519
|
|
9
|
+
* - signature algorithm = EdDSA
|
|
10
|
+
*
|
|
11
|
+
* \version 0.6
|
|
12
|
+
* \date 2024-08-05
|
|
13
|
+
*
|
|
14
|
+
* \copyright Copyright (c) 2024
|
|
15
|
+
*
|
|
16
|
+
*/
|
|
17
|
+
|
|
18
|
+
/* Header guard ------------------------------------------------------------ */
|
|
19
|
+
#ifndef CIPHER_SUITE_0_H
|
|
20
|
+
#define CIPHER_SUITE_0_H
|
|
21
|
+
|
|
22
|
+
/* Include files ----------------------------------------------------------- */
|
|
23
|
+
|
|
24
|
+
/* EDHOC header: */
|
|
25
|
+
#include "edhoc_crypto.h"
|
|
26
|
+
|
|
27
|
+
/* Standard library headers: */
|
|
28
|
+
#include <stdint.h>
|
|
29
|
+
#include <stddef.h>
|
|
30
|
+
|
|
31
|
+
/* Module defines ---------------------------------------------------------- */
|
|
32
|
+
/* Module types and type definitiones -------------------------------------- */
|
|
33
|
+
/* Module interface variables and constants -------------------------------- */
|
|
34
|
+
/* Static variables and constants ------------------------------------------ */
|
|
35
|
+
/* Static function declarations -------------------------------------------- */
|
|
36
|
+
/* Static function definitions --------------------------------------------- */
|
|
37
|
+
/* Module interface function definitions ----------------------------------- */
|
|
38
|
+
|
|
39
|
+
/**
|
|
40
|
+
* \brief Crypto key generation.
|
|
41
|
+
*/
|
|
42
|
+
int cipher_suite_0_key_import(void *user_context, enum edhoc_key_type key_type,
|
|
43
|
+
const uint8_t *raw_key, size_t raw_key_len,
|
|
44
|
+
void *kid);
|
|
45
|
+
|
|
46
|
+
/**
|
|
47
|
+
* \brief Crypto key destroy.
|
|
48
|
+
*/
|
|
49
|
+
int cipher_suite_0_key_destroy(void *user_context, void *kid);
|
|
50
|
+
|
|
51
|
+
/**
|
|
52
|
+
* \brief ECDH make key pair.
|
|
53
|
+
*/
|
|
54
|
+
int cipher_suite_0_make_key_pair(void *user_context, const void *key_id,
|
|
55
|
+
uint8_t *private_key, size_t private_key_size,
|
|
56
|
+
size_t *private_key_length,
|
|
57
|
+
uint8_t *public_key, size_t public_key_size,
|
|
58
|
+
size_t *public_key_length);
|
|
59
|
+
|
|
60
|
+
/**
|
|
61
|
+
* \brief ECDH key agreement.
|
|
62
|
+
*/
|
|
63
|
+
int cipher_suite_0_key_agreement(void *user_context, const void *key_id,
|
|
64
|
+
const uint8_t *peer_public_key,
|
|
65
|
+
size_t peer_public_key_length,
|
|
66
|
+
uint8_t *shared_secret,
|
|
67
|
+
size_t shared_secret_size,
|
|
68
|
+
size_t *shared_secret_length);
|
|
69
|
+
|
|
70
|
+
/**
|
|
71
|
+
* \brief ECDSA signature.
|
|
72
|
+
*/
|
|
73
|
+
int cipher_suite_0_signature(void *user_context, const void *key_id,
|
|
74
|
+
const uint8_t *input, size_t input_length,
|
|
75
|
+
uint8_t *signature, size_t signature_size,
|
|
76
|
+
size_t *signature_length);
|
|
77
|
+
|
|
78
|
+
/**
|
|
79
|
+
* \brief ECDSA signature verification.
|
|
80
|
+
*/
|
|
81
|
+
int cipher_suite_0_verify(void *user_context, const void *key_id,
|
|
82
|
+
const uint8_t *input, size_t input_length,
|
|
83
|
+
const uint8_t *signature, size_t signature_length);
|
|
84
|
+
|
|
85
|
+
/**
|
|
86
|
+
* \brief HKDF extract.
|
|
87
|
+
*/
|
|
88
|
+
int cipher_suite_0_extract(void *user_context, const void *key_id,
|
|
89
|
+
const uint8_t *salt, size_t salt_len,
|
|
90
|
+
uint8_t *psuedo_random_key,
|
|
91
|
+
size_t psuedo_random_key_size,
|
|
92
|
+
size_t *psuedo_random_key_length);
|
|
93
|
+
|
|
94
|
+
/**
|
|
95
|
+
* \brief HKDF expand.
|
|
96
|
+
*/
|
|
97
|
+
int cipher_suite_0_expand(void *user_context, const void *key_id,
|
|
98
|
+
const uint8_t *info, size_t info_length,
|
|
99
|
+
uint8_t *output_keying_material,
|
|
100
|
+
size_t output_keying_material_length);
|
|
101
|
+
|
|
102
|
+
/**
|
|
103
|
+
* \brief AEAD encrypt.
|
|
104
|
+
*/
|
|
105
|
+
int cipher_suite_0_encrypt(void *user_context, const void *key_id,
|
|
106
|
+
const uint8_t *nonce, size_t nonce_length,
|
|
107
|
+
const uint8_t *additional_data,
|
|
108
|
+
size_t additional_data_length,
|
|
109
|
+
const uint8_t *plaintext, size_t plaintext_length,
|
|
110
|
+
uint8_t *ciphertext, size_t ciphertext_size,
|
|
111
|
+
size_t *ciphertext_length);
|
|
112
|
+
|
|
113
|
+
/**
|
|
114
|
+
* \brief AEAD decrypt.
|
|
115
|
+
*/
|
|
116
|
+
int cipher_suite_0_decrypt(void *user_context, const void *key_id,
|
|
117
|
+
const uint8_t *nonce, size_t nonce_length,
|
|
118
|
+
const uint8_t *additional_data,
|
|
119
|
+
size_t additional_data_length,
|
|
120
|
+
const uint8_t *ciphertext, size_t ciphertext_length,
|
|
121
|
+
uint8_t *plaintext, size_t plaintext_size,
|
|
122
|
+
size_t *plaintext_length);
|
|
123
|
+
|
|
124
|
+
/**
|
|
125
|
+
* \brief Hash function.
|
|
126
|
+
*/
|
|
127
|
+
int cipher_suite_0_hash(void *user_context, const uint8_t *input,
|
|
128
|
+
size_t input_length, uint8_t *hash, size_t hash_size,
|
|
129
|
+
size_t *hash_length);
|
|
130
|
+
|
|
131
|
+
#endif /* CIPHER_SUITE_0_H */
|
|
@@ -1,140 +1,139 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* \file cipher_suite_2.h
|
|
3
|
-
* \author Kamil Kielbasa
|
|
4
|
-
* \brief Cipher suite 2
|
|
5
|
-
* - AEAD algorithm = AES-CCM-16-64-128
|
|
6
|
-
* - hash algorithm = SHA-256
|
|
7
|
-
* - MAC length in bytes (Static DH) = 8
|
|
8
|
-
* - key exchange algorithm (ECDH curve) = P-256
|
|
9
|
-
* - signature algorithm = ES256
|
|
10
|
-
*
|
|
11
|
-
* \version 0.
|
|
12
|
-
* \date 2024-
|
|
13
|
-
*
|
|
14
|
-
* \copyright Copyright (c) 2024
|
|
15
|
-
*
|
|
16
|
-
*/
|
|
17
|
-
|
|
18
|
-
/* Header guard ------------------------------------------------------------ */
|
|
19
|
-
#ifndef CIPHER_SUITE_2_H
|
|
20
|
-
#define CIPHER_SUITE_2_H
|
|
21
|
-
|
|
22
|
-
/* Include files ----------------------------------------------------------- */
|
|
23
|
-
|
|
24
|
-
/* EDHOC header: */
|
|
25
|
-
#include "edhoc_crypto.h"
|
|
26
|
-
|
|
27
|
-
/* Standard library headers: */
|
|
28
|
-
#include <stdint.h>
|
|
29
|
-
#include <stddef.h>
|
|
30
|
-
|
|
31
|
-
/* Module defines ---------------------------------------------------------- */
|
|
32
|
-
#define ECC_COMP_KEY_LEN (32)
|
|
33
|
-
#define ECC_UNCOMP_KEY_LEN (65)
|
|
34
|
-
|
|
35
|
-
#define ECC_ECDSA_SIGN_LEN (64)
|
|
36
|
-
#define ECC_ECDH_KEY_AGREEMENT_LEN (32)
|
|
37
|
-
|
|
38
|
-
/* Module types and type definitiones -------------------------------------- */
|
|
39
|
-
/* Module interface variables and constants -------------------------------- */
|
|
40
|
-
/* Static variables and constants ------------------------------------------ */
|
|
41
|
-
/* Static function declarations -------------------------------------------- */
|
|
42
|
-
/* Static function definitions --------------------------------------------- */
|
|
43
|
-
/* Module interface function definitions ----------------------------------- */
|
|
44
|
-
|
|
45
|
-
/**
|
|
46
|
-
* \brief Crypto key generation.
|
|
47
|
-
*/
|
|
48
|
-
int
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
size_t
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
size_t
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
size_t
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
const uint8_t *
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
size_t
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
const uint8_t *
|
|
116
|
-
|
|
117
|
-
size_t
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
const uint8_t *
|
|
127
|
-
|
|
128
|
-
size_t
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
size_t
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
#endif /* CIPHER_SUITE_2_H */
|
|
1
|
+
/**
|
|
2
|
+
* \file cipher_suite_2.h
|
|
3
|
+
* \author Kamil Kielbasa
|
|
4
|
+
* \brief Cipher suite 2 contains:
|
|
5
|
+
* - AEAD algorithm = AES-CCM-16-64-128
|
|
6
|
+
* - hash algorithm = SHA-256
|
|
7
|
+
* - MAC length in bytes (Static DH) = 8
|
|
8
|
+
* - key exchange algorithm (ECDH curve) = P-256
|
|
9
|
+
* - signature algorithm = ES256
|
|
10
|
+
*
|
|
11
|
+
* \version 0.6
|
|
12
|
+
* \date 2024-08-05
|
|
13
|
+
*
|
|
14
|
+
* \copyright Copyright (c) 2024
|
|
15
|
+
*
|
|
16
|
+
*/
|
|
17
|
+
|
|
18
|
+
/* Header guard ------------------------------------------------------------ */
|
|
19
|
+
#ifndef CIPHER_SUITE_2_H
|
|
20
|
+
#define CIPHER_SUITE_2_H
|
|
21
|
+
|
|
22
|
+
/* Include files ----------------------------------------------------------- */
|
|
23
|
+
|
|
24
|
+
/* EDHOC header: */
|
|
25
|
+
#include "edhoc_crypto.h"
|
|
26
|
+
|
|
27
|
+
/* Standard library headers: */
|
|
28
|
+
#include <stdint.h>
|
|
29
|
+
#include <stddef.h>
|
|
30
|
+
|
|
31
|
+
/* Module defines ---------------------------------------------------------- */
|
|
32
|
+
#define ECC_COMP_KEY_LEN (32)
|
|
33
|
+
#define ECC_UNCOMP_KEY_LEN (65)
|
|
34
|
+
|
|
35
|
+
#define ECC_ECDSA_SIGN_LEN (64)
|
|
36
|
+
#define ECC_ECDH_KEY_AGREEMENT_LEN (32)
|
|
37
|
+
|
|
38
|
+
/* Module types and type definitiones -------------------------------------- */
|
|
39
|
+
/* Module interface variables and constants -------------------------------- */
|
|
40
|
+
/* Static variables and constants ------------------------------------------ */
|
|
41
|
+
/* Static function declarations -------------------------------------------- */
|
|
42
|
+
/* Static function definitions --------------------------------------------- */
|
|
43
|
+
/* Module interface function definitions ----------------------------------- */
|
|
44
|
+
|
|
45
|
+
/**
|
|
46
|
+
* \brief Crypto key generation.
|
|
47
|
+
*/
|
|
48
|
+
int cipher_suite_2_key_import(void *user_context, enum edhoc_key_type key_type,
|
|
49
|
+
const uint8_t *raw_key, size_t raw_key_len,
|
|
50
|
+
void *kid);
|
|
51
|
+
|
|
52
|
+
/**
|
|
53
|
+
* \brief Crypto key destroy.
|
|
54
|
+
*/
|
|
55
|
+
int cipher_suite_2_key_destroy(void *user_context, void *kid);
|
|
56
|
+
|
|
57
|
+
/**
|
|
58
|
+
* \brief ECDH make key pair.
|
|
59
|
+
*/
|
|
60
|
+
int cipher_suite_2_make_key_pair(void *user_context, const void *key_id,
|
|
61
|
+
uint8_t *restrict private_key,
|
|
62
|
+
size_t private_key_size,
|
|
63
|
+
size_t *restrict private_key_length,
|
|
64
|
+
uint8_t *restrict public_key,
|
|
65
|
+
size_t public_key_size,
|
|
66
|
+
size_t *restrict public_key_length);
|
|
67
|
+
|
|
68
|
+
/**
|
|
69
|
+
* \brief ECDH key agreement.
|
|
70
|
+
*/
|
|
71
|
+
int cipher_suite_2_key_agreement(void *user_context, const void *key_id,
|
|
72
|
+
const uint8_t *peer_public_key,
|
|
73
|
+
size_t peer_public_key_length,
|
|
74
|
+
uint8_t *shared_secret,
|
|
75
|
+
size_t shared_secret_size,
|
|
76
|
+
size_t *shared_secret_length);
|
|
77
|
+
|
|
78
|
+
/**
|
|
79
|
+
* \brief ECDSA signature.
|
|
80
|
+
*/
|
|
81
|
+
int cipher_suite_2_signature(void *user_context, const void *key_id,
|
|
82
|
+
const uint8_t *input, size_t input_length,
|
|
83
|
+
uint8_t *signature, size_t signature_size,
|
|
84
|
+
size_t *signature_length);
|
|
85
|
+
|
|
86
|
+
/**
|
|
87
|
+
* \brief ECDSA signature verification.
|
|
88
|
+
*/
|
|
89
|
+
int cipher_suite_2_verify(void *user_context, const void *key_id,
|
|
90
|
+
const uint8_t *input, size_t input_length,
|
|
91
|
+
const uint8_t *signature, size_t signature_length);
|
|
92
|
+
|
|
93
|
+
/**
|
|
94
|
+
* \brief HKDF extract.
|
|
95
|
+
*/
|
|
96
|
+
int cipher_suite_2_extract(void *user_context, const void *key_id,
|
|
97
|
+
const uint8_t *salt, size_t salt_len,
|
|
98
|
+
uint8_t *psuedo_random_key,
|
|
99
|
+
size_t psuedo_random_key_size,
|
|
100
|
+
size_t *psuedo_random_key_length);
|
|
101
|
+
|
|
102
|
+
/**
|
|
103
|
+
* \brief HKDF expand.
|
|
104
|
+
*/
|
|
105
|
+
int cipher_suite_2_expand(void *user_context, const void *key_id,
|
|
106
|
+
const uint8_t *info, size_t info_length,
|
|
107
|
+
uint8_t *output_keying_material,
|
|
108
|
+
size_t output_keying_material_length);
|
|
109
|
+
|
|
110
|
+
/**
|
|
111
|
+
* \brief AEAD encrypt.
|
|
112
|
+
*/
|
|
113
|
+
int cipher_suite_2_encrypt(void *user_context, const void *key_id,
|
|
114
|
+
const uint8_t *nonce, size_t nonce_length,
|
|
115
|
+
const uint8_t *additional_data,
|
|
116
|
+
size_t additional_data_length,
|
|
117
|
+
const uint8_t *plaintext, size_t plaintext_length,
|
|
118
|
+
uint8_t *ciphertext, size_t ciphertext_size,
|
|
119
|
+
size_t *ciphertext_length);
|
|
120
|
+
|
|
121
|
+
/**
|
|
122
|
+
* \brief AEAD decrypt.
|
|
123
|
+
*/
|
|
124
|
+
int cipher_suite_2_decrypt(void *user_context, const void *key_id,
|
|
125
|
+
const uint8_t *nonce, size_t nonce_length,
|
|
126
|
+
const uint8_t *additional_data,
|
|
127
|
+
size_t additional_data_length,
|
|
128
|
+
const uint8_t *ciphertext, size_t ciphertext_length,
|
|
129
|
+
uint8_t *plaintext, size_t plaintext_size,
|
|
130
|
+
size_t *plaintext_length);
|
|
131
|
+
|
|
132
|
+
/**
|
|
133
|
+
* \brief Hash function.
|
|
134
|
+
*/
|
|
135
|
+
int cipher_suite_2_hash(void *user_context, const uint8_t *input,
|
|
136
|
+
size_t input_length, uint8_t *hash, size_t hash_size,
|
|
137
|
+
size_t *hash_length);
|
|
138
|
+
|
|
139
|
+
#endif /* CIPHER_SUITE_2_H */
|