-
Notifications
You must be signed in to change notification settings - Fork 43
Featuer: added MAVLink 2.0 message signing and authentication support to provide secure communication between GCS and flight controller. #1038
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
Conversation
…rovide secure communication between GCS and flight controller. Signed-off-by: PritamP20 <pripritam7@gmail.com>
for more information, see https://pre-commit.ci
|
Thanks, thiswill take a while to review. Have you tested this in multiple vehicles? |
|
Yes, I’ve tested it with multiple vehicle entries using the test_multiple_vehicles and test_list_vehicles_with_keys unit tests. These tests cover storing, retrieving, and managing keys for different vehicle IDs to ensure proper isolation and persistence between them. |
|
Hi @amilcarlucas, just wanted to check in if you’ve had a chance to review this PR. Please let me know if there’s anything I should update or clarify further. |
|
Thanks for working on this
|
|
Okay @amilcarlucas, |
|
Currently my priority is "refactoring for testability". I want to add more tests to the code, and in some parts of the code that is only possible by refactoring it first before the tests can be added. Doing it like this leads to better code and better tests. But there is no need to duplicate the efforts on that. You could work on adding a new plugin, similar to the "motor test" plugin that does RC receiver calibration. Take a look at ARCHITECTURE_motor_test.md for inspiration. It should mimic the RC receiver calibration screen from mission planner. If you work on that we will not duplicate efforts. Do try to finish this one first, so that you can learn more on the workflow of the project. Are you developing on Linux, or Windows? |
|
@PritamP20 any progress on this? |
|
yup working on it @amilcarlucas |
Summary
This PR adds MAVLink 2.0 message signing and authentication support to provide secure communication between the ground control station and flight controller.
Motivation
MAVLink signing is essential for:
Changes
New Files
ardupilot_methodic_configurator/backend_signing_keystore.py(450 lines)ardupilot_methodic_configurator/data_model_signing_config.py(150 lines)tests/test_signing_keystore.py(15 test cases)tests/test_signing_config.py(15 test cases)docs/mavlink_signing/(complete documentation)install_signing_dependencies.sh- Installation scriptModified Files
ardupilot_methodic_configurator/backend_flightcontroller.pysetup_signing()method_send_setup_signing_command()method_unsigned_callback()methodget_signing_status()methodpyproject.tomlcryptography>=41.0.0dependencykeyring>=24.0.0dependencyFeatures
Security
Key Management