-
公钥秘钥使用sm2算法
-
根证书制作步骤:
- 生成根证书秘钥
openssl ecparam -out ca.key -name SM2 -genkey - 生成根证书请求文件
openssl req -key ca.key -new -out ca.req - 生成根证书
openssl x509 -req -in ca.req -signkey ca.key -out ca.pem
- 生成根证书秘钥
-
sm2证书制作步骤
- 生成sm2秘钥对
openssl ecparam -out site.key -name SM2 -genkey - 生成证书请求文件
openssl req -key site.key -new -out site.req - 生成证书
openssl x509 -req -in site.req -CA ca.pem -CAkey ca.key -out site.pem -CAcreateserial - 转为der格式
openssl x509 -outform der -in site.pem -out site.der
- 生成sm2秘钥对
-
验证
/work2/learn/openssl/sm2# …/openssl_demo site.derroot@ubuntu:/work2/learn/openssl/sm2# …/openssl_demo site.der
File name site.der- Certificate Version=[0]
- Certificate Serial len=[20] Serial:240DDC77DA57AD64CFFC2CD8B1F4F6070FAAF3E8
- signature=[ecdsa-with-SHA256][ecdsa-with-SHA256]
- issuer_name=[/C=cn/ST=fj/L=fz/O=rj/OU=fz/CN=zhengjnq/[email protected]]
- Certificate time
From: Wed Feb 19 17:45:24 2020
To : Fri Mar 20 17:45:24 2020 - subject num=[7][/C=cn/ST=fj/L=fz/O=fx/OU=fx/CN=zengjuq/[email protected]]
- Subject PublicKey
公钥算法:[id-ecPublicKey]
证书类型:408
加密级别:256 bit
公钥长度=[65]
04 30 D7 F8 BE CE 8E BF 07 69 59 68 2B 07 87 96 FC D0 78 8C 41 EE B9 71 C0 60 0C 4E EC 84 2B B9
EF F4 B0 4B 99 AF CF 42 17 92 64 31 FE CC 0E 0D 03 02 D1 3D 0B 0B 04 6A 4D C1 31 84 BD 9F F1 BB
79
扩展学习1:如何精细的获取 证书接受者的数据?
subject_name_num=[7]
[00][countryName]=[cn]
[01][stateOrProvinceName]=[fj]
[02][localityName]=[fz]
[03][organizationName]=[fx]
[04][organizationalUnitName]=[fx]
[05][commonName]=[zengjuq]
[06][emailAddress]=[[email protected]]
扩展学习2:如何精细的获取 证书签发着的数据?
subject_name_num=[7]
[00][countryName]=[cn]
[01][stateOrProvinceName]=[fj]
[02][localityName]=[fz]
[03][organizationName]=[rj]
[04][organizationalUnitName]=[fz]
[05][commonName]=[zhengjnq]
[06][emailAddress]=[[email protected]]
X509 扩展处理
X509 证书扩展项个数 [0]
-
获取代码地址!!
https://gitee.com/zhengjunqiang/learn.git -
openssl版本
root@ubuntu:/work2/learn# openssl version
OpenSSL 1.1.1 11 Sep 2018 -
系统
root@ubuntu:/work2/learn# cat /etc/issue
Ubuntu 18.04.4 LTS \n \l