在macOS上通过openssl源码生成国密SM2密钥对

2021-12-06 19:36:23 浏览数 (1)

生成流程

  1. 下载openssl源码:
代码语言:javascript复制
curl -o openssl-1.1.1d.tar.gz https://www.openssl.org/source/openssl-1.1.1d.tar.gz
  1. 解压源码包:
代码语言:javascript复制
tar -xvf openssl-1.1.1d.tar.gz
  1. 进入解压出的openssl目录:
代码语言:javascript复制
cd openssl-1.1.1d
  1. 配置生成makefile:
代码语言:javascript复制
./config --prefix=/usr/local/openssl
  1. 编译、安装:
代码语言:javascript复制
make install
  1. 生成SM2密钥对:
  • 进入生成密钥文件的目录,执行以下命令生成私钥
代码语言:javascript复制
/usr/local/openssl/bin/openssl ecparam -genkey -name SM2 -out SM2PrivateKey.pem
  • 执行以下命令生成公钥
代码语言:javascript复制
/usr/local/openssl/bin/openssl ec -in SM2PrivateKey.pem -pubout -out SM2PublicKey.pem
  1. 结果示例: 国密SM2私钥SM2PrivateKey.pem
代码语言:javascript复制
-----BEGIN EC PARAMETERS-----
BggqgRzPVQGCLQ==
-----END EC PARAMETERS-----
-----BEGIN EC PRIVATE KEY-----
MHcCAQEEIOHSA5sO6QbqmGM1mrtplIDUth92o3yyPh7R6C7jhsS2oAoGCCqBHM9V
AYItoUQDQgAE6fyV2irf4j5DxR3BRidJ3v30TFavyz6skDPjA8TQgoMJF3iCFbqV
B4GxVcjkqucDPZ1khgq9l72krT7Lg0Yqag==
-----END EC PRIVATE KEY-----

国密SM2公钥SM2PublicKey.pem

代码语言:javascript复制
-----BEGIN PUBLIC KEY-----
MFkwEwYHKoZIzj0CAQYIKoEcz1UBgi0DQgAE6fyV2irf4j5DxR3BRidJ3v30TFav
yz6skDPjA8TQgoMJF3iCFbqVB4GxVcjkqucDPZ1khgq9l72krT7Lg0Yqag==
-----END PUBLIC KEY-----

参考:https://segmentfault.com/a/1190000021758503

0 人点赞