news 2026/10/20 1:44:23

生成RSA公私钥

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
生成RSA公私钥

生成步骤

  1. 生成RSA私钥,以X509编码,指定生成的密钥的位数为2048位,该步生成的私钥是PKCS1格式,第二步将私钥转为PKCS#8编码。
openssl genrsa -out rsa_private_key_2048.pem 2048
  1. 将上一步生成的RSA私钥转换成PKCS#8编码,作为最终使用的私钥。
openssl pkcs8 -topk8 -in rsa_private_key_2048.pem -out pkcs8_rsa_private_key_2048.pem -nocrypt
  1. 导出RSA公钥,以X509编码,作为最终交换的公钥。
openssl rsa -in rsa_private_key_2048.pem -out rsa_public_key_2048.pem -pubout

额外说明

  1. 公私钥一般有2种格式,pem和der格式,上面生成的是pem格式

    • der格式为二进制格式,通常不能直接查看,pem是将二进制转为base64格式,并添加头尾
    • PKCS#8编码私钥头尾

      -----BEGIN PRIVATE KEY-----
    • PKCS#1编码私钥头尾

      -----BEGIN RSA PRIVATE KEY-----
    • PKCS#8编码公钥头尾

      -----BEGIN PUBLIC KEY-----
    • 私钥pem格式转der格式(公钥的话需要再增加-pubin选项)
      openssl pkey -inform PEM -outform DER -in rsa_private_key_2048.pem -out rsa_private_key_2048.der
    • 私钥der格式转pem格式(公钥的话需要再增加-pubin选项)
      openssl pkey -inform DER -outform PEM -in rsa_private_key_2048.der -out rsa_private_key_2048.pem
  2. RSA的密钥一般有2种编码方式,即PKCS#1和PKCS#8

    • 适用范围:
      • PKCS #1 仅适用于 RSA 密钥。
      • PKCS #8 是通用的,可以用于多种密钥类型。
    • 格式头:
      • PKCS #1 PEM 格式头为“-----BEGIN RSA PRIVATE KEY-----”。
      • PKCS #8 未加密的 PEM 格式头为“-----BEGIN PRIVATE KEY-----”,加密的为“-----BEGIN ENCRYPTED PRIVATE KEY-----”。
    • 结构:
      • PKCS #1 直接包含 RSA 私钥参数。
      • PKCS #8 包含一个通用的密钥格式,能够封装不同类型的私钥信息和算法标识符。

生成ED25519公私钥

生成步骤

  1. 生成ed25519私钥
openssl genpkey -algorithm ed25519 -out private.pem
  1. 从私钥中生成公钥
openssl pkey -in private.pem -pubout -out public.pem

额外说明

1.低版本的openssl不支持ed25519算法
2.上面生成的密钥格式也是pem格式,pem格式与der格式的转换参考上面rsa的方式
3.ed25519算法原始的密钥长度是32字节的,但是openssl生成的私钥长度是48位,公钥长度是44位的。原因是openssl在私钥前添加了16位的前缀,公钥添加了12位的前缀,因此如果想要获取原始的32位密钥可以使用如下命令:

cat private_key.der | tail -c 32 | xxd -p
  • 这里使用的是二进制的der格式密钥,最终拿到的是16进制的原始私钥


    如果仍然有疑问,欢迎留言!

本文来自博客园,作者:无所事事O_o,转载请注明原文链接:OPENSSL生成非对称加密公私钥 - 无所事事O_o - 博客园

推荐一下我的微信小程序 - “二次验证码TOTP”

  • 有任何建议或需求可以直接联系我
  • 免费云端加密备份 :换机不丢失,安全又便捷
  • API快速集成 :提供开放API,实现自动化验证码获取
  • 多端共享:基于微信小程度,可同时在手机,PC端共同使用,一键复制
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/10/19 14:12:00

今天下午北京GEO线下沙龙已经开始了的

今天下午北京GEO线下沙龙已经开始了的,大概有70多人,大多是草根创业者。其次,美团的GEO是怎么做的?我的产品GEO是否值得去做?用什么思路去做?如何追踪数据?在今天这场GEO沙龙都能有答案了。

作者头像 李华
网站建设 2026/10/19 17:41:34

功利化思维的具象化的庖丁解牛

它的本质是:**功利化思维不是“邪恶”,而是 “将一切交互简化为投入产出比(ROI)的二元决策算法” (Simplifying All Interactions into a Binary Decision Algorithm Based on ROI)。 核心矛盾:人类大脑为了生存&#…

作者头像 李华
网站建设 2026/10/10 1:57:25

11.3% 稳健增长!2026年温度敏感导电碳浆市场发展现状及未来前景趋势分析

一、全球温度敏感导电碳浆市场规模现状及中长期增长趋势1.1 2025年行业核心市场发展现状数据当前全球智能温控、柔性测温、电气过热防护场景持续扩容,印刷式热敏器件替代传统分立传感器进程加快,持续带动温度敏感导电碳浆刚需稳步释放,行业市…

作者头像 李华
网站建设 2026/10/8 0:05:11

外卖配送系统源码部署指南:快速搭建本地外卖平台

随着本地生活服务市场的快速发展,越来越多创业者、区域运营团队以及企业开始关注外卖平台建设。相比从零开发,采用成熟的外卖配送系统源码进行部署,能够有效缩短开发周期,降低项目投入成本,更快完成市场验证。 那么&am…

作者头像 李华
网站建设 2026/9/28 14:10:38

23-440、STM32智能PID无刷电机PWM调速正反转设计-1(设计源文件+万字报告+讲解)(支持资料、图片参考_相关定制)_可以扫码

23-440、STM32智能PID无刷电机PWM调速正反转设计-1(设计源文件万字报告讲解)(支持资料、图片参考_相关定制)_可以扫码 产品功能描述: 本系统由STM32F103C8T6单片机核心板、1.44寸TFT彩屏、(无线蓝牙/WIFI模块-可选)、直…

作者头像 李华
网站建设 2026/10/18 5:18:08

SG函数:让博弈“化整为零”

引言在算法竞赛中,博弈论题目常常让人望而生畏:两个绝顶聪明的人轮流操作,问谁赢谁输。最简单的取石子游戏(Nim 游戏)有一个漂亮的结论——异或和为 0 则先手必败,否则先手必胜。但题目稍微一变&#xff0c…

作者头像 李华