使用sm2签名并验签efi文件
生活随笔
收集整理的這篇文章主要介紹了
使用sm2签名并验签efi文件
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
使用sm2簽名并驗簽efi文件
[sbsigntool]是一個開源的軟件包,他完成了對efi文件的簽名和驗簽工作,其使用的簽名算法是sha256。由于項目需要,我們需要使用國密的簽名算法sm3,正好用到gmssl的API可以完成相關(guān)工作。
該工具原本是用的pkcs#7的加密標準,在簽名的過程可以添加入證書,這是由于其標準決定的(?)。由于在gmssl中使用的sm3簽名的過程中并沒有涉及到證,所以改變過后的工具簽名的時候并沒有使用到證書,只是使用到了私鑰。在驗簽的過程中,讀入證書,并從證書中讀取公鑰,然后進行驗簽即可。
在該工具包的改寫過程中,感覺以下幾點可以記錄一下:
編譯時導(dǎo)入環(huán)境變量
在liunx上面編譯源代碼的時候,會使用到./configure命令進行依賴包的確認,有時候可能安裝的軟件包并沒有在系統(tǒng)的路徑下,這時候可以通過export導(dǎo)入相應(yīng)的文件位置:
需要內(nèi)存分配代碼的編寫
在對某些代碼進行編寫的時候,可能需要去讀文件或者對字符串數(shù)組進行賦值,可能需要先傳入一個空的指針,獲取長度后,然后分配空間,傳入指針,獲取內(nèi)容。
gmssl生成密鑰和證書方法
完成后的編寫代碼可以在sbsigntool_sm2下載
總結(jié)
以上是生活随笔為你收集整理的使用sm2签名并验签efi文件的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 深入理解C/C++函数指针
- 下一篇: 移动端弹出层加遮罩后禁止滑动