mavlink / rust-mavlink

MAVLink library for Rust.
https://mavlink.github.io/rust-mavlink/mavlink/
Apache License 2.0
158 stars 79 forks source link

Signing #253

Closed pv42 closed 2 months ago

pv42 commented 3 months ago

As pointed out in #82 MAVLink 2 message signing is not supported beyond being able to correctly parse signed messages. This PR adds full support for signature creation and verification. This is done by introducing the signing feature to the mavlink and mavlink-core crates. The implementation is done in a way that the public interfaces remain unchanged without the feature and are semver compatible when it is enabled.

Additions

Signing specifications

With the signing feature enabled and signing setup the following applies:

Tests

Caveats

patrickelectric commented 3 months ago

Can you rebase over master ?

pv42 commented 3 months ago

I have fixed the merge conflicts for this, but I should probably add signing variant of the new async methods too. Hence I marked this a draft until I have implemented this.

pv42 commented 3 months ago

I have added read_v2_raw_message_async_signed, added link_id to signing setup and slightly modified tests.

joaoantoniocardoso commented 3 months ago

Nice work, but I think you've merged the updated master into this branch instead of rebasing it over master