PX4 Log Encryption
This section guides you through setting up log encryption in PX4 on our flight controllers, and then explains how to access, decrypt, and view the encrypted logs.
Last updated
cd PX4-Autopilot/Tools/log_encryption
python3 generate_keys.pyPX4-Autopilot/
│
├── keys/
│ ├── private/
│ │ ├── private_key.pem # RSA private key (2048-bit)
│ │
│ ├── public/
│ │ ├── public_key.der # Public key in DER format
│ │ ├── public_key.pub # Public key in hex formatPX4-Autopilot/boards/arkencrypted_logs.px4boardCONFIG_PUBLIC_KEY1="../../../keys/public/public_key.pub"make ark_fpv_encrypted_logs
OR
make ark_fmu-v6x_encrypted_logs
OR
make ark_pi6x_encrypted_logsPX4-Autopilot/build/*.px4cd PX4-Autopilot/Tools/log_encryption
python3 download_logs.py /dev/ttyACM0 --baudrate 57600
OR
python3 download_logs.py udp:0.0.0.0:14550cd PX4-Autopilot/Tools/log_encryption
AND
# Uses default key + default folder
python3 decrypt_logs.py
OR
# Use --help to get all the options
python3 decrypt_logs.py --helpPX4-Autopilot/
│
├── logs/
│ ├── encrypted/
│ │ ├── log-YYYY-MM-DD_HH-MM-SS_ID.ulge
│ │
│ ├── decrypted/
│ │ ├── log-YYYY-MM-DD_HH-MM-SS_ID.ulggit clone --recurse-submodules git@github.com:PX4/flight_review.gitcd flight_review/app
pip install -r requirements.txt
# Note: preferably use a virtualenv
./app/setup_db.pyflight_review/app/private_key/private_key.pemflight_review/app/config_default.iniulge_private_key = ../private_key/private_key.pemcd app
./serve.py --showlogloader/config.toml