一、生成公私钥及证书

1、下载gmssl.jar

2、创建CA密钥

gmssl ecparam -genkey -name sm2p256v1 -out .\ca\CARoot.key

注:若提示 openssl.cnf 不在指定的系统目录下,则可复制该文件到指定目录或手工指定目录,如:gmssl ecparam -genkey -name sm2p256v1 -out .\ca\CARoot.key -config c:\gmssl\openssl.cnf

3、创建CA证书请求

gmssl req -new -sm3 -key .\ca\CARoot.key -out .\ca\CARootCert.csr

4、生成CA自签名证书

gmssl x509 -req -days 3650 -sm3 -in .\ca\CARootCert.csr -signkey .\ca\CARoot.key -out .\ca\CARootCert.cer
5、生成服务端密钥

gmssl ecparam -genkey -name sm2p256v1 -out .\ca\serverkey.key

注:若提示 openssl.cnf 不在指定的系统目录下,则可复制该文件到指定目录或手工指定目录 -config ...

6、生成服务端证书请求文件

gmssl req -new -sm3 -key .\ca\serverkey.key -out .\ca\servercsr.csr

7、根证书签发下级证书

gmssl x509 -req -sm3 -days 3650 -CA .\ca\CARootCert.crt -CAkey .\ca\CARoot.key -CAcreateserial -in .\ca\servercsr.csr -out .\ca\servercert.cer
8、转为 pkcs12 格式

gmssl pkcs1

国密SM2签名之公私钥及证书生成相关推荐

  1. 基于mbedTLS算法库实现国密SM2签名和验签算法

    网上有大量的基于OpenSSL实现的国密算法库,比如著名的GmSSL,可以直接拿来用.我自己常用的是mbedTLS的算法库,比较小巧简单,在mbedTLS的大数算法的基础上实现了国密SM2的签名和验签 ...

  2. java 国密p7验签_go/Java 国密sm2签名验签

    近期go项目对接第三方Java服务,第三方要求使用国密sm3/sm2算法进行数据签名验签,特记录go端开发注意事项 1 关于密钥对 密钥生成可以使用openssl库,openssl版本至少是1.1.1 ...

  3. 国密SM2电子签章JAVA实现

    本文默认所需的国密SM2证书已生成完成.基于BouncyCastle JAR包+itextpdf,利用itext提供的2个签名接口:ExternalDigest 及 ExternalSignature ...

  4. 国密SM2算法的只求理解不求甚解 (4/5)SM2算法加解密协议

    国密SM2算法的只求理解不求甚解 (1/5)前置数学知识:模运算 国密SM2算法的只求理解不求甚解 (2/5)前置数学知识:平面几何 国密SM2算法的只求理解不求甚解 (3/5)SM2算法数学模型 国 ...

  5. 使用 Python 脚本执行国密 sm2 加解密

    一.场景 工作中的一个场景:Go 需要对信息加解密,但是研究了 GmSSL Go API 文档之后,发现是依赖于 CGO 的,同事配了半天环境没配成功.于是换了一个方法,选择 Go 调 Python ...

  6. Spring Security-用户密码自定义国密SM2加密

    为什么80%的码农都做不了架构师?>>>    由于甲方要求需要把密码的加密方式改为国密SM2的方式,网上看了一些写的代码,结合了一下SpringSecurity用户自定义加密,直接 ...

  7. 国密SM2算法(JS加密,C#、Java解密)

    常见的渗透测试会将网站登录时密码使用明文传输视为风险.推荐使用国密算法或者RSA算法对密码进行加密传输. RSA加密(JS加密,C#.Java解密)请参考<RSA对称加密(JS加密,C#.Jav ...

  8. php gmssl,支持国密SM2/SM3/SM4/SM9/ZUC/SSL的密码工具箱GmSSL

    GmSSL概述 GmSSL是一个开源的密码工具箱,支持SM2/SM3/SM4/SM9/ZUC等国密(国家商用密码)算法.SM2国密数字证书及基于SM2证书的SSL/TLS安全通信协议,支持国密硬件密码 ...

  9. 国密SM2前端加密,Java后台解密问题

    背景:要实现请求参数加密的功能,使用的是国密SM2算法,前端向后台发送请求获取公钥,将请求加密发送到后台,后台用对应的私钥进行解密 问题:前端进行加密的请求,后台无法进行解析 解决方案:(此处所用的类 ...

最新文章

  1. laravel使用redis做缓存的方法
  2. 直播报名 | 官方解读NVIDIA黑科技:StyleGAN的架构与实现
  3. cuda版本的word2vec
  4. SQL Server导入导出工具弱爆了
  5. 大数据时代的数据存储,非关系型数据库MongoDB(一)(转)
  6. js导出的xlsx无法打开_js文件操作之——导出Excel (js-xlsx)
  7. CVPR 2020 细粒度分类挑战赛冠军方案:数据增强+知识蒸馏,效果大幅提升
  8. 特征筛选2——皮尔逊相关系数筛选(单变量筛选)
  9. 第103篇Python:Python爬虫系列之书籍爬取,细节拉满
  10. 用Html5制作的一款数学教学程序Function Graphics(绘制函数图的程序)
  11. SpringAOP-基于@AspectJ的简单入门
  12. java 100个定时任务_Java定时任务解决方案
  13. 去掉 Warning:$HADOOP_HOME is deprecated
  14. easyui学习笔记3—在展开行内的增删改操作
  15. u盘加密truecrypt_Mac OS X上的TrueCrypt驱动器加密入门
  16. 计算机视觉方向大创题目,关于开展2020年大创项目学生选题或自拟题目申报工作的通知...
  17. web网页播放音频文件
  18. Golang编程百例-Golang数字排列组合
  19. node安装指定版本 (LTS 长期稳定版本,Current 最新版本)
  20. 无法用ip连接mysql数据库_MYSQL数据库无法使用IP访问的方法

热门文章

  1. 3D体验平台品牌应用——ENOVIA
  2. 计算机硬盘坏的原因,硬盘损坏的原因有哪些 硬盘正确使用方法介绍
  3. 一款功能综合的CSS滑动门特效
  4. 多块英伟达K80显卡linux安装,ubuntu14.04下NVIDIA Tesla K80 、GTX1080顯卡驅動以及Tensorflow、Python的安裝教程...
  5. AR智能隐形眼镜市场前景动态及发展规划建议报告2022-2028年版
  6. ZOHO企业邮箱教程(试用30/15天)
  7. NLP工具——doccano标注系统自动标注功能使用
  8. Python boto3 遍历credential获取aws EC2基本信息
  9. win8 java download failed_VC2017无法安装 系统win8.1 错误代码0x80240017
  10. .lnk文件 和一种较新的.lnk病毒及解决方法