安全启动相关命令使用
文章目录
- 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