当前位置: 首页 > news >正文

Openssl之SM2加解密命令

### 1. 生成 SM2 私钥openssl genpkey -algorithm EC \-pkeyopt ec_paramgen_curve:sm2 \-out sm2_private_key.pem### 2. 从私钥导出 SM2 公钥openssl pkey -in sm2_private_key.pem \-pubout \-out sm2_public_key.pem### 3. 使用 SM2 公钥加密openssl pkeyutl -encrypt \-pubin \-inkey sm2_public_key.pem \-in plaintext.txt \-out sm2_ciphertext.bin### 4. 使用 SM2 私钥解密openssl pkeyutl -decrypt \-inkey sm2_private_key.pem \-in sm2_ciphertext.bin \-out decrypted.txt

 上面的命令在Openssl v3.0(ubuntu22)版本上验证成功

使用openssl动态库开发的程序生成的密钥和密文可能如下,使用上面的openssl命令可以解密成功

Public Key (PEM format):
-----BEGIN PUBLIC KEY-----
MFkwEwYHKoZIzj0CAQYIKoEcz1UBgi0DQgAEAAIEhX4KGgCzDshA1K7SBZ6SGSZb
djvANDlquERbZKBXGva8+NUX9a65CdxDjTKWCFdtSZWUGWwtjMgsVgiRkQ==
-----END PUBLIC KEY-----Private Key (PEM format):
-----BEGIN PRIVATE KEY-----
MIGHAgEAMBMGByqGSM49AgEGCCqBHM9VAYItBG0wawIBAQQg+5SVAPfUpskiT/MB
JoqsPBO6r7nGbheDqO0q2GPJLXahRANCAAQAAgSFfgoaALMOyEDUrtIFnpIZJlt2
O8A0OWq4RFtkoFca9rz41Rf1rrkJ3EONMpYIV21JlZQZbC2MyCxWCJGR
-----END PRIVATE KEY-----加密后的密文:
hexdump -C data.bin
00000000  30 81 80 02 21 00 a4 79  b0 28 98 6a a8 00 34 60  |0...!..y.(.j..4`|
00000010  ee c2 2e 06 9c 14 54 1c  67 ff f0 47 6a d0 01 5d  |......T.g..Gj..]|
00000020  0b 46 15 eb d0 47 02 21  00 a9 cd f8 4e 3b 2a 12  |.F...G.!....N;*.|
00000030  7e 9f 66 c7 cb 75 35 79  99 7e a1 f4 14 7d 5b e7  |~.f..u5y.~...}[.|
00000040  b6 7f 78 cf 41 ec ca e6  ed 04 20 94 a2 29 79 5b  |..x.A..... ..)y[|
00000050  cc e9 4c 75 c6 27 e6 cb  1d 06 be 52 e0 39 d5 61  |..Lu.'.....R.9.a|
00000060  a6 ee 1e fe fe 78 94 00  16 15 d0 04 16 61 38 e3  |.....x.......a8.|
00000070  5c cc 88 4a b7 dd f0 e2  2f 10 4a 85 a5 c7 3c 8d  |\..J..../.J...<.|
00000080  28 c3 21                                          |(.!|
00000083

暂时没有解决自定义SM2 ID问题!

http://www.lryc.cn/news/540416.html

相关文章:

  • Java集合框架之List接口详解
  • oracle apex post接口
  • 【数据挖掘】--算法
  • halcon机器视觉深度学习对象检测,物体检测
  • 英文字体:极简现代浓缩未来派科技海报标题排版无衬线字体 PODIUM Sharp Font
  • Java中JDK、JRE,JVM之间的关系
  • elasticsearch在windows上的配置
  • vscode 配置 Copilot 提示GHE.com连接失败
  • Pycharm+CodeGPT+Ollama+Deepseek
  • Unreal5从入门到精通之在编辑器中更新 UserWidgets
  • C语言修炼手册
  • Linux部署ollama
  • 跨语言语义理解与生成:多语言预训练方法及一致性优化策略
  • 最新华为 HCIP-Datacom(H12-821)2025.2.20
  • TS语言自定义脚手架
  • 深度学习-122-大语言模型LLM之基于langchian自定义国内联网查询工具并创建智能代理
  • Docker Desktop 入门教学
  • PyCharm 中的 %reset -f 功能:一键重置控制台变量
  • ollama-chat-ui-vue,一个可以用vue对接ollama的开源项目,可接入deepSeek
  • 在Logback中拦截和修改日志
  • Compose 定制UI视图
  • 《STL 六大组件之容器探秘:深入剖析 string》
  • DeepSeek 助力 Vue 开发:打造丝滑的点击动画(Click Animations)
  • SeaTunnel社区「Demo方舟计划」首期活动上线—— MySQL CDC实时同步至PostgreSQL实战
  • Python中常见库 PyTorch和Pydantic 讲解
  • 基于springboot校园健康系统的设计与实现(源码+文档)
  • 一文2000字从0到1用Jmeter全流程性能测试实战
  • 【SFRA】笔记
  • 马拉车算法
  • Debezium同步之如何同步GIS数据