本次须要进行的实验研究是国密算法的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加密