生成流程
- 下載openssl源碼:
curl -o openssl-1.1.1d.tar.gz https://www.openssl.org/source/openssl-1.1.1d.tar.gz
- 解壓源碼包:
tar -xvf openssl-1.1.1d.tar.gz
- 進入解壓出的openssl目錄:
cd openssl-1.1.1d
- 配置生成makefile:
./config --prefix=/usr/local/openssl
- 編譯、安裝:
make install
- 生成SM2密鑰對:
- 進入生成密鑰文件的目錄,執(zhí)行以下命令生成私鑰
/usr/local/openssl/bin/openssl ecparam -genkey -name SM2 -out SM2PrivateKey.pem
- 執(zhí)行以下命令生成公鑰
/usr/local/openssl/bin/openssl ec -in SM2PrivateKey.pem -pubout -out SM2PublicKey.pem
- 結(jié)果示例:
國密SM2私鑰SM2PrivateKey.pem
-----BEGIN EC PARAMETERS-----
BggqgRzPVQGCLQ==
-----END EC PARAMETERS-----
-----BEGIN EC PRIVATE KEY-----
MHcCAQEEIOHSA5sO6QbqmGM1mrtplIDUth92o3yyPh7R6C7jhsS2oAoGCCqBHM9V
AYItoUQDQgAE6fyV2irf4j5DxR3BRidJ3v30TFavyz6skDPjA8TQgoMJF3iCFbqV
B4GxVcjkqucDPZ1khgq9l72krT7Lg0Yqag==
-----END EC PRIVATE KEY-----
國密SM2公鑰SM2PublicKey.pem
-----BEGIN PUBLIC KEY-----
MFkwEwYHKoZIzj0CAQYIKoEcz1UBgi0DQgAE6fyV2irf4j5DxR3BRidJ3v30TFav
yz6skDPjA8TQgoMJF3iCFbqVB4GxVcjkqucDPZ1khgq9l72krT7Lg0Yqag==
-----END PUBLIC KEY-----