這篇文章將為大家詳細講解有關golang中使用gmssl編譯不過的解決方法,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。
成都創新互聯專注于企業營銷型網站建設、網站重做改版、新巴爾虎右網站定制設計、自適應品牌網站建設、H5技術、購物商城網站建設、集團公司官網建設、外貿網站建設、高端網站制作、響應式網頁設計等建站業務,價格優惠性價比高,為新巴爾虎右等各大城市提供網站開發制作服務。此前在ubuntu上交叉編譯過openssl-1.0.2k,使用如下腳本實現:
./config --prefix=/opt/openssl --cross-compile-prefix=arm-linux-gnueabihf- no-asm shared sed -i "s/ -m64//g" Makefile make make install
所有開發環境均通過svn管控,包括庫文件、工具等的建立過程,因此在用config生成Makefile文件后,使用腳本自動刪除arm編譯器不支持的m64選項。
當使用同樣的方法編譯gmssl后,在設備上生成秘鑰時出現運行時錯誤;openssl-1.1.1預覽版編譯后運行則是停止響應。
經過多方摸索,終于找到了原因所在:應使用Configure配置目標平臺!新的編譯腳本如下:
./Configure --prefix=/opt/openssl --cross-compile-prefix=arm-linux-gnueabihf- no-asm shared linux-armv4 make make install
因為是arm設備,這里配置目標平臺為linux-armv4,其它平臺編譯方式相似,使用 ./Configure --help 能夠顯示支持的所有平臺。
此外,當指定arm平臺時,Makefile中不會出現不支持的m64選項,也就無需刪除。
使用新的編譯方式后,gmssl和openssl-1.1.1均能在arm設備上正常工作。
GmSSL-Go是GmSSL庫的Go語言接口綁定,為Go語言應用提供密碼算法、X.509證書、SSL協議和Engine等功能。
GmSSL-Go以CGO方式將GmSSL的高層接口封裝為Go語言組件,是一個與GmSSL庫松耦合的輕量級的中間層,所有的密碼功能均由底層的GmSSL庫提供。
為何用GmSSL-Go
雖然Go語言的官方庫提供了常用的密碼算法包和SSL協議包,也存在一些第三方的純Go語言的密碼庫,在項目中集成GmSSL-Go仍然有很多不可替代的優勢:
GmSSL-Go通過底層的GmSSL庫提供完整、豐富的國密算法、證書和SSL協議的支持。
GmSSL-Go可以通過Engine對象滿足國密標準的U盾、PCI-E加密卡等國產硬件密碼設備,提供系統的安全性、可用性和密碼合規性。
GmSSL-Go以CGO方式調用GmSSL庫的密碼算法實現,相對于純Go語言實現在密碼算法上具有性能上的優勢,請參考GmSSL Benchmark。
GmSSL-Go的功能和性能隨著GmSSL的升級獲得持續的改進。
看完這篇文章,你能夠獨立解決golang中使用gmssl編譯不過的問題了嗎?如果還想學到更多技能或想了解更多相關內容,歡迎關注創新互聯成都網站設計公司行業資訊頻道,感謝各位的閱讀。!
另外有需要云服務器可以了解下創新互聯scvps.cn,海內外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業上云的綜合解決方案,具有“安全穩定、簡單易用、服務可用性高、性價比高”等特點與優勢,專為企業上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。
本文標題:golang中使用gmssl編譯不過的解決方法-創新互聯
轉載注明:http://vcdvsql.cn/article2/ccseoc.html
成都網站建設公司_創新互聯,為您提供定制網站、用戶體驗、定制開發、網站改版、App設計、動態網站
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯