利用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是公钥。
利用openssl生成SM2公私钥对的更多相关文章
- Openssl生成RSA公私钥以及将公钥转换成C#支持的格式
Openssl生成RSA公私钥以及将公钥转换成C#支持的格式 1.RSA算法介绍 RSA算法是一种非对称密码算法,所谓非对称,就是指该算法需要一对密钥,使用其中一个加密,则需要用另一个才能解密.RSA ...
- openssl生成rsa公私钥
1.生成私钥pem, 执行命令openssl genrsa -out rsa_private_key.pem 1024 2.生成公钥,执行命令openssl rsa -in rsa_private_ ...
- openssl生成rsa公私钥对并在java中使用
rsa著名的非对称加密算法,具体实现我也不是很清楚,大概先要了解一下密码学,有一定基础才能去看的东东,这里就先介绍怎么使用rsa为我们服务. 首先openssl这是个集成了众多加密算法的工具,它将这一 ...
- OpenSSL生成RSA公私钥(java)
生成私钥:genrsa -out rsa_private_key.pem 1024 生成公钥:rsa -in rsa_private_key.pem -out rsa_public_key.pem - ...
- java生成RSA公私钥字符串,简单易懂
java生成RSA公私钥字符串,简单易懂 解决方法: 1.下载bcprov-jdk16-140.jar包,参考:http://www.yayihouse.com/yayishuwu/chapter ...
- 如何利用OpenSSL生成证书
此文已由作者赵斌授权网易云社区发布. 欢迎访问网易云社区,了解更多网易技术产品运营经验. 一.前言 最近为了测试内容分发网络(Content Delivery Network,简称 CDN)添加的新功 ...
- PHP中使用OpenSSL生成RSA公钥私钥及进行加密解密示例(非对称加密)
php服务端与客户端交互.提供开放api时,通常需要对敏感的部分api数据传输进行数据加密,这时候rsa非对称加密就能派上用处了,下面通过一个例子来说明如何用php来实现数据的加密解密 先了解一下关于 ...
- NetCore 生成RSA公私钥对,公钥加密私钥解密,私钥加密公钥解密
using Newtonsoft.Json; using Org.BouncyCastle.Crypto; using Org.BouncyCastle.Crypto.Encodings; using ...
- 利用openSSL 生成RSA公钥和密钥
安装openssl for Windows. 之后开管理员控制台,打开openSSL 我的是 C:\OpenSSL-Win32\bin\openssl.exe 生成1024位的私钥,不指定的话默认20 ...
- MAC下用OPENSSL生成公钥和私钥
MAC OS自带了OpenSSL,所以不用去编译那一坨跟SHIT一样的源码.直接在命令行里使用OPENSSL就可以. 打开命令行工具,然后输入 openssl打开openssl,接着只要三句命令就可以 ...
随机推荐
- Lazy TLB Mode 的工作原理
Lazy TLB (Translation Lookaside Buffer) mode 是操作系统和处理器在管理虚拟内存时的一种优化技术,旨在提高处理器的性能.要理解 Lazy TLB mode,需 ...
- vue前端开发仿钉图系列(2)左侧图层列表的开发详解
项目开发前还是特别说明一下组件库的重要性,谢谢饿了么团队分享的element组件库,大大节省了页面的开发成本.左侧图层列表核心功能有1.根据图层类型展示点线面2.开关控制右侧地图上点线面的展示和隐藏3 ...
- 什么是变量污染? let、const、var的区别?
变量污染就是全局变量滥用,造成报错,覆盖等问题:简单讲就是使用了相同的标识符声明了全局变量,var关键字声明相同的变量名会覆盖,let.const重复声明相同的变量名会直接报错: var 可以声明提升 ...
- apisix~为自定义插件设计一个configmap脚本
configMap Kubernetes 中的 ConfigMap 是一种用来存储配置数据的 API 资源,它允许您将配置信息以键值对的形式保存,并在容器中使用这些配置信息.ConfigMap 提供了 ...
- Docker高阶篇(一)
本篇章主要为工作实践过程中对高端应用的处理和把控 1.Docker复杂安装 mysql的主从复制 https://www.bilibili.com/video/BV1gr4y1U7CY?p=41&am ...
- keycloak~token配置相关说明
会话有效期 在 Keycloak 中,"SSO Session Idle" 和 "SSO Session Max" 是用于配置单点登录(SSO)会话的两个参数. ...
- 【2024有效】WordPress忘记密码找回登录密码的最简单有效的方法
这个找回Wordpress后台密码密的方法,前提是,可以操作数据. 最近忘记了极客侠网站登陆密码,还是按照以前的方法,进入数据库直接修改数据库, 但是现在wordpress密码的加密不是简单的MD5所 ...
- 配置和使用nvm免安装版本(nvm-noinstall.zip)
配置和使用nvm免安装版本(nvm-noinstall.zip) NVM(Node Version Manager)是一个用于管理多个Node.js版本的命令行工具一下分几个步骤说明如何配置和使用nv ...
- PhpStorm 中切换PHP8以上报错 VCRUNTIME140.dll 与PHP 版本不兼容
错误原因:PhpStorm 附带了旧版本或错误版本的vcruntime140.dll 解决方法: 打开PhpStorm VCRUNTIME140 存在目录 C:\Program Files\JetB ...
- linux基本指令总结
拖了好久的linux学习,终于开始啦 环境终于没问题了 边学边总结 一.常用指令 1.1 关机与开机 poweroff 马上关机 reboot 马上重启 1.2 目录文件操作命令 cd / 切换到根目 ...