国密算法的ekey基本使用的说明

Posted intoxication

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了国密算法的ekey基本使用的说明相关的知识,希望对你有一定的参考价值。

概述

本次需要进行的实验研究是国密算法的ekey的使用。对于一个或者多个应用来说,每个应用可以包含一个或多个容器(Container),每个容器中可以存放两对分别用于加密和签名的密钥对,以及两个相应的证书或证书链。每一个容器只能为ECC或RSA一种类型,一个容器中不能混用ECC密钥和RSA密钥。根据个人的理解,ekey的作用就是生成容器,将需要加密的消息或文件利用相应的加密算法加密后,生成证书,将证书导入ekey的容器中。这样以便于在其他终端上用到该文件时,使用ekey,其容器中的对应的证书可以进行身份验证,确保安全。

实验环境

  • Windows 7
  • Linux Debian Kali
  • The GmSSL Project
    这里使用SM2算法对相关文件进行加密

实验过程

实验主要分为以下几个流程:

  • 生成SM2密钥对
  • 生成SM2自签证书作为根CA
  • 生成SM2密钥对
  • 生成证书请求CSR
  • 用CA进行签名
  • 验签
  • 生成PKCS12格式的证书文件
  • 在win环境下验证证书

具体过程如下:
生成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的基本使用的介绍。

以上是关于国密算法的ekey基本使用的说明的主要内容,如果未能解决你的问题,请参考以下文章

嵌入式设备中支持国密算法的方法

国密算法说明SM2SM3SM4

银行加密体系与加解密算法速览

php国密SM3签名算法

003 国密算法【技术】

SM2 国密算法工具QT版,彻底搞懂国密算法的使用