参考链接
- 国密自签名证书生成_三雷科技的博客-CSDN博客_国密证书生成
- openssl采用sm2进行自签名的方法_dong_beijing的博客-CSDN博客_openssl sm
前提说明
- OpenSSL 1.1.1q 5 Jul 2022 已经实现了国密算法
- 查看是否支持SM2算法
- openssl ecparam -list_curves | grep -i sm2
- 参考链接 openssl实现双向认证教程(服务端代码+客户端代码+证书生成)_MY CUP OF TEA的博客-CSDN博客
- 因为事先并未指定,因此生成私钥的第二步需要输入相关信息,
- 例如:/C=CN/ST=GD/L=SZ/O=COM/OU=NSP/CN=CA/emailAddress=ca_email@qq.com
层次结构
- 为了兼容代码中的名字,名字可能会和下面操作生成文件的名字之间出现出路
CA操作流程
- 生成私钥
- openssl ecparam -genkey -name SM2 -param_enc explicit -outform pem -out ec_prikey_ca.key
- openssl req -new -key ec_prikey_ca.key -out ec_ca.csr
- 生成证书
- openssl x509 -req -days 365 -in ec_ca.csr -signkey ec_prikey_ca.key -out ec_ca.crt
server操作流程
- 生成私钥
- openssl ecparam -genkey -name SM2 -param_enc explicit -outform pem -out server.key
- openssl req -new -key server.key -out server.csr
- 生成证书
- openssl x509 -req -days 365 -in server.csr -signkey /home/chy-cpabe/ssl_server_client/ca/ec_prikey_ca.key -out server.crt
client操作流程
- 生成私钥
- openssl ecparam -genkey -name SM2 -param_enc explicit -outform pem -out client.key
- openssl req -new -key client.key -out client.csr
- 生成证书
- openssl x509 -req -days 365 -in client.csr -signkey /home/chy-cpabe/ssl_server_client/ca/ec_prikey_ca.key -out client.crt
查看证书
- 查看证书的命令
- openssl x509 -text -in CaCert.crt
- 使用命令验证公钥以及参数和证书是否对应
- sudo openssl ec -in ec_prikey_ca.key -pubout -noout -text