zoukankan      html  css  js  c++  java
  • 国密算法的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的基本使用的介绍。
    参考文献:https://blog.csdn.net/weixin_42037232/article/details/88537092

  • 相关阅读:
    C# 文件类的操作---删除
    C#实现Zip压缩解压实例
    UVALIVE 2431 Binary Stirling Numbers
    UVA 10570 meeting with aliens
    UVA 306 Cipher
    UVA 10994 Simple Addition
    UVA 696 How Many Knights
    UVA 10205 Stack 'em Up
    UVA 11125 Arrange Some Marbles
    UVA 10912 Simple Minded Hashing
  • 原文地址:https://www.cnblogs.com/intoxication/p/10963932.html
Copyright © 2011-2022 走看看