利用openssl生成SM2公私钥对

 

 

openssl 1.1.1+ 版本增加了对SM2 的支持,所以我们就能直接使用这些版本的opsnssl 生成 SM2的公私钥对。

首先我们得在Linux 或者Windows服务器中安装对应版本的openssl库,具体过程略。软件包请到官网下载:https://www.openssl.org/

安装完成后,使用下列命令查看该版本的openssl 是否支持SM2参数:

openssl ecparam -list_curves | grep SM2

如果查询结果有内容,则说明该版本支持SM2参数,也就可以生成SM2的公私钥对。

在安装了正确版本的openssl之后,下面就是利用openssl自带的命令生成SM2公私钥对了:

1.创建EC参数和原始私钥文件:
openssl ecparam -out ec_param.pem -name SM2 -param_enc explicit -genkey
注:生成完成后可以查看一下EC私钥信息:
openssl ecparam -in ec_param.pem -text
然后验证一下参数:
openssl ecparam -in ec_param.pem -check
2.将原始的私钥文件,转换为pkcs8格式:
openssl pkcs8 -topk8 -inform PEM -in ec_param.pem -outform pem -nocrypt -out pri_key_pkcs8.pem
3.利用原始的私钥,生成对应的公钥:
openssl ec -in ec_param.pem -pubout -out pub_key.pem
至此SM2的秘钥对已经生成结束,pri_key_pkcs8.pem是SM2私钥,而pub_key.pem是公钥。

 
 
posted @   牧之丨  阅读(440)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
历史上的今天:
2020-03-17 Bean复制的几种框架性能比较(Apache BeanUtils、PropertyUtils,Spring BeanUtils,Cglib BeanCopier)
2020-03-17 maven test 运行 指定类或方法 打包 mvn clean assembly:assembly
2016-03-17 gitlab
点击右上角即可分享
微信分享提示