OpenSSL生成 SM2公私钥

当前形势

  1. 国密局字[2011]50号“关于做好公钥密码算法升级工作的通知”, 要求新投入运行并使用公钥密码的信息系统,应使用SM2椭圆曲线密码算法,已投入运行并使用公钥密码的信息系统,应尽快进行系统升级,并使用SM2椭圆曲线密码算法。
  2. 由于现行大多国外CA场商的非国密数字证书。
  3. 国内各机构都在大力推行国密改造。

OpenSSL

  1. OpenSSL 软件 - 一个强大的、商业级的、功能齐全的工具包,用于通用加密和安全通信。
  2. 官网:https://www.openssl.org/
安装方式一(下载源码、手动编译安装、比较麻烦建议选择方式二)
  1. 下载时版本选择需要高于1.1.1才支持SM2国密





4. 具体手动安装过程参考:https://blog.csdn.net/zkz10086/article/details/81567509

安装方式二(推荐:比较方便,直接下载别人现在安装包)
  1. 下载地址,同理高于1.1.1版本才支持SM2国密
  2. http://slproweb.com/products/Win32OpenSSL.html
  3. https://pan.baidu.com/s/12yJiaCxQvQdu_cI7MBZVuw?pwd=dghe
  4. 根据电脑操作系统选择64位、32位下载安装,开发人员建议下载完整的
  5. 安装完成需要随处命令行使用,配置一下环境变更即可;不配置也行,直接在安装目录bin下打开命令行即可
  6. 查看命令是否生效

生成SM2公私钥

  1. 为了方便直接进入到WinOpenSSL安装目录bin下面,调出cmd命令窗:
  2. 进入openssl命令行:
openssl
  1. 打开Win64OpenSSL软件,首先生成私钥:
ecparam -genkey -name SM2 -out priv.key
  1. 通过私钥生成公钥:
ec -in priv.key -pubout -out pub.key
  1. 私钥为pkcs#1格式,若为JAVA对接需要转为pkcs#8格式:
pkcs8 -topk8 -inform PEM -in priv.key -outform pem -nocrypt -out pri_key_pkcs8.pem
  1. 最终使用文件:priv.key、pri_key_pkcs8.pem(私钥,自已保存好)、pub.key(公钥,交换给通讯对方)

签名验签(私钥签名、公钥验签)

  1. 验证我们生成出来的公私钥。私钥签名后的数据,公钥验签能够成功说明公私钥对匹配。
  2. 建立一个待签名的文件plain.txt
  3. 使用私钥对文件plain.txt进行签名(sm2_file.sign签名值,plain.txt待签名数据)
dgst -sign priv.key -sha1 -out sm2_file.sign plain.txt
  1. 使用公钥进行验证签名
dgst -verify pub.key -sha1 -signature sm2_file.sign plain.txt
  1. 验证通过

OpenSSL生成 SM2公私钥相关推荐

  1. 妙借Git自带的OpenSSL生成RSA公私钥的.pem 文件

    大家好,我是神韵,是一个技术&生活博主.出文章目的主要是两个,一是好记忆不如烂笔头,记录总结中提高自己.二是希望我的文章可以帮到大家.欢迎来点赞打卡,你们的行动将是我无限的动力. 本篇主题是: ...

  2. Java(111):非对称加密RSA的使用(openssl生成RSA公私钥对)

    Java(111):非对称加密RSA的使用(openssl生成RSA公私钥对) 1.openssl生成RSA公私钥对 [root@loaclhost ~]# openssl version OpenS ...

  3. Java基于OpenSSL生成 RSA 公私钥对数据进行加解密

    使用OpenSSL来生成私钥和公钥 验证机器上是否安装openssl 命令:openssl version -a [root@node00 test]# openssl version -a Open ...

  4. openssl gmssl SM2 公私钥生成 加密解密命令

    openssl 从 1.1.1 开始支持 sm2.gmssl 基于openssl 添加了对国密的支持. 检测 openssl 是否支持 SM2 openssl ecparam -list_curves ...

  5. OpenSSL生成RSA公私钥(java)

    生成私钥:genrsa -out rsa_private_key.pem 1024 生成公钥:rsa -in rsa_private_key.pem -out rsa_public_key.pem - ...

  6. 使用keytool和openssl生成RSA公钥私钥和证书,

    RSA公钥私钥证书,使用keytool和openssl生成 生成JKS文件命令 用kes文件 生成公钥和证书命令 重中之中!!!!!! JKS文件 你不要打开 直接复制,挪到你用的位置,或者替换你之前 ...

  7. OpenSSL生成PKCS#8私钥和公钥

    生成环境 openssl version OpenSSL 1.1.1q 生成PKCS #1私钥 openssl genrsa -out private#1.pem 默认生成的PKCS#1 -----B ...

  8. windows使用openssl生成公钥和私钥

    本文首先简单介绍一下openssl.接着描述如何在windows环境下简单使用openssl,并生成公钥和私钥.最后介绍使用了RSA非对称加密传输应用实例的微信小程序:密码盾. 一.openssl简介 ...

  9. linux 环境下 openssl 生成ecdsa公、私钥

    我的个人博客:逐步前行STEP 1.生成ecdsa私钥 openssl ecparam -name prime256v1 -genkey -noout -out prime256v1-key.pem ...

最新文章

  1. aop对请求后端的参数修改_Spring Boot AOP之对请求的参数入参与返回结果进行拦截处理...
  2. 如何防止android软件被反编译,破解盗版
  3. matlab Normally distributed random numbers in two columns
  4. Qt学习(五):TCP通信
  5. Photo Stack效果
  6. javascript乘法和加法_Web前端:JavaScript中的NaN是什么?
  7. RHEL6 cryptsetup 磁盘分区加密实验
  8. java保留有效数字
  9. 给大家推荐一款高逼格的Linux磁盘信息查看工具
  10. nokia n1 android 6,诺基亚推Nokia N1拥抱安卓,微软该怎么想?
  11. java吃货联盟系统源码_小项目,吃货联盟,java初级小项目,源代码
  12. ce修改服务器的数据库,数据库服务器的调优步骤
  13. win10磁盘100官方解释_win10磁盘分区管理工具大变脸,现代磁盘管理工具喷薄而出...
  14. Kylin 2.0 Spark Cubing 优化改进
  15. GarsiaWachs算法:石子归并问题
  16. JS能力测评经典题之数组
  17. louvain算法python_python – 如何在igraph中运行louvain社区检测算法?
  18. Oracle财务管理系统
  19. 每日学习笔记(21)
  20. Java学习之基础知识2

热门文章

  1. DHCP静态绑定和ARP静态绑定
  2. ucore_lab3_虚拟内存管理
  3. 框架的游戏:2019 年 JavaScript 流行趋势
  4. 软件无线电SDR应用(1):MATLAB信号产生
  5. RFID GEN2标准解析
  6. Python教你app如何限时试用
  7. 电脑跳出屏保怎么处理,电脑跳出游戏如何解决
  8. 专题一matlab基础知识
  9. linux exfat设置权限,Linux支持exFAT和NTFS
  10. 猜数字(1-100)