简介

这周,实习公司要我去了解一下gmssl生成证书的流程,以便之后去验证SKF的证书接口。首先就来体验一下用指令完整证书的生成操作。目前,有一些文章已经有相关的详细介绍,但还是存在一定问题,如:CA密钥文件与openssl.cnf中默认的cakey.pem不一致,导致证书生成失败;等。
本文包括使用国密gmsll命令完成sm2生成密钥 、成为CA、 生成签名请求、签名生成数字证书、验签;及其可能遇见问题的解决方法
提前安装好gmssl;查看gmssl版本指令本:

gmssl version -a

文章使用的gmssl 2.5.4.

前提准备

创建文件夹及文件

mkdir myCert
cd myCert
mkdir demoCA
cd demoCA
mkdir private
mkdir certs
mkdir crl
mkdir newcertstouch index.txt
touch index.txt.attr
touch serialsudo sh -c 'echo "01" > demoCA/serial'

CA:生成SM2密钥对和SM2自签证书

生成SM2密钥对

gmssl sm2 -genkey -out private/cakey.pem

生成密钥文件时会提醒输入口令,这个口令要记住哦!

生成SM2自签证书,作为CA根证书

gmssl req -new -x509 -key private/cakey.pem -out cacert.crt

生成根证书需要填入一些信息 ,根证书的这三类信息一定要记住,因为之后该根证书可以签名的证书的该三类信息必须一样,不然之后申请产生的证书为空。
·Country Name
·State or Province Name
·Organization Name

生成密钥、证书请求、证书

生成SM2密钥对testUser.com.key

cd..
gmssl sm2 -genkey -out testUser.com.key
//一样需要输入一个 密钥文件使用的验证口令

生成证书请求CSR

gmssl req -new -key testUser.com.key -out testUser.com.csr
/*证书请求需要输入信息,一下三类信息必须和根证书一样哦
·Country Name
·State or Province Name
·Organization Name
*/

证书生成

gmssl ca -in testUser.com.csr -out testUser.com.crt -cert demoCA/cacert.crt  -keyfile demoCA/private/cakey.pem

验签

gmssl verify -verbose -x509_strict -CAfile demoCA/cacert.crt testUser.com.crt

可能出现的问题

1.生成的用户证书为空?
解决方法:将用户证书请求中Country Name、State or Province Name、Organization Name这几项的信息与CA根证书保持一致
2.生成服务器证书时报unable to load number from ./demoCA/serial错误
解决办法:因为序列号文件中的值不对。

sudo sh -c 'echo "01" > serial'

参考

1.gmssl参考文章:
参考文章一:gmssl快速上手
参考文章二:gmssl指令证书生成
2.openssl参考文章
在使用gmssl生成证书之前,就先学习了一下openssl指令生成证书。gmssl是在openssl基础上实现了,部分指令和功能的使用方法相似。
参考文章一:openss生成证书为空怎么办
参考文章二:openssl生成证书报错
参考文章三:openssl指令生成证书过程

题外话

2022年,是注册CSDN的第六个年头了,作为面向百度编程的CSDN选手,一直都在获得别人的帮助。这篇是我写的第一篇文章,希望以后好好写文章,巩固知识,提高自己。如果能再帮助到一点别人的话就太高兴了。

国密gmssl命令行生成SM2证书相关推荐

  1. Windows gmssl生成SM2证书 + java bc库签名验签

    Windows gmssl生成SM2证书 + java bc库签名验签 openssl生成SM2证书 1 生成密钥 gmssl ecparam -genkey -name sm2p256v1 -tex ...

  2. YOS里面推入AD的命令行生成代码

    把YOS里面生成AD帐户的命令行生成代码共享一下,互通有无: ASP程序: Set rs = Server.CreateObject("ADODB.Recordset") rs.o ...

  3. 命令行生成、运行及调用jar包

    文章目录 一.制作只含有字节码文件的jar包 二.制作含有jar文件的jar包 三.制作含有资源文件的jar包 四.java命令行执行带依赖jar包的main函数 本文参考文章如下: 命令行生成并直接 ...

  4. 【国密】利用gmssl生成SM2证书nginx访问

    之前我们项目的证书都是rsa的,这次本意是希望能升级到国密,但是理想过于丰满 一.GMSSL安装 # 下载 wget https://github.com/guanzhi/GmSSL/archive/ ...

  5. php生成国密验证,PHP+gmssl命令行实现国密加解密

    1. 国密介绍 国密算法是我国自主研发创新的一套数据加密处理系列算法.从SM1-SM4分别实现了对称.非对称.摘要等算法功能.特别适合应用于嵌入式物联网等相关领域,完成身份认证和数据加解密等功能.当然 ...

  6. gmssl 生成SM2证书、加密、解密、签名、验签

    1. 生成SM2密钥对 gmssl ecparam -genkey -name sm2p256v1   -out sm2keypair.pem -text 2.查看SM2密钥对 gmssl ec -i ...

  7. java生成sm2证书_(转载)Java使用IText实现PDF签章

    前文讲到了如何使用Adobe的PDF工具软件进行电子印章应用.在实际应用中还有一种情形就是需要将电子印章功能集成在我们开发的系统里,这里就要用到一些PDF的二次开发库了.做过相关开发的同学应该知道常用 ...

  8. 国密(国产密码)SM2、SM3、SM4 C#实现

    参考:http://www.voidcn.com/article/p-zlnqwzbd-cm.html 这两天与联通对接流量卡实名相关接口.他们用到了国密SM3,一个比较冷门的加密(或者说是签名)方式 ...

  9. 前端国密加解密使用方法SM2、SM3、SM4

    国密算法,即国家商用密码算法.是由国家密码管理局认定和公布的密码算法标准及其应用规范,其中部分密码算法已经成为国际标准.如SM系列密码,SM代表商密,即商业密码,是指用于商业的.不涉及国家秘密的密码技 ...

最新文章

  1. 石锤!谷歌排名第一的编程语言,死磕这点,程序员都收益
  2. slurm任务调度系统部署和测试(一)
  3. CSS动画:有活力的链接下划线
  4. 主从同步出现一下错误:Slave_IO_Running: Connecting
  5. 全球及中国4-氨基间甲酚行业应用需求与发展策略分析报告2022版
  6. 微波炉定时c语言程序,微波炉控制系统c语言编程.doc
  7. 数据库 / 事务的 ACID
  8. 如何查询SAP Cloud for Customer系统升级和维护时间
  9. 禁用内存清理_win10电脑开机内存占用高达80%以上如何解决
  10. 循环链表实现两个多项式相加主要代码
  11. 下滑加载更多js_专治:卫生间免砸砖,房顶漏水,JS堵漏王水不漏,厂家三包产品,免费成熟配方(点开看更多)...
  12. python删除csv某一行_用Python一步从csv中删除特定的行和列
  13. Linux内存管理:转换后备缓冲区(TLB)原理
  14. Linux 系统的IP与域名解析文件[局域网的DNS]
  15. 详解:MySQL数据库的权限管理和运维实操
  16. python解包wxapkg_微信小程序wxapkg解包器c++版(免装py环境 绿色90k)
  17. Java指令编译java文件
  18. router-view显示不出来的原因
  19. python格式化输出
  20. index.php.bak 颓废_18.phpmyadmin 4.8.1 远程文件包含漏洞(CVE-2018-12613)

热门文章

  1. 《树莓派实战秘籍》——1.15 技巧15连接GPIO脚到面包板上
  2. 大数据和java就业前景_Java大数据就业方向
  3. CVPR2022:Generalizable Cross-modality Medical Image Segmentation via StyleAugmentation and Dual Norm
  4. c# 傅里叶变换 频域_C# 傅里叶变换 逆变换 调用MathNet包
  5. 蜥蜴人传说的起源-[大卫艾克与科瑞多穆特瓦的访谈]
  6. 知识付费海哥:知识变现三剑客
  7. 光敏电阻型号怎么命名和其主要参数
  8. 我国古代的度量衡和音律的关系
  9. 计算机类ei期刊,【2017年整理】电子类通信类和计算机类EI期刊(大部分免费).docx...
  10. 100 道 Linux 常见面试题,建议收藏!