MAVlink 2.0 signing Dataflash & Tlog Logging

Hello All!

I have been doing some experiments to understand how MAVlink 2.0 signing is working and how it’s represented on different types of logs.

I am running a sim_vehicle.py SITL using mavproxy. I am running the sim as

sim_vehicle.py -V ArduCopter --console -C --mav20

I then proceed to interact with the MAVProxy console to reject unsigned packets and then setup a signature

set allow_unsigned False
signing key <testkey>

I am doing some takeoff, move around etc and then land. Lastly I download the .bin file

log download <X> dataflash.bin

and I also get the mav.tlog

I am analyzing both of them, but I only see a “trace” of the signature been sent from the tlog under the

SETUP_SIGNING {target_system : 1, target_component : 1, secret_key : [X,X,X,X,...,X,X], initial_timestamp : X}

While trying to cross reference the presence on the dataflash.bin following the timestamp or looking for any message around the same time, I cannot seem to find anything.

Following this article https://mavlink.io/en/guide/message_signing.html#secret_key is it a fair assumption to say that the dataflash log is not storing the key. Where is it saved on the autopilot? How is the sign key saved on the “autopilot”?

  • Also regarding the Telemetry & Dataflash logs
    Why can I not see the command sent set allow_unsigned False? Is it under a PARAM message with an int representation?

I can provide both logs if my questions or explanations are not clear enough?

I would be really appreciating your input! Thanks in advance