失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > 国密gmssl命令行生成SM2证书

国密gmssl命令行生成SM2证书

时间:2020-03-24 09:19:18

相关推荐

国密gmssl命令行生成SM2证书

简介

这周,实习公司要我去了解一下gmssl生成证书的流程,以便之后去验证SKF的证书接口。首先就来体验一下用指令完整证书的生成操作。目前,有一些文章已经有相关的详细介绍,但还是存在一定问题,如:CA密钥文件与f中默认的cakey.pem不一致,导致证书生成失败;等。

本文包括使用国密gmsll命令完成sm2生成密钥 、成为CA、 生成签名请求、签名生成数字证书、验签;及其可能遇见问题的解决方法

提前安装好gmssl;查看gmssl版本指令本:

gmssl version -a

文章使用的gmssl 2.5.4.

前提准备

创建文件夹及文件

mkdir myCertcd myCertmkdir demoCAcd demoCAmkdir privatemkdir certsmkdir crlmkdir newcertstouch index.txttouch index.txt.attrtouch 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密钥对.key

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

生成证书请求CSR

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

证书生成

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

验签

gmssl verify -verbose -x509_strict -CAfile demoCA/cacert.crt .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指令生成证书过程

题外话

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

如果觉得《国密gmssl命令行生成SM2证书》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。