
# 如何解决证书切换导致的安全启动失败问题
#### 问题背景
2025年3月份之前，在HCE版本发布的RPM包hce-sign-certificate-1.0-1.hce2中，针对安全启动功能提供了两本验签证书：HCE_Secure_Boot_RSA_Code-Signing_Authority_1.cer 和 Huawei_Code-Signing_Authority_CA_3.der.cer，用于OS安全启动过程中shim，grub，vmlinux组件的验签。这两本证书任意一个都可以导入BIOS，作为验签证书，其中HCE_Secure_Boot_RSA_Code-Signing_Authority_1.cer证书在2025.04已经到期了，无法使用。
如果服务器安装了2025年3月份之前HCE版本，开启了安全启动功能且只导入了HCE_Secure_Boot_RSA_Code-Signing_Authority_1.cer证书，在升级2025年5月份之后的HCE版本，重启后，会存在系统无法引导启动的问题。
#### 排查方法
1. 确认当前安装的系统版本是否为2025年3月份之前的HCE2.0版本。如果是，执行步骤2；如果否，不存在该问题。 
   ```
   [root@localhost ~]# cat /etc/hce-latest
   hceversion=HCE-2.0.2412.1_aarch64
   compiletime=2025-02-28-10-00-01
   ```
   
   
2. 执行mokutil --sb查看系统是否开启安全启动功能。如果显示"SecureBoot enabled"，执行步骤3；如果否，不存在该问题。 
   ```
   [root@localhost ~]# mokutil --sb
   SecureBoot enabled
   ```
   
   
3. 查看BIOS中导入的证书。 
   ```
   [root@localhost ~]# mokutil --db | grep "Subject:"
   ```
   图1系统导入证书查询   
   ![](https://support.huaweicloud.com/hce_faq/zh-cn_image_0000002512088857.png "点击放大")
   - 如果上述命令查询结果存在"Huawei Root CA"，则不会有该问题，直接跳到结束；
   
   - 如果上述命令查询结果没有"Huawei Root CA"，有"Huawei Code-Signing Authority CA 3"，OS升级到2025年5月份之后的HCE2.0版本，不会有该问题；但是后续继续往HCE3.0升级同样会出现该问题，建议按照【解决方案】重新导入新的生命周期更长的证书。
   
   - 如果上述命令查询结果中即不存在"Huawei Root CA"，也不存在"Huawei Code-Signing Authority CA 3"，有"HCE Secure Boot RSA Code-Signing Authority 1"，则存在该问题。
   
   
   
   
 
#### 解决方案
获取HCE2.0镜像源中更新的证书，https://repo.huaweicloud.com/hce/2.0/updates/x86_64/Packages/路径下的hce-sign-certificate-1.0-2.hce2.x86_64.rpm（同理aarch64场景对应aarch64的RPM包），解压或安装后，将新证书Huawei_Root_CA.cer导入BIOS中。
- BIOS证书导入参考： [鲲鹏服务器](https://support.huawei.com/enterprise/zh/doc/EDOC1100088653/97a0d5a0)、[2288H V5](https://support.huawei.com/enterprise/zh/doc/EDOC1000163371/afc5c7f8?idPath=23710424|251364409|21782478|21872244)。
  
 
