openssl 1.1.1版本目前已支持国密算法,本篇文章介绍如何使用openssl生成国密公么钥文件。
安装gcc
本案例以CentOS为基础,由于openssl安装使用gcc进行编译,所以首先需要安装gcc。安装gcc分两种,如果主机可以联网,则可以执行以下命令,可以自动进行安装:
yum install gcc
如果主机不支持联网,则需要手动安装gcc,安装教程请自行面度
安装openssl1.1.1
去官网下载最新版本
官网:http://www.openssl.org
下载页面:http://www.openssl.org/source/
选择新版本下载 http://www.openssl.org/source/openssl-1.1.1
将下载文 件上传至主机
执行安装步骤
tar -zxv openssl-1.1.1p.tar.gz
cd openssl-1.1.1p/
./config
make && make install
./config shared
make clean
make && make install
查看安装结果
查看openssl版本
openssl version
如果提示 OpenSSL 1.1.1d 10 Sep 2019 则表示安装成功
生成国密sm2公私钥
执行私钥生成命令
openssl ecparam -genkey -name SM2 -out priv.key
执行公钥生成命令
openssl ec -in priv.key -pubout -out pub.key
生成结果如下:

将.key文件转为cer/pfx格式
openssl req -new -x509 -key priv.key -days 750 -out pub.cer
750为密钥的有效天数
openssl pkcs12 -export -name test-alias -in pub.cer -inkey priv.key -out priv.pfx
私钥生成过程中需要输入私钥的密钥
生成结果如下:





