本次須要進行的實驗研究是國密算法的ekey的使用。對於一個或者多個應用來講,每一個應用能夠包含一個或多個容器(Container),每一個容器中能夠存放兩對分別用於加密和簽名的密鑰對,以及兩個相應的證書或證書鏈。每個容器只能爲ECC或RSA一種類型,一個容器中不能混用ECC密鑰和RSA密鑰。根據我的的理解,ekey的做用就是生成容器,將須要加密的消息或文件利用相應的加密算法加密後,生成證書,將證書導入ekey的容器中。這樣以便於在其餘終端上用到該文件時,使用ekey,其容器中的對應的證書能夠進行身份驗證,確保安全。算法
實驗主要分爲如下幾個流程:安全
具體過程以下:
生成SM2密鑰對cakeyGM.pem:
生成 SM2 自簽證書,做爲根CA ,輸入相關的詳細信息,生成cacertGM.crt:
生成SM2密鑰對 testUserGM.key:
以後,生成證書請求CSR:
gmssl req -new -key testUserGM.com.key -out testUserGM.com.csr
再後,用一開始生成的CA進行簽名:
gmssl ca -in testUserGM.com.csr -out testUserGM.com.crt -cert demoCA/cacertGM.crt -keyfile demoCA/private/cakeyGM.pem
驗籤:
gmssl verify -verbose -x509_strict -CAfile demoCA/cacertGM.crt testUserGM.crt
生成PKCS12格式的證書文件:
上述操做已經生成了PKCS12格式的證書,並已經導入到了ekey,以後打開win7系統,配置好ekey的管理工具,發現已經生成了ContainerGuo的容器,裏面顯示出了上面生成的證書,以下圖所示:
點擊證書的詳細信息,查看證書頒發者的詳細信息,與上面配置輸入的相關信息一致,以下圖所示:
至此,ekey裏已經存入了生成的證書,而且信息與配置的一致,驗證成功。工具
以上,即爲ekey的基本使用的介紹。
參考文獻:https://blog.csdn.net/weixin_42037232/article/details/88537092加密