MAVSDK-Java icon indicating copy to clipboard operation
MAVSDK-Java copied to clipboard

Signing MAVLink messages with MAVSDK

Open rogersanick opened this issue 5 years ago • 10 comments

Hi there,

Hope you are well. I'm relatively new to the MavSDK-Java and am really enjoying it so far.

This may be a poorly phrased question - but it is my understanding that with the MavLink 2.0 wire protocol supports message signing - https://mavlink.io/en/guide/message_signing.html

Am I able to facilitate this using the SDK? Please let me know.

Cheers,

Nick

rogersanick avatar May 13 '20 14:05 rogersanick

Hello! :blush:

Unfortunately, MAVLink encryption is not (yet) supported in MAVSDK. We have been looking into TLS/dTLS encryption, and the next step there is to move from LibreSSL to OpenSSL in MAVSDK.

If you can and would like to help in that effort, that would be gladly appreciated!

JonasVautherin avatar May 13 '20 22:05 JonasVautherin

@JonasVautherin there is also the MAVLink signing capability though as @rogersanick writes. The issue there is that it's not implemented or used in PX4 (see PR), and not added to QGroundControl (as far as I can tell from this PR). So it's a bit of a chicken and egg problem. If none of the other players have it I'm not very keen to add support for it in MAVSDK :thinking:.

julianoes avatar May 14 '20 14:05 julianoes

@julianoes - thanks very much for your comment.

To add some color here, I'm hoping to integrate with Corda (a blockchain platform produced by R3). I've been able to do so very generally with MAVsdk (which is awesome), but in order to move forward mavlink signing would be extremely helpful.

rogersanick avatar May 14 '20 14:05 rogersanick

@rogersanick ok, one way to move it forward would be to get the PX4 PR working and merged.

julianoes avatar May 14 '20 14:05 julianoes

Oh, my mistake, sorry :confused:

JonasVautherin avatar May 14 '20 18:05 JonasVautherin

Closing this. If/when signing is available in PX4 we can reconsider this. It would then happen over int he MAVASDK C++ core and not in the Java wrapper.

julianoes avatar Nov 29 '21 10:11 julianoes

https://github.com/davidbuzz/MAVAgent has full signing capabilities, in javascript, its ridiculous that px4 and qgroundcontrol don't have it.

davidbuzz avatar Feb 07 '23 08:02 davidbuzz

Thanks for the constructive comment @davidbuzz! I'm absolutely certain that PX4 and QGroundControl will be happy to take your contributions, though not in Javascript :wink:

JonasVautherin avatar Feb 07 '23 11:02 JonasVautherin

I was just pointing out that there are existing implementations in at least 3 languages... javascript,python,C# , probably more

https://github.com/davidbuzz/MAVAgent has full signing capabilities, in javascript, its ridiculous that px4 and qgroundcontrol don't have it.

davidbuzz avatar Feb 08 '23 22:02 davidbuzz

Also taking contributions to enable signing for MAVSDK given we can implement and test it against ArduPilot instead. :smile:

julianoes avatar Feb 09 '23 01:02 julianoes