安全启动相关命令使用

文章目录

  • openssl 密钥证书生成
    • 密钥生成
    • 证书格式转换
  • sbsigntools 工具包
    • sbsign 签名
    • sbverify 验签
    • sbattach 备份/移除签名
  • mokutil 工具
  • 查看启动菜单

openssl 密钥证书生成

密钥生成

openssl req -new -x509 -newkey rsa:2048 -subj "/CN=Database test/" -keyout DB.key -out DB.crt \
-days 3650 -nodes -sha256

db.key 是pem 格式私钥,签名时用到
db.crt 是 pem 格式证书,签名时用到

证书格式转换

pem 转 der,在bios 界面注册证书时会用到 der 格式的证书

openssl x509 -in DB.crt -out DB.cer -outform DER

sbsigntools 工具包

sbsigntools 是安全启动签名工具,可以通过 apt install sbsigntools 安装。
包含的部分命令如下

sbsign 签名

filename=grubx64.efi
sbsign --key DB.key --cert DB.crt --output "$filename" "$filename"

sbverify 验签

filename=grubx64.efi
#验签
sbverify --cert DB.crt "$filename"
#查看签名
sbverify -l "$filename"

sbattach 备份/移除签名

# https://manpages.org/sbattach
#把第一个签名,保存到grubx64.sig 中
filename=grubx64.efi
sbattach --signum 1 --detach grubx64.sig "$filename"
#移除第一个签名,默认移除第一个
sbattach --signum 1 --remove "$filename"
#移除备份同时进行
sbattach --signum 1 --detach grubx64.sig --remove "$filename"
#添加签名到文件中
sbattach --attach grubx64.sig "$filename"

mokutil 工具

#查看安全启动状态
mokutil --sb-state
#查看 mok
mokutil --list-enrolled
#查看 pk,kek,db
mokutil --pk
mokutil --kek
mokutil --db
#导入mok,需要输密码,重启时会弹出一个界面,在里面输入同样的密码就导入成功了
mokutil --import mok.cer
#导出 mok
mokutil --export
#删除mok,参数是有 上条命令导出的
mokutil --delete MOK-0001.der

查看启动菜单

efibootmgr -v

你可能感兴趣的:(安全,安全启动)