进入 E:\00.install\OpenSSL-Win64\openssl\bin 目录,这里面就有 openssl.exe,但不能直接敲 openssl,要用 .\openssl
1.生成私钥
.\openssl ecparam -genkey -name prime256v1 -out ec_private.pem
2.从私钥导出公钥
bash
.\openssl ec -in ec_private.pem -pubout -out ec_public.pem
3.计算固件fw.bin的sha256摘要,输出二进制digest.bin
bash
.\openssl dgst -sha256 -binary fw.bin > digest.bin
4.对32字节摘要h进行签名,输出DER格式签名 sig_der.bin
bash
.\openssl pkeyutl -sign -inkey ec_private.pem -in digest.bin -out sig_der.bin
5.验签
bash
.\openssl dgst -sha256 -verify ec_public.pem -signature sig_der.bin fw.bin
(可选)永久方案:把 bin 目录加到系统 PATH,以后不用写 .\
- 复制路径:
E:\00.install\OpenSSL-Win64\openssl\bin - Win 搜索【编辑系统环境变量】→ 环境变量 → 系统变量找到
Path→编辑→新建,粘贴路径 - 完全关闭当前所有 PowerShell 窗口,重新打开 ,之后直接敲
openssl即可。
快速校验是否成功
.\openssl version
输出版本号,说明 openssl 正常可用。