# 启用 UEFI 安全启动

UEFI 安全启动通过确保在启动期间只加载经过验证和受信任的软件来增强系统的安全性和可靠性。

[安全启动](https://docs.qualcomm.com/doc/80-70023-11SC/topic/features.html#section-secure-boot-features)和 [UEFI 安全启动](https://docs.qualcomm.com/doc/80-70023-11SC/topic/features.html#section-uefi-secure-boot-features)是截然不同的安全功能，涵盖不同的认证镜像。

UEFI 安全启动可以在安全启动设备上启用，也可以出于测试目的在非安全启动设备上启用。

## 前提条件

### 主机要求

1. 在 Linux 主机上安装 [OpenSSL 0.9.80 June 2010（或更高版本）](https://openssl-library.org/source/)。
2. 安装以下 [efitools](https://pkgs.org/download/efitools)：

> 
> 
> - cert-to-efi-sig-list：将 OpenSSL 证书 x 转换为 EFI 签名列表
>     - sign-efi-sig-list：签署 EFI 签名列表
>     - hash-efi-sig-list：从二进制文件创建哈希签名列表条目

### 在设备上配置重放保护存储块

重放保护内存块 (RPMB) 配置是 UEFI 安全启动启用所必需的。如需了解更多信息，请参阅 [RPMB](https://docs.qualcomm.com/doc/80-70023-11SC/topic/features.html#section-rpmb-features)。

## 配置 UEFI 安全启动以生成密钥和证书

可以设置初始 UEFI 安全启动配置，并将密钥和证书转换为 UEFI 可以理解的格式。请参阅工作流，了解目标外准备和设备端执行。

![../../../../../_images/uefi-secure-boot-prep-updated.png](data:image/png;base64,UklGRi4jAABXRUJQVlA4TCIjAAAvvIN0EPfjIJIkReqFuwcB71/N22GY2e3peRLhMJJkVdl7/+MQAvknQUjunOye40aSFKl295jZf5vOgfszDM90VzNoJElR5QydfytnAZ8ZEgAAf7aZ2YiUGiELyRQMGJ20oo4OhqIDeiy6EI1EmCr+B0Ej8RP5AwgACoAOYE7gKcAE6ya0ZQCjZAeA4R9AL9adAH4Afx1dKr2M1QbrGto00jZesc7l8SPR8xuxRFCxBD8rXRfojv+F2BkuRBihIoGpmMBS002QphvR+F9lg/+UhWPhWHjmzuE4s19v1M3L5pC1dVasY/9MohHVzCao7NPDFL1+iUQskW1qL1l+sETWxJT3/EYzm/vbY4nbywmq28uR6Hi6ySb7Ghid4koiieZngeNFopkNS5TaMt6xhER2PpGK4rZtI2n/sZO2Sa93REwAHoytNJEnFOzMuIhx0X8zL5WCoiCsDPGaHFXJUbXMSz6DCEguc2YOXEZJRHBpGHw0BzCp5CrbgYm1SKNJK/ilHIJKFasinSUOFPDEsLrTZWmhi7O9vbblSLJrW6ucDBLOrbXWWjl8SwrfyhEIOPh1a61F7UTC4VvL2j/ebczp7pG5WLUrPixL29PSrKYlbUb0XxYkyUHdjCqKUYy9e5yEQDyq8ktd2/a0jXTBn3QhZ9J2mMqU9pplHmYuDvPJJ9In2VHl77NnKtvrRB7LliP6T4ltJEmSRN9JbGUdiHCPPssru/L70Vp++Lt/8uZavvMHfuIjKD/+XfpNX/PZT91Uy2fKN37HT/8I/PmZb831Bls+/VX94ZXvSk/1Nlu++lP/L8/6mXqrLel75bu/qd5s+Zz+hH7N7ZaqP6qfveGSflDrDZdv+cR/vgZy5izdQgopV1Uo3t+7dZVs8Sd/+z9fe5gLt+5RblX97tcepihHnnDxzfkPj/LyHulW1df+fn45SHov9aSLr/2zfw44rP4/2sUf/ttB3mSeeGFPwYxKTzxf+MODfPtGPfEPg46KfKvqE/8x/jP+M/4z/jMr+vk/epXSU3b8XkqPfHnT2uIozv7ZxHnMevfE2nQs7fPEMxnFxH1VFDbFrHz3ypW7XOvzK0dmIdZ+DkM1cXPIXlmbY1dhmSiOnMI+Q68/Tff/8qnP37mOL+k1jAFPtX78eMfdCMl13KeUwjWptT4O3nU38v0rgcRJ+e/grJBc+ReabHT+fv/GadOn9Abm9N6J/bxPyYcKMwYy/vjXKb1xAp40BZgkPjm9flX4svJ5Ten1B6qL+El4MgKzz6uJuvT9uRSptWM0knT/qeoO5lN9SS9/ndizwofX6e7JkZ8gJSR5mPkFSVpr+GvMkyr3qeLpg1H4ISUn8y5jejmeMD8h9e5evXmBDHYGIHXvniGTP+9OPDuPCWp8uQ0pfdiPBynP2LvfMFO/cA/T/A1QIQoIz6DiBfWm9ESU1kB0ET8sz/TKwbJDLbFI0wumhTKpwZ0yMHlIcoXPp5TrU9K6Qq/kQn1KkHIORqGzke9XMTS96l+jun28prmamEjR6A12eDjScHyr4jUZo2bNo5fq0187/qXW+zU/wt3KU7oLec0N2CC8zk7hyl1wmaJOdHjz6v5lVXkP54f1nwR0MX5w3ALcRcP5/sCYAeTWjrFozRIye8bUuGP+EhjCV57dYf/r9FJfp+fqkzhQlU9POYGQOwenMKSk6TWXXi8uT56SZ8BmB2Ten6Z7qJjvLnELzgzKNNNDf1fdYf88aMNUlPSnPC/VJYgTwCl8w+pFW6CL8cPxedCW2fv+GbfuUOoF8oMklodMAT2+1g+rgCcYIzLg09MqRp5dKtWKl+qcQpgHfODSC2b6QWQXf+205pReVvLBSHMs+peUXsjGfp7dPB4BnRW5T1B0AxCGfD5hEbwRA8bc/I9A/PCgp8JW6KSvPNnYRpMgniRJ/Xy6f157v4OZ+wkR9WGFUQiJdc+mF2ZtrRvwBlbhDAi9yd4N16dXdlWEAxWF0SspcRA/m1UQbfB5Ew4obMUMBffJJR6tgDc8LwRU8KYGjte7cfY2K4Q+0C7uk2DKvRDY5pekudbsMs/vaH4hSeqEMc3qBN4ROD84S3c5eU+aAfh8IIbt5jdw6zlXnIS/AKjKpye865FBKqPQjfWrYi69oHn9VhDycg/cEwO0mQGdzSFhH34VtFVV5rQdcPMZ0iywJ4MPhGc09Pk3VOnuKqeUXjZ2QyY+Vxh27/YE2eIrQFPy82Q3dV9wCjX96SpMmPQiE3kh6bfy7Pbjd3sHpWbBxzL38S93cDZI/indO0gG/vVrpy28YCIGZVBN6ZnJyg+a0t0bp/cF8rG+rJI9nRFQPyDghV1fzj0+1WeFxzJ3UD/v052QkwEe8noPKbK1vvxmzQeFdUtG4ZoswU3mAkkvbn05r2pFXdK8UPILSHsLEAHxBk7Wzztn/i87hb66ew/xgQi0eyLL+zcRNPbip2tz4/0c8Sf+Y/xn/Gf8Z/xn/Hd8uc4M8qM7dORZVapb+An9saS255fRv6o2Okq79BMBolDZQUuA2FBaTQFtV2G9lgIxp7KfSMAprCWBxvjP+M/4z/jva2dfXhrVebq+2tOvXYOh0d9wxP7ajq6JzFdg1ItZ7lRDP78j4FvVbtxxcLaP6Hw4NT6xP6TF4yaZKKTF/sGZ5W1J7uNkoWvzdXuqY7gCyX31IAyPh9J4RzVbZDLr99n3ennb4jWZLXrepLqDOAyjcBaPzHsSIkBWylGKfVQYxO0bmoftqQcSID/UCP64wNKh83cDZHH7td32QbwKV84O/GKzx3sz89JIgnNCUBnNrPaqAxzjoDnPqn0xr6pasnqzqVOtBXRVVQ9waqKqCsOoMzV2BoltT5JzlTljvoBr58ir197AKJ1XpqA6gM5VTbeSq+rAABLh1KXVaAbjVUtWdd76mbjznA9xipgAW3Exm95uZAWSDzgdOpt5DVUvmE9cBcH62sYxXkjuFTMrBKXkisfPLgWWLxoi6Shmp+GCYxqsDO7wEytzNiOquTlwQ+9VfaBZu6i2iVwj1io0BSNOZn+ub0bS3mUYNM862OWkK302izFblYwbjhyqWZVppS3mcQbIqbGBrYrMjDH43qIekWrVJXKRy6q0EmZDozM5ISf1VrGXJyvinarJvAIoYph0YOr2oQsFp5XAADY958M3hQtwlmi5b99yVRcmcqyq62rFrEY8OMU+VEGovmbMMUbRUbI5QeeqgEvJF48HLV+TyKWjAFd+sOAexi2npI+YD1OMnGpgw34sDA16xoB4TSQKIkZTMDrJgjMA30x4Luhac515JbkDmOCajMNLdkIX1JXVOxg1G0xtt2nMS+amhUWcKIgCIZCQZAUwBDES7bHaGfLhhFQ9g1c4dXLIDZzYUh8IDTCG9TLktxu5a5YRE8QshGAmniKuYN85mGOMuTephzlcmZYqpSt4wPJ1cOkI38Tx5QcKTghmIKXrQWRiVMNW6fQlRBKZGEgeRzGaghHIN6o9ZoSV00qGY4ZxT3opzMBZWMgF7BzoARwcjJoNYszGGIO0i9U4UnMmKgigOLab4/XsGCDNnDQK41CQOklVK++DwAQ4Sze9DX/QOMDM9qxy0apTUaEAawWor4M7xl4DdtKkk7WHcCmh4nGA5evg0pHfiMo/KDi8m0iXAQ0xqiVsZKHX6awVYFIw6hQzOuqqqipHVhiYKbVTVZ5+dgyyAaOGR1XPxhmzrg+aGDC1glOnDOSyKRbC4FSx6AaQG8DMgtnwQWACDOaH/DZcX/buiIj3rQWfxFiKVoZShgZKdJqLrsOl5Isni0tHnqj8XMG3GDLKizOjWp4Kpl2pBCbJo+4mPeVMTrts5dkDVHR+wErOfcicMfM6nPJmFeq0UUEJlWid2/FIRXUCqQtAtBr1wVfemFJjyG8xmIuRLpjVWtWWWipLGnTD9MHY+SAoJVS8sDaC8gMFf1yVROHdfCOEDIcoZwaSMwXxGlb2NTMcabZJCmfMsshsFO56fovKu5HFNtjbzKcugAyZvQTng4MJ8ED8vtU4awJOZl7kbHIK3vY0w5hjTA7JxcyS9IOolHzxJGw1C/DlBwp+vFnanmYmyaOus6sLMCIsZl6TTf3McXZquhap6m3qHG2H5FDd8Zk2YNRsAKYYY2ZRE0VGcp/Tyd3YaGs2ryOAZwMOcjuW2y273USps7ADG6S4CHI+kp6NDfDiYpbfdruNZl692QSTWdFAmJ6FKghjj3Fti43iQe5ZVEq+eFJCx6WjAF9+oOCYBlELs5sTwKue9lK2d2vEaJJHXk+1l0Z7TxUsxh7tGlW74EBVrXdHqW6uL2/AqNnEqhRiDDwYZYYVQvTo20ghBtrEmZmLZApZ82SSIjZaV0WpY2Yum5hXbT3rw6pGGmDyCy5vw8cyA+RZgPE7GID5xFcQxh/jBdeSYW9RKfniSam715eh8kMFrwfXl9nkSNheXy5CUxCnL4joZobh9vpppnMjN1ykScZVCe/riI3/jP+M/4z/vtQ3VlmPAuopha3Q4IR/VJbVBPBcZd2aBJdV5rM13ftlrP0z7SpeZb67Umvez7/qXu85cs4e9Iqj7dmDvnis/1N/Nf4z/jP+M/4znsvz/Hbev90pogoh/M4/hJA7qno8wcQOVf1FgrJ3mqrOsT56oipPwBW67h4PNHTd7dhv5+jKZX05YW+y0/eWsne7Yu3YE9ZbaxvaPtBOdoq0D9TYc8jRmdF8fLjuNB/doYu6VXXxgdN8zKlu4Sf0x1JHac9r9K+qsjNs1PnXtoXKDloCxIbSahq84QKF9VoKRJbwvgsd4z/jv7jDr7WNdqNZ1csuhnANfuPULGag/HHh99p4oOD08zVtll7Dl8VbVr/f5vtDfJPMFj2v1H2c8nEm9xVSP7ZIDi5ekzaaZRkOIXkjOu/zEOjxobMHLGd2rPi48Nhtrt/ryhHM7H0huQGSx8l2Eu29Fpt7rxons0HMROdGYVQZGq2LEIpqm0CL6sUxgmCnbfKq7ej8BNVhQ7EXlUQUFWp+Vu0vMPsIKqOh/4VSnUTW6UV9VPWWYahbJB8JzqW6KLgNKmhDYnF+t2yOqqo+q0eCE55JaEZaGXNgRFVniGaVxnGbrp2gawJJvYXeoYvlviM0yS7iXf8crYpwgr0mMktncMpb6ZwuAx+jDqxi31Ror+rtIpFOprN1kldqtlnMRvBPqGBlZpyu9MGGJrnvNWvnI8HJEi33wUEFcRLRSJS8ZTO7OAFkXMoxYmhmLRR6YLDCSBaHMZzcNctI6XozgypA50CgN/SVTGRnYSfpMWzjlA/NZJa0wD9ZjFQx9RCqaZPNkicWEqr3Tm9VIf4JsYKIQJ2uVBAPgkXH/cEhIbkMeWXbe4+ybVJPbO7DYwQFxSgDPTAEGdjUxHEPNA5NmwCS/Fzfz2QDu/65qRxeM3aUnWTj5MycYuyntpysarSNcnEQvYx/2om3nCKL4OgjdiQ4WTroyCtUECeR9PJ2Nhn20wXDcaVvIYoUJr4OYslVNqZ7ftk33pH1IJVnEDJOHIJciLOKq0IRs9pp8EYEd6rKknUDb1tOV2iPlRyWLTzMpqg6ZKDuQDEIc9YD9ArFQwTnspsKkssqjdngXHYtXftIq7mt25WwQ9WpQ+8aD1UmR6qLDk21/cEh0ejbvLsi4o5V1ZgyVT2/b6ykScAJ6PpD7G4+BF7VzqziDAJytp7qA6PTFrua075ms/4UzHYHhw0A27xjclDMurgbspRcUGLWYQdfoZtnMo+R7Jm56HiVGWI5iHB+BA03W8ay+CNULTvjsCH5OubLIo20u43MBrmhfACVukrb2u0gsc3mlVUMSqc4wy/I+MgGuu1YiP+ju4Fbr4vZkeBcnKxZXEUF8RK7dg21eGJz9244LuAvGPeQ9GygyGnzbux8SBVeyyEEDTfbDMeoTv8BhmtSRV1bZvAwxJKF1gOYNtpVMTNutfcgU6c6L5JZxV5UC/kFMRProq3XgYGsc/Pry8PG+vISVT0m4NnsUHDGqNoVdn25chLRiHgjNvcBkYsj/oI22R6scuvLmFEMW8auVHZzTdHR+4KIK0w7rWvtUHmMig+mtQ9Xt1iDPeKiZ3xnDn1cx+E7HAEFvzXp3JA78Q/SJBjL8fEYHJ4HXPLUAQC6b6CGG4LHMT+r33A5KZy7zpD6VYtXVS1sHLjggIdL1JNXzzxTtM88Mzt+qnAOMybU3MhleoB0zffFSrvYbrqaLR28HXRY8eMjB7/f4gHv7xoAnTn0cZ2VUMxX60JwRdMb8yANffCHVKLDqlqdjbAqAYDuG/a7KA687HJsueyr2aLFrEY3AYVqQxkNDjDBI0hAzRZlh3lYn21oBC4EmVBzI5fqAdLz5vi0M+MM/QjHFStn1mW/xSPecQCX5gaAzhy+XafPMh/gm/RmlpjndrgHfxBUsZzI/dMTAHTfiCVQ3CecpT+ZtSGYiQdI5SF5wEt2qjzzTJF48rBqliFLAxdqbuRSPUAkfx2xzndv9vlqBIyhLXXYRVC/tZxnMwXuEia9eM0MQPeNWIUbFvCH8zxwbqRo1amoAAQjo8EBut4IJDjw5CWReyzUPTdyqR6g2BTQmcO16wQCanJDIA/+ELJiKQMHN7KqkjVZSjDxPljwSUwWCQ7SbwNNPiAu1COGTA9QfArozOHbdULczG3lK49OtipufuFtrKtVbaml7oYGZ28FTT4gF2q+kuoBik+lkzkDaNcR8E3Y33xajIHOggt/mcsMmBmM7G4pXuRscmr9bpjgOLzkLeDJB8I8jMSNXKoHCEN8A6WnAmaLmg+xeX1oQ/tOCNCZA7TrCBS4p71jt1YL8+APPh4jcHM64A3mAXcDum8gWQZ629pKmeChHtFAmJ4VocFBD7Abi3jy0phQcyOX6gHCkbIl4Ap4LeyN1UHyu2Az0JnDt+sIP4xTo8FDtbDry14v7IM/la4vd4Es7eLADnTfCDDry1KsdYJjMIKvKgd/T8AEJ6vH1eGBRTx5aUyouZFL9QCh1ZaAdwWORLiNr1DlrOkxKkcef0qiAa7TyBM3slQd8RmifjYUMAi3IE7fF0Rr51Oy3MVHoRybtDOrEixIxCs8kcJszMwG894b5nU4xN6kqDrnx6Aca6BkIkB4Mq6HeA24TCKL7UQU5AT6OpyIhr/A5yazr8H1jmEf3KfvmU8XJYTo/cigqkcYQXFWz5Aobrz6W201qbfYGuVo842RzqxKtqE529gypOaMJBVutyKL3eRQVdV+H56sLy+qndeRvr6lw/Vlsyp6fjnmpt3wD9n5j/dlZp/4j/Hflyqeq6xHAfWUwlZocMI/KstqCnxJUFm3JsFllflsrda83xrdy5xXme+u1Jr386+61ztAztmDXnGetGcP+iICzvzV+M/4z/jP+M94LoTw56F/u1PJrL99BWWHqpvGsnGaqn4RyamqZd2g6+4/cDR03e0G9k7RVXly0zm6clnf35S923+nVFL2bqm1T2n7QPLkKMsXNkeOuUsLeo///a1G85Fh54Ee+shHnb/7vNFRWraG/UW1fUltzU8EiHLI6PMn25eURoFVZW1XYWs0eDsNye4bWRknvG8hyfjvky2ZT8DQXHZp6q9EnK/ArxFbQ/vIiHIQuVZAYs/zG6LLLoYQW4vXRL788UXilZjcV/uQMqZmdiVI+YrHWcf3tRulU63ZLEfVfnR41RiArAM5uYuusjojMgPZGFYNi9hFfVX1jkW1v+D8Ny5MZSbLqmzOEUWbV5XkjFXVoZ+pYKIoZfApAVLBTbTKRkyc66jqqQtHjuDCq6oWzpPRgADOQ8D4c/raZM5I0HztiMV1gkQLbW8WY7ZZi0VdLPfdNk2yi3jLMlvuA7LIaFUcoZjXs1kXptVUtlG9hZ5HyipGvIUWBF9W09VZmszrzAkexDnwDiYkXCgGMCohTquLxLjAGHaSoWI8ObiAzDpY7qMRNZXoSys7mEjZhp+xmI7X4ARk6INZV1roLdssTkCH3esyZEDUeXAkp9Hb2QmY1FvXbzQTidFZWuAsCp7INPk0c4J7EJwcTEhoKKhRMRAfuk0XVSvAeHIwAUEvo1YGInuUs2kMP2OxmoaUC/d/bu3bETX1jiZvbhABWXCKu+J6GaWCRuzm1kaTYSesJZDimwxwgoft7ucdRO9ZawCLcC6gXAiMJ2KW0oN2zwCyQSUzkfAzFtft9kFVNcMVZyzHsWludMjAuANtoMSsBwHx6nQSGMEQhg5PuCQkLON+UNbAUDtVJVBPQNZNBo5BUIJjhJ+x2O6CN3L+stDp+TDQr2Kbd1dCjMlRQjdtnjfFuLKoxz/qH6q6aOQqxtO1q/AzFtOJrQEj6fgbmCxboKCqlTRvgqfkYmvzMYomW+GuWBnBWdnBaQ62BWOUy4n8bq8TBxOMKzYzQs9YXGdozjYGOJdl8zpuMQcnhqU0i5PtKnLTuWGxLhQbxePN5HY/WTqD28zWww3qmRMcQ7ECIo2EhIUxCuaE2a0yLtB152g7Yzw5uIBEXXbvxgo/Y6iR1ZU+bTzEgES2qHZeR9fLtE22Ra6qc2SxMa46L+z6cmUBF+LJMu6BDRDvQ2RWhFnBRZXswoSECQWzoC3IyUUXfn05wgy9CV4HNxrohfNkNCDc+jILXV9mhZ8x5MDDk67ERf279AciuvDwymV5UNnYxx+sPKaIYYiF7v8YdDVbatKDplMYzBaZPr48hoihSi/MY3Dg91teVP0KzKXmbFFV5d2YDPPbB+7wHUz+P7bVo4gYsjbMY3BAXx3z250qi9lZBwsxvlNUmA4c7RbmMTjgOQb2Nxm+mXD54aLpFokr7WjMY3DAs/vrWslYgSsbstwkK1xRoY/BAeZXm4KjR1bviPONksw/ZEeJzWO/zTWEI4pItRv+Yh6Do+FumQ/iYYYn+YgiWikLuIFPF263C9kNlWwR0mFFhMJ12XJtcIfWl5nxFfQAHbmGfvTCwweZuVf3hKpaM/emH4FbKoMQxZ55Hw8wImCpAQcNOsKw+YIIegCOXMMAFffqnhw6y+ybfnBSDqg4tZ6+jwcYEdRSwB80KLECHLlmBwnud+LaY9IzfdMPR4bvmFuUNj9ZAoBfr/AHDUq6/lKD7ICq6ILBXRL68SGOceNyPAUBT2wAr8FKrHBHrjlA37iyl8K/jwcEtBQkYPLZrYAbcqG8hzOtvPrEbgMcuaY0aRdkubgwbDcvLXkfj9zu5At05JpQzSoKYMmhg9GAIzVnultxuzHv4+FHBLUUJF8XoCPXXIKqP5GX41BwfTmO/PtuOnZ9ufXs+3jaWdHzy+RE9xdEGP8Z/5nTbVDAtldYjwTmVJbVBHCgMkeDU+1Sme+ulJqP39NS81FlXmX+YBv9qs7QRVxccR45Zw+azeg9Xt91mo/+/xEXds4e9LH2zx7U+M/4z/jP+O9YfCGEPw/9251KZn31FZQdqm7uNM3TvaZpTlPVLyJvqep/y0RD191/AFlF190N4xxd/cLTymm6agfGlL3bf6d0g7J3K63NHGkfSJ4cZbnM/u1xozuj+fiv33aajznkPNDfOx43ln5Cf6x11PY829B8/FFqPoqu2hZ+IkBkKuv0KPAn25V2+ScKRFdhRUsAdSfWeCMrBPqS8DzhfQtJxn/Gfwr5tQZKv4eLjsiX1W9xmlGXt6JYMhEg5rU+ILG/DkOjv/GIcVXKJz0mdYH+83D4rc72iJGZkB74q1GhAq/ldoPXfItg7r1qnHAGLwn6T1T1hNCp1nxVihMKNgRsWEAhI/3P3PrGa2+2qMYLZXBamf+yLRVb8KKiOHpVlVXhogMRxUTIyZhtw3UVmCOMllrVBa8uUiAVaeVFQ60BxFjptZhngEmHwIRkEEBQIqo6v39EF8t9Z1bkYkMzroTJvCYgt53lGK9Jlmi5DyAE2rN0ZjXwOPldmCxKJtYHNHd2I0KMBnatnia2UldF9ZyolT6vemS0qn7DdXIm5wB6ikSogFSwM++kn1bRhQSGBSXdKhEASqss7xsrKNl1LbNBzGSBTr2SzKyPgNfJLOl5B1BGKqBQcGwoQwYb1nZgyXmhoJWzMxfUIy0R3PWo0TwMJ2HZQTDjRF3QChiMe1yLotjkESAV6WA0I3XuJTMbUNLPWiEiIN9csN5Xbjjohaw4RqdEgK416NxXrbpgRkYFW05GpwssGTohdHXGOriUwbBvdxEHkx30ZowoyrDSR9Y1Gh6bs1UF2Q4oFRwquuuNgU86aoPw4OhRNL3nJMyqqgxNdvTqylUB+UO2Steu+nkfA8raYMhoIs5E7CD7YERtseHanbAXmEd0GjzCp0KsJ/hBHoCkD4LBKlULRMW/5yR0066qGhSWs6ZjwO2uNosKiuj2VuSu82OqNlybhSUoiYh0WPGpwMrmxKVStToUeNIZjqT5LqsjdaxXacQrmmxls3mA69qCdC0qng4xkA6ZZVjJGZtDk4omlopd0a7f3LPNu1DG0yBNcXJQDINPhci7Q7M0LTnAV6GPOyjSZSsx5iuSHwUk71YjX4YTozpC4XfLjMazLgY3fA9RnLYoGZRP/WxZIg43cG+aYjVcbBRPb7Qzu6GAHOAsPTm1m3CiRESzdtGDaCQ0sogZDcUWO3ZzUndzxSHz+8JoIyRzWnkgAkiZZLgiZvZYiPC2TG5jjKq+jbvWl+PIrt623ox7LFMCyO8KWZZdDJXPwezSqnqh2KIq/vj6Mlwglw04UaILwlkbmvKCRkKrnoZiC1xfTsN4frltZ6v9SDNLdKSmOC6Yb0UH0FLxgYDK5CxzGAF6F9KsO7ljN7s8ojgRg2PsVRcyvEw65GYmJrwZ64sTcZG40oaJU3UhOSeoeYyqVeUGGygPo8JOV1WqZ1iI82M9xUSbQXAq5lcm6VxHTVZbctXSx8mKntmqnEa7tHHrlO61FJVkU9sRqhQbZSWptwIrhBPoW6Ezv2XDFyMCpA6NcEJECzxbwMBsAHkYmC0HwyWcrto7Fx3M3op6xyzQdwNeo5wWMqMLMwdO9qomYGCohZx2+XtYw0rocVCBFc+utRVGVd7wxYnogujCCumCwU2TPYB5GFVbTFrIxmuX373ooUcOkh0y09O4DPBPHYwBNVCYc7zMexgcTTaiHTmrJ9P6rrdJPeCJ3LzhixORRQIrhLrcVYF5GFXlwHyc/jpi6W3En7eSdUDOtrRW3DZZnOcYcFSQbnuDwWn1A4Us76u3pFPS4KDiOV/bIhb1rBDmrtgeoDzE9ayd3cl9q6p6Pnl6zjXbVW1/y6EKSz75Wo2vGF/bIqa1yqwQicgtorJBYjRgDqTZLESdaN8Ptqt58wdxbDWTDl+cpl6Ssc1ew4YvTkTfltPMCKHzeVks1APNsb0JVp743aC/RzPLMV6sxBmpLbfb9sMhm1gNZDevA7kmryrZjN9twxcnwmsyr4kRwu02yCqkbUYzGQnvFtuzWfIKu75szO3ivKiqZ0YIHcj68o7HMjm215cTs/jfzkYwryp+wxcn4iIVvmEiqpj1ZXTTe4evKg8/vwxJeI9aeSyNjaepvWo7rtSoOsDVXQdXVgN5+PlmSeNtavHtWvhhpstJ6UeKzrdO6EepJrOkF7rwsQKrj/4mCjc0yLKS9FK0OobbKlmh3Gox8ajmRkuM8BWHb6bbKeSB2ZajNN6meCOFvPkqcFhqtPVab7xPdn3iP8Z/xyvaIMFJw3iFbZPAgcrmKHDWMKXKGgrY9irz3ZUe8tfUmptSma8I8O3c3NCRJ9Tmswb58bzj4w30WVXGf8Z/xn/Gf8Z/xjb/9rvUY08B3aCeC0F981+ltPO1f/bPAYd17wzxXH0TUP2f8izl+Hx4Pv6yJt2q+iEr66Dqt3u3rpIt8t/K134q8H+UW1V+nP0wFZj3ZwkX9SolH9Etau9l3FCLMdinb7t89obLt/3QT3/udsunf/JHv+//b7d8w09/9KJfc7P9+zt+QOT7nz5zo/3zrd/5Ex+JfPe3f90tls9+28/82EeuvPzkd3zTN9xYyzcm/Z6fECw/Hr77Z2+t5fuhVQA=)

**图：UEFI 安全启动工作流**

Note

OpenSSL 工具包促进了安全通信和加密，而 UEFI 安全启动的密钥和签名由 efitool 管理。

## 生成密钥和证书

要启用 UEFI 安全启动，请生成一对用于签名和身份验证的密钥和证书。

密钥生成支持以下算法：

- RSA 2048/4096 与 SHA-256/SHA384 哈希算法
- ECDSA secp256r1/secp384r1

以下过程提供了以 RSA 2048 和 SHA-256 为例生成密钥和证书的说明。

Note

- 创建一个目录并在同一位置执行命令以在 Linux 计算机上执行这些步骤。
- 关于 ECC，将 `rsa:2048` 替换为 `ec:secp384r1` 或 `ec:secp256r1`。关于 SHA384，请在以下命令中将 `-sha256` 替换为 `-sha384`。

### 生成 UID

您可以生成 GUID 并创建三个新密钥，其中包含 CRT/PEM 格式的自签名证书和 `.key` 格式的密钥：

GUID 使用 `uuidgen` 生成签名所有者 GUID：

uuidgen --random > GUID.txt
    Copy to clipboard

### 创建 PK 密钥

1. 创建 PK 密钥对 (RSA-2048) 和证书：

openssl req -new -x509 -newkey rsa:2048 -subj "/CN=Custom PK/" -keyout PK.key -out PK.crt -days 3650 -nodes -sha256
        Copy to clipboard
2. 将 `.crt` 文件转换为 `.cer` 文件：

openssl x509 -outform der -in PK.crt -out PK.cer
        Copy to clipboard
3. 将 `.crt` 文件转换为 `.esl` 文件：

cert-to-efi-sig-list -g "$(< GUID.txt)" PK.crt PK.esl
        Copy to clipboard
4. 使用 `.crt`、`.esl` 和 `.key` 文件签署并生成 `.auth` 文件：

sign-efi-sig-list -k PK.key -c PK.crt PK PK.esl PK.auth
        Copy to clipboard

### 创建 KEK 密钥

1. 创建 KEK 密钥对 (RSA-2048) 和证书：

openssl req -new -x509 -newkey rsa:2048 -subj "/CN=Custom KEK/" -keyout KEK.key -out KEK.crt -days 3650 -nodes -sha256
        Copy to clipboard
2. 将 `.crt` 文件转换为 `.cer` 文件：

openssl x509 -outform der -in KEK.crt -out KEK.cer
        Copy to clipboard
3. 将 `.crt` 文件转换为 `.esl` 文件：

cert-to-efi-sig-list -g "$(< GUID.txt)" KEK.crt KEK.esl
        Copy to clipboard
4. 使用 `.crt`、`.esl` 和 `.key` 文件签署并生成 `.auth` 文件：

sign-efi-sig-list -k PK.key -c PK.crt KEK KEK.esl KEK.auth
        Copy to clipboard

### 创建 dB 密钥

1. 创建 dB 密钥对 (RSA-2048) 和证书：

openssl req -new -x509 -newkey rsa:2048 -subj "/CN=Custom DB Signing Key 1/" -keyout db.key -out db.crt -days 3650 -nodes -sha256
        Copy to clipboard
2. 将 `.crt` 文件转换为 `.cer` 文件：

openssl x509 -outform der -in db.crt -out db.cer
        Copy to clipboard
3. 将 `.crt` 文件转换为 `.esl` 文件：

cert-to-efi-sig-list -g "$(< GUID.txt)" db.crt db.esl
        Copy to clipboard
4. 使用 `.crt`、`.esl` 和 `.key` 文件签名并生成 `.auth` 文件：

sign-efi-sig-list -k KEK.key -c KEK.crt db db.esl db.auth
        Copy to clipboard

## 对镜像进行签名并将 (.auth) 密钥/签名文件复制到 EFI 分区

EFI 系统分区由 EFI、loader 和 ostree 组成，其中包含使用 systemd-boot 时与 EFI 相关的信息。DTB 分区由 dtb 目录组成。

EFI 系统分区包含启动系统和管理更新的基本文件，而 DTB 分区包含硬件配置信息。本节提供以下说明：

> 
> 
> - 对各种镜像进行签名
> - 将 `(.auth)` 密钥和签名文件复制到 EFI 分区和 DTB 分区目录。
> - 将签名和可执行镜像（例如 `bootaa64.efi` 文件 (systemd-boot)）放置在 `efimountedbin/EFI/BOOT/` 目录中，将 `vmlinuz.x.x.xx` 文件 (Linux) 镜像放置在 `efimountedbin/ostree/poky-xxx/vmlinuz-x.x.xx` 目录中。

systemd-boot 验证签名的镜像，还用于注册以下内容：

> 
> 
> - UEFI 安全启动密钥放置在 `/keys` 中的特定目录中以进行密钥注册。systemd-boot 使用这些密钥，并在 UEFI 启动服务期间将其存储在 RPMB 中。
> - 您可以在 systemd-boot 加载程序配置中配置等待时间（以秒为单位）。内核加载在等待期间会延迟，因此您可以在 systemd-boot 菜单中查看和选择可用选项。
> - 设备树文件存储在 `dtbmountedbin/dtb` 目录中。UEFI 在运行时使用这些文件，并初始化设备树文件。签名时，将创建 `.sig` 个文件并将其放置在同一目录中，因为这些文件是非 PE 镜像。
> 
> 
> 表：EFI 系统分区（efi.bin）
> 
> 
>     | `/EFI` | `/Loader` | `/ostree` |
>     | --- | --- | --- |
>     | `/Boot/bootaa64.efi` | `loader.conf` | `poky-xxx/vmlinuz-x.x.xx` |
>     |  | `/keys/authkeys/db.auth`<br><br><br>`/keys/authkeys/KEK.auth`<br><br><br>`/keys/authkeys/PK.auth` |  |
> 
> 
> 
> 
> 表：DTB 分区 (dtb.bin)
> 
> 
>     | `combined-dtb.dtb` | `combined-dtb.sig` | `/loader` |
>     | --- | --- | --- |
>     |  |  | `/keys/authkeys/db.auth`<br><br><br>`/keys/authkeys/KEK.auth`<br><br><br>`/keys/authkeys/PK.auth` |

### 将签名的镜像和密钥放在 EFI 分区中

按照以下步骤将已签名镜像和密钥放在 Linux 主机上的 EFI 分区中：

1. 在 `contents.xml` 文件中找到 `efi.bin` 和 `dtb.bin` 文件路径，以从元获取 `efi.bin` 和 <cite>dtb.bin`</cite> 文件。
2. 将 `efi.bin` 文件挂载至 `<workspace>` 目录中，并在 `<workspace>` 目录中创建 `efimountedbin` 目录。
3. 将 `dtb.bin` 文件挂载至 &lt;workspace&gt; 目录中，并在 &lt;workspace&gt; 目录中创建一个 `dtbmountedbin` 目录。
4. 挂载 `efi.bin` 文件：

sudo mount efi.bin efimountedbin
        Copy to clipboard

cd efimountedbin
        Copy to clipboard
5. 挂载 `dtb.bin` 文件：

sudo mount dtb.bin dtbmountedbin
        Copy to clipboard

cd dtbmountedbin
        Copy to clipboard
6. 在 `<workspace>/efimountedbin/loader/keys` 目录中创建 authkeys 目录以注册密钥。
7. 选择 `.auth` 文件（`PK.auth`、`KEK.auth` 和 `db.auth`）并将其复制至 authkeys 目录。

sudo cp <selected algo PK/KEK/DB auth files from the files location>
        <workspace>/efimountedbin/loader/keys/authkeys/
        Copy to clipboard
8. 在 `<workspace>/dtbmountedbin/loader/keys directory` 中创建一个 `authkeys` 目录以注册密匙。
9. 选择 `.auth files`（PK.auth、KEK.auth 和 dB.auth），并将其复制到 `dtbmountedbin` 中的 authkeys 目录。

sudo cp <selected algo PK/KEK/DB auth files from the files location> <workspace>/dtbmountedbin/loader/keys/authkeys/
        Copy to clipboard
10. 使用密匙对 `bootaa64.efi and dtb`、`vmlinuz-x.x.xx` 和 `combined-dtb.dtb` 镜像文件进行签名，并将其复制到 `efimountedbin` 目录中的相应的目录。

    1. 为 `efi` 镜像签名：

        sbsign 工具旨在对 EFI 启动镜像进行签名，例如遵循 EFI 规范的 `bootaa64.efi`。此工具用于 UEFI 安全启动签名，可在 Linux 系统上下载并使用。需要注意的是，sbsign 只能对扩展名为 `.efi` 的 PE 镜像进行签名。

        1. 将 `/efimountedbin` 目录 `/EFI/BOOT` 中的 `bootaa64.efi` 文件和 `/ostree/poky-xxx/vmlinuz.x.x.xx` 目录中的 `vmlinuz-x.x.xx` 文件复制至 Linux 计算机上的 `images` 目录。
        2. 在镜像上签名：

> 
> 
> cd <workspace>/images
>                 Copy to clipboard
> 
> 
> sudo sbsign --key <workspace>/keys/db.key --cert <workspace>/keys/db.crt bootaa64.efi --output <workspace>/bootaa64.efi
>                 Copy to clipboard
> 
> 
> sudo sbsign --key <workspace>/keys/db.key --cert <workspace>/keys/db.crt vmlinuz.x.x.xx --output <workspace>/vmlinuz.x.x.xx
>                 Copy to clipboard
    2. 对 `dtb` 镜像进行签名：

        已通过 UEFI 安全启动身份验证的所有镜像都是常规 API，通常采用 PE 格式。签名标头和大小追加到现有 PE 标头，签名追加到已签名文件的末尾。

        但是，当非 PE 格式的镜像需要 UEFI 安全启动身份验证时，缺少 PE 标头及魔数会导致识别镜像格式失败。因此，无法使用标准工具和路径进行镜像验证。

        目前 UEFI 安全启动验证的镜像列表中，只有 dtb 文件是非 PE 格式的镜像。作为 sbsign 工具的替代方案，您可以使用 `OpenSSL cms` 命令生成签名文件，用于对非 PE 格式的镜像进行签名。

        按照以下步骤对非 EFI 镜像进行签名：

        1. 要对 dtb 文件和签名文件进行签名，请运行以下命令：

> 
> 
> openssl cms -sign -inkey < .key file > -signer < .crt file > -binary -in <input dtb file>–out < Output .dtb.sig file > -outform DER
>                 Copy to clipboard
        2. 要对镜像进行签名，请运行以下命令：

> 
> 
> cd <workspace>/images
>                 Copy to clipboard
> 
> 
> sudo openssl cms -sign -inkey <workspace>/keys/db.key -signer <workspace>/keys/db.crt -binary -in combined-dtb.dtb --out combined-dtb.sig -outform DER
>                 Copy to clipboard
11. 将签名的 `combined-dtb.sig`、`vmlinuz.x.x.xx` 和 `bootaa64.efi` 镜像复制回其各自的目录 `(dtbmountedbin/, efimountedbin/ostree/poky-xxx/, and efimountedbin/EFI/BOOT/)`。
12. 配置 systemd-boot 管理器显示菜单的超时时间：

    1. 使用 sudo access 打开并编辑 `/loader/loader.conf` 处的 `loader.conf` 文件：

> 
> 
> sudo vi loader.conf
>             Copy to clipboard
    2. 添加行 `timeout 10` 以设置启动菜单超时并保存文件。
13. 要卸载 EFI 二进制文件以获取最新的 `efi.bin` 文件，请运行以下命令：

> 
> 
> sudo umount efimountedbin
>         Copy to clipboard
14. 要卸载 DTB 二进制文件以获取最新的 `dtb.bin` 文件，请运行以下命令：

> 
> 
> sudo umount dtbmountedbin
>         Copy to clipboard
15. 要在目标上刷写签名的镜像和密钥，请将设备置于快速启动模式并使用以下命令刷写更新的 `efi.bin` 和 `dtb.bin` 镜像：

> 
> 
> fastboot flash efi <efi binary location>
>         
>         fastboot flash dtb_a <dtb binary location>
>         Copy to clipboard

## 从 systemd-boot 菜单启用 UEFI 安全启动

确保先生成 EFI 签名镜像和安全启动密钥，然后将其刷写到目标上；同时完成 systemd-boot 管理器超时配置。有关详细信息，请参阅[对镜像进行签名并将 (.auth) 密钥/签名文件复制到 EFI 分区](https://docs.qualcomm.com/doc/80-70023-11SC/topic/enable-uefi-secure-boot.html#section-sign-images-copy-auth-key-label)。

Note

使用 systemd-boot 管理器将密钥存储到 RPMB 的密钥注册是一次性操作。成功注册密钥后，无法重新配置和更新 UEFI 安全启动密钥。

以下步骤可在设备上启用 UEFI 安全启动。

1. UEFI 加载完毕并在下次启动时运行后，systemd-boot 管理器会在以下串口日志中显示交互式菜单。

> 
> 
> Qualcomm Linux 1.5-ver.1.1 (ostree:0) Enroll Secure Boot keys: authkeys
>         Boot in 10 s. ?????????????????????????????????????????????????
>         Boot in 9 s. ?????????????????????????????????????????????????
>         Boot in 8 s.
>         Copy to clipboard
2. 使用 **vol-** 键停止超时，显示 **Enroll Secure Boot keys: authkeys**。
3. 使用**电源**键开始注册。接下来会有一个超时时间，用户可选择中止此次注册操作。在超时时间内，请勿使用任何密钥。超时完成后，执行密钥注册操作。成功密钥注册操作如下日志所示。

> 
> 
> Qualcomm Linux 1.5-ver.1.1 (ostree:0) Enroll Secure Boot keys: authkeys Enrolling secure boot keys from directory: \loader\keys\authkeys
>         Warning: Enrolling custom Secure Boot keys might soft-brick your machine!
>         Enrolling in 15 s, press any key to abort.
>         ...
>         Enrolling in  0 s, press any key to abort.
>         Custom Secure Boot keys successfully enrolled, rebooting the system now!
>         Copy to clipboard
4. 成功注册密钥后，UEFI 会自动从 SetupMode 切换到 UserMode。然后 systemd-boot 会触发设备重新启动。
5. 下次设备启动时，UEFI 将以 UserMode 启动，并启用 UEFI 安全启动。以下串口日志显示 UEFI 安全启动成功启用。

> 
> 
> EFI stub: Booting Linux Kernel...
>         EFI stub: Loaded initrd from LINUX_EFI_INITRD_MEDIA_GUID device path
>         EFI stub: UEFI Secure Boot is enabled.
>         EFI stub: Using DTB from configuration table
>         EFI stub: Exiting boot services...
>         Copy to clipboard
6. UEFI 安全启动成功启用后，恢复 systemd-boot 管理器超时配置。

## 对未签名镜像进行哈希处理并更新数据库以进行镜像身份验证

UEFI 安全启动允许镜像身份验证。此身份验证是通过存储在签名数据库 (dB) 中的镜像的哈希来实现的，即使镜像未签名或镜像中的证书不存在于 dB 中也是如此。

此过程保留用于无法从其供应商提供的状态签名或更改的内容。如果镜像哈希在数据库拒绝 (dBX) 列表中可用，则可以删除对签名二进制文件的信任，而无需撤销相应的证书或密钥。例如，在处理易受近期漏洞利用的早期签名 boot loader 时，这很有用。。

应用签名并为同一二进制文件创建 dB 哈希是多余的。如果镜像合成不需要任何更改，这意味着不会在镜像中添加或修改新密钥和证书，并且现有镜像不需要 UEFI 安全启动身份验证，请按照以下步骤操作。

您可以计算镜像的哈希值并生成允许的签名 dB 文件。

### 为未签名镜像生成 db.auth 文件

1. 生成所有要验证的镜像的哈希值，并将哈希值转换为 `.esl` 文件：

hash-to-efi-sig-list <list of efis to be hashed>  <output file name with .esl extension>
        Copy to clipboard
2. 使用 dB 密钥签署 `.esl` 哈希文件：

sign-efi-sig-list -k < .key file location > -c < .crt file location > <secure variable name> <Above generated .esl file> <o/p .auth file>
        Copy to clipboard
3. 将生成的 `db.auth` 文件复制到 EFI 二进制文件中，并将密钥预配到设备中。

例如，在 Linux 主机上：

1. 将 `efi.bin` 文件挂载至 `<workspace>` 目录，并在 `<workspace>` 目录下创建 `efimountedbin` 文件夹。
2. 在 Linux 计算机上的 `<workspace>` 目录中创建 `testkeys` 文件夹，并将预先存在的密钥复制至其中。
3. 对镜像进行签名：

hash-to-efi-sig-list <workspace>/efimountedbin/EFI/BOOT/bootaa64.efi mergedhash.esl
        Copy to clipboard

sign-efi-sig-list -k keys db.key -c db.crt db mergedhash.esl db.auth
        Copy to clipboard
4. 将 `db.auth` 文件复制至 `<workspace>/efimountedbin/loader/keys/qckeys` 处的 `qckeys` 文件夹。
5. 按照 dtb 签名步骤对 dtb 镜像进行签名以生成新的 `efi.bin` 文件。关于更多信息，请参阅[对镜像进行签名并将 (.auth) 密钥/签名文件复制至 EFI 分区](https://docs.qualcomm.com/doc/80-70023-11SC/topic/enable-uefi-secure-boot.html#section-sign-images-copy-auth-key-label)。
6. 关于目标上的 Linux 主机：

    1. 擦除任何现有的 UEFI 安全启动密钥，并使用 fastboot 刷写 EFI 二进制文件。
    2. 使用 systemd-boot 配置密钥。关于更多信息，请参阅[从 systemd-boot 菜单启用 UEFI 安全启动](https://docs.qualcomm.com/doc/80-70023-11SC/topic/enable-uefi-secure-boot.html#section-enable-uefi-secure-boot-from-systemd-boot-menu-label)。

Note

所有未签名的文件都使用其他密钥进行签名，并使用此方法向 UEFI 进行身份验证。

## 后续步骤

- 有关芯片组功能管理和升级芯片组功能包，请参阅[安装或升级 SoftSKU 功能包](https://docs.qualcomm.com/doc/80-70023-11SC/topic/upgrade-qualcomm-wes-feature-pack.html#upgrade-qualcomm-wes-feature-pack)。
- 要定制内存和 SEPolicy，请参阅[定制安全服务](https://docs.qualcomm.com/doc/80-70023-11SC/topic/customize.html#customize)。
- 有关常见的日志记录和调试技术，请参阅[调试 Qualcomm TEE 和安全设备](https://docs.qualcomm.com/doc/80-70023-11SC/topic/debug.html#debug)。

Last Published: Apr 14, 2026

[Previous Topic
启用 SELinux](https://docs.qualcomm.com/bundle/publicresource/80-70023-11SC/topics/enable-selinux.md) [Next Topic
安装或升级 SoftSKU 功能包](https://docs.qualcomm.com/bundle/publicresource/80-70023-11SC/topics/upgrade-qualcomm-wes-feature-pack.md)