如何使用 "auth "命令在 Pixhawk 控制板上签署认证证书

存档: 主题 存档。 它是 向外 日期 没有 更长 作品

该过程的本质是一个 RSA 私有/公用密钥对和一个签名过程,该过程使用这些密钥将一些独特的信息添加到每块 Pixhawk 板上。

公钥/私钥、SD 卡和日志记录

auth" 命令将

  • 从 SD 卡读取正确准备的公钥/私钥数据

  • 使用 SD 卡上的密钥在一次性可编程 (OTP) ROM 中创建身份验证 (COA)。

  • 将结果记录到 SD 卡上的日志文件中,以作记录。可选

启动程序

引导加载程序必须识别为 4 版或更高版本才能工作。

例如:px_uploader.py 应该这样说"Found board xxxx bootloader rev 4 on /xxxxxxx" (在 /xxxxxxx 上找到 xxxx 引导加载器第 4 版)。

固件

固件必须包含 Firmware/src/systemcmds/auth 目录,并有最新的 "auth.c"。

  • 通常使用 "make px4fmu-v1_auth upload "或类似方法制作和上传。

  • 按常规方法连接到 nsh,输入 "auth"[回车],确认 PX4 上已加载合适版本的固件。

  • auth "命令可以执行一系列与读/写/验证/签名/记录 OTP 数据有关的操作。这是你要用到的主要工具(见下文)。它可以从 SD 卡读取/写入公钥/私钥数据,也可以使用 "硬编码 "的 TEST 版本。

准备 SD 卡(仅限一次)

  • 在 linux 或 OSX 上使用一个名为 ssh-keygen 像这样制作一对新的 1024bit RSA 密钥文件:

    ssh-密钥 -t rsa -b 1024  -f rsa1024
    
  • 生成 rsa 公钥对/私钥对。

  • 输入口令(无口令为空):[按回车键]

  • 再次输入相同的密码:[再次按回车键]

警告

这是

您的 私人 密钥 - 切勿共享此文件,请备份并妥善保管。

提示

这是你的

公众 键--与所有 GCS 制造商等共享。

  • 格式化私钥文件以适应 PX4:

  • 将 rsa1024 复制到名为 "privatekey.txt "的新文件中

  • 用文本编辑器编辑文件,删除文件的第一行和最后一行(它们说 -----BEGIN RSA 私人 KEY----------END RSA 私人 KEY-----)并保存。

  • 复制 privatekey.txt 并将其存储到 SD 卡中,然后插入按上述方法设置的 PX4 中。公钥请勿使用此方法。请参阅下文。

  • 在 SD 卡上创建公钥文件:

    • 插入 SD 卡并启动 Pixhawk 后,使用 nsh shell和类型:

      授权 -m
      

      这将使用 privatekey.txt 在 SD 卡上创建一个 publickey.txt SD卡上的文件(许多授权命令都需要该文件才能运行)。

验证其工作原理

  • 在 "auth "命令中有很多选项,可以用来测试配置。

    警告

    真正*危险*的选择是 -w-k.在确定其他一切正常之前,尽量避免使用。

  • 每次使用 "auth "命令时,最好都重新启动,因为它对内存的使用非常苛刻。

  • 确定一切正常后,运行 授权 -k -l (它将向 OTP 写入新的 COA 并锁定它),还可选择 授权 -v 来验证它是否有效。

自动运行 SD 卡中的 "验证 "脚本

  • 在 SD 卡上创建一个 "等 "文件夹(如果还没有)。

  • 制作 rc,或 rc.txt SD卡上的文件(任选其一),在 /etc 文件夹。

  • 编辑 rc.txt 文件,并将 授权 -k -l 文件中的命令。

  • (插入这张卡启动时,PX4 会闪烁 OTP 区域和 COA,并将结果记录到 OTPCertificates.log)