GmSSL快速上手指南


一、快速上手

  1. 下載源代碼

    我是下載到本地然后通過 Xftp 傳到 Linux 環境里的。

    然后解壓至當前目錄:

    $ unzip GmSSL-master.zip
    
  2. 編譯與安裝

    Linux平台使用以下命令:

    $ ./config
    $ make
    $ sudo make install
    

    安裝完后查看版本:

    $ gmssl version
    

    報錯:gmssl: symbol lookup error: gmssl: undefined symbol: PBEPARAM_it, version OPENSSL_1_1_0d

    經過上網查找資料(見參考二),發現這是環境變量的問題,此類問題可以通過以下命令設置:

    $ export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH
    

    再查看版本,發現成功查看到版本:

  3. 生成 SM2 密鑰並簽名

    先使用 vim 編輯一個文件,我寫了一個 txt 文件:

    $ vi test.txt
    

    然后生成密鑰,並對文件進行加密:

    $ gmssl genpkey -algorithm EC -pkeyopt ec_paramgen_curve:sm2p256v1 \
    				-out signkey.pem
    $ gmssl pkeyutl -sign -pkeyopt ec_scheme:sm2 -inkey signkey.pem \
    				-in <yourfile> -out <yourfile>.sig
    

    查看加密后的文件(發現根本看不懂):

    可以將公鑰從 signkey.pem 中導出並發布給驗證簽名的一方:

    $ gmssl pkey -pubout -in signkey.pem -out vrfykey.pem
    $ gmssl pkeyutl -verify -pkeyopt ec_scheme:sm2 -pubin -inkey vrfykey.pem \
                    -in <yourfile> -sigfile <yourfile>.sig
    

    看到紅線處表示簽名驗證成功:

    可以查看一下密鑰:

    這是私鑰:

    這是公鑰:

二、參考

The GmSSL Project:支持國密SM2/SM3/SM4/SM9/ZUC/SSL的密碼工具箱官方文檔

GmSSL源碼

Centos7.0上 GmSSL-2.0版本是否能用,一直都無法安裝成功,各種bug · Issue #219 · guanzhi/GmSSL · GitHub


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM