7.6 读取加密录制
设备绑定了录制密钥后,写到 SD 卡上的每段录制都是密文。本页面向拿到密钥、要在电脑上打开这些文件的工程师。
加密后的文件长什么样
- 文件名、分片大小、目录结构都不变,仍然是
.mcap。 - 文件内容是密文。没有密钥的工具打开会直接报错,而不是读出一段坏数据。
read_mcap支持随机读取,无需整段解密;Foxglove 则需先用visio-decrypt生成明文副本。session.json中的字段recording_key_fingerprint(16 位十六进制,未加密时为空),标明「这批文件要用哪一把钥匙打开」。它只是钥匙的指纹,不是钥匙本身,可以随文件一起分发。
三种读取方式
# 1) 直接指定密钥文件
visio-display --mcap-in ego_0000.mcap --key-file recording.key --rerun
# 2) 或放进钥匙串(按指纹索引,可同时保存多个团队的密钥);之后不必每次指定
# ~/.config/visio/recording-keys.json
# 3) 给不接受密钥的工具(如 Foxglove Studio)生成一份明文副本
visio-decrypt ego_0000.mcap ego_0000_plain.mcap
把密钥放进本机钥匙串之后,日常使用和未加密时完全一样:visio-display 会按 session.json 里的指纹自动选择对应的密钥;Python 的 read_mcap 会自动从 ~/.config/visio/recording-keys.json 或 VISIO_RECORDING_KEY_FILE 获取密钥。要给
Foxglove Studio 之类不接受密钥的工具使用时,用 visio-decrypt 生成明文副本再打开。
密钥丢失等于数据永久丢失
加密后的录制没有任何后门,GI Labs 也无法帮你恢复。密钥的备份与保管见 12. 录制数据加密。