openssl 制作SM2多级证书链
网上很多关于RSA制作多级证书链的文章,没有发现一个完整SM2多级证书链生成方法,根据RSA的文章各种摸索,进雪山,入沼泽,终于…… !!!BINGO!!!
生成一级CA密钥对
openssl ecparam -genkey -name SM2 -out keys/RootCA.key
CA自签名
openssl req -new -x509 -sm3 -key keys/RootCA.key -out keys/RootCA.cer -days 10000 -subj '/C=CN/O=BJKD/OU=GD_SM2'
生成二级CA密钥对
openssl ecparam -genkey -name SM2 -out keys/SecondCA.key
生成二级CA请求
openssl req -new -sm3 -key keys/SecondCA.key -out keys/SecondCA.csr -days 10000 -subj '/C=CN/O=BJKD/OU=BJ_SM2'
一级CA签发二级CA请求
openssl ca -extensions v3_ca -in keys/SecondCA.csr -config /etc/pki/tls/openssl.cnf -days 10000 -out keys/SecondCA.crt -cert keys/RootCA.cer -keyfile keys/RootCA.key
openssl x509 -in keys/SecondCA.crt -out keys/SecondCA.cer #将crt转换为cer格式
生成三级CA
openssl ecparam -genkey -name SM2 -out keys/ThirdCA.key
生成三级CA请求
openssl req -new -sm3 -key keys/ThirdCA.key -out keys/ThirdCA.csr -days 10000 -subj '/C=CN/O=BJKD/OU=HD_SM2'
二级CA签发三级CA证书
openssl ca -extensions v3_ca -in keys/ThirdCA.csr -config /etc/pki/tls/openssl.cnf -days 10000 -out keys/ThirdCA.crt -cert keys/SecondCA.cer -keyfile keys/SecondCA.key
openssl x509 -in keys/ThirdCA.crt -out keys/ThirdCA.cer #将crt转换为cer格式
三级根签发设备证书
openssl ca -extensions v3_ca -in keys/dev.csr -config /etc/pki/tls/openssl.cnf -days 10000 -out keys/dev.crt -cert keys/ThirdCA.cer -keyfile keys/ThirdCA.key
openssl x509 -in keys/dev.crt -out keys/dev.cer #将crt转换为cer格式
Q&A:
- 报错The mandatory stateOrProvinceName field was missing。
根本原因:证书请求信息(countryName……)需要和CA的匹配 ;可以改/etc/pki/tls/openssl.cnf 下policy有三个match,改成optional
[policy_match]下的对应字段改为optional,改为不匹配模式
ca段的policy中指定为match和supplied一定要指定
- 签发的证书默认使用的摘要算法为sha256,当需要SM3时,需将/etc/pki/tls/openssl.cnf的
[ca] 字段下的
default_md = sha256
改为
default_md = sm3
- 证书编码的转换
PEM转为DER openssl x509 -in cert.crt -outform der -out cert.der
DER转为PEM openssl x509 -in cert.crt -inform der -outform pem -out cert.pem
- windows 安装openssl,通过choco安装,
choco install openssl
,choco安装自行百度,证书链生成步骤windows和linxu一样;
附-神贴:OpenSSL主配置文件openssl.cnf参数说明
openssl 制作SM2多级证书链相关推荐
- 如何使用Openssl 制作CA证书
一.SSL协议百科名片 SSL是Secure Socket Layer(安全套接层协议),可以在Internet上提供秘密性传输.Netscape公司在推出第一个Web浏览器的同时,提出了SSL协议标 ...
- java制作SM2证书
原文地址:Fight With Me!!! 制作SM2证书 前段时间将系统的RSA算法全部升级为SM2国密算法,密码机和UKey硬件设备大都同时支持RSA和SM2算法,只是应用系统的加解密签名验证需要 ...
- 使用openssl制作https的证书
1.前言 现在的web应用对安全越来越重视了,很多应用必须采用https来传输数据.但是https必须要有证书,在开发和测试环境一般我们在没条件采用ca签发的可信证书的情况下,我们可以使用openss ...
- Java使用openssl详解(openssl安装教程、openssl制作证书、java代码实现openssl、浏览器通过https访问后端)入门
安装openssl 通过官网的下载源码编译或者直接通过exe文件直接下一步下一步安装完成,网上教程很多! openssl制作证书 先创建3个目录 certificate.service .client ...
- OpenSSL生成 SM2公私钥
OpenSSL生成 SM2公私钥 当前形势 国密局字[2011]50号"关于做好公钥密码算法升级工作的通知", 要求新投入运行并使用公钥密码的信息系统,应使用SM2椭圆曲线密码算法 ...
- openssl 1.1.1b 如何制作SM2公钥(在Ubuntu 19.04下测试通过)
liuqun@vmware:~$ openssl ecparam -list_curvessecp112r1 : SECG/WTLS curve over a 112 bit prime fields ...
- openssl 签发sm2证书_首个NSA公开披露的软件系统漏洞——CVE20200601数字证书验证漏洞分析与实验...
文/林璟锵 刘广祺 孟令佳 万会庆 王琼霄 王伟 王文杰 徐博文 中国科学院数据与通信保护研究教育中心 中国科学院信息工程研究所 信息安全国家重点实验室 1. CVE-2020-0601漏洞 2020 ...
- openssl中SM2、SM3、SM4使用实例
目录 openssl的版本如下: SM3使用实例 1. SM3的扎凑实例 SM2使用实例 1. 生成SM2密钥对
- OpenSSL 制作证书时出现的错误的解决办法
在制作证书的过程中遇到的问题及解决办法: 出现:I am unable to access the ./demoCA/newcerts directory ./demoCA/newcer ...
最新文章
- HMM+三个基本问题
- Spring Boot工程支持HTTP和HTTPS,HTTP重定向HTTPS
- C++ 控制结构和函数(一) —— 控制结构
- 01-windows下 Rserve安装
- Google大牛涉嫌性骚扰被停职,NIPS官方致歉,传闻多时的AI圈黑幕终于被撕开
- 快速排序算法--两个小人扔萝卜
- 闭合导线计算matlab代码,【求助】闭合导线简易平差Matlab代码需要大神帮忙
- H5大转盘抽奖,概率可以控制,可直接使用
- 关于使用硬改的路由器的各种经历
- jupyter 使用nginx进行代理的nginx配置文件
- Euresys eVision 加载和保存图像
- gitlab+Jenkins自动化搭建部署
- win7用友u8安装教程_win7安装用友U8教程详解
- 国外问卷调查入门教程
- 去静态化 php,PHP页面静态化 - 菜鸟要飞啊的IT小窝 - OSCHINA - 中文开源技术交流社区...
- 页面加载完成事件 - onload,四种写法
- Dreamweaver CC 2018使用(个人使用总结)
- Pycharm显示多个代码窗口
- 淘宝客返利app迎来消费者时代!高省报告
- 黑马小日子--数据库基础