热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

PEM格式RSA密钥解析(一)

Base64转16进制格式后缀是.PEM的数字证书是BASE64编码的,以ASCII码来表示。常见的证书如下所示(以RSA1024为例)


Base64转16进制格式

后缀是.PEM 的数字证书是 BASE64 编码的,以 ASCII 码来表示。常见的证书如下所示(以
RSA1024 为例):
私钥:
----BEGIN RSA PRIVATE KEY-----
MIICWwIBAAKBgHU4CF6yvqb5WBhwcYfvh/o3NpwcSJlcfj0nIZeKHLYvJOIgzkV6eITLobl1bXcd7Wvv
SzAfRXHoszOqYU7Uh93YKrqdO9Mrmx3eG0yeY2GtXUW0uNMFlAUscwzE5sJoJT6QwRa0/7/AqlQB
ZhIsBDSs/w71Xqtao8Lg6/wxOsehAgMBAAECgYBlHNR7e4xh1CxdyIDmVYTiHcaJmww03kg20A51/
bkOnlQei1XjMOXNByqWI+ktGy+2L1CYTiFFRQlvw8T0jvgy+3rbelvsHzBB1PKuynKeaS7w2QbWNML
o+/mcE3HQi60CjgrHiZ7kS+LGvzOtsIBm7oj6rY/Yk9EBqSHFGcTYkQJBAOLjj6AF1+CG9kdfkauxZEw5h
jbuGb+yhOFrnBgEIQczxF86Ub2wMzV7faO6rRfOHXjdqcaWExWNuWKzVB4CgeMCQQCEQjpFgU4T
nPG2oQzRCKQ5nAyxG/eDY8Q5aS5bRliSv6w+6AhPjKM6PME8h1g8Ti8w3tJ4CrMrjopYAQ5BlPerAk
Bi3iKh6qntbyI2a9DAbmZ0SMTRfuO9gv8gc5HrbTEvQEGb9X/VFsjZz1wqUphGvUxedMkcfh0G0WEt
P1OyWAldAkBPg6WW7fNr1Tp46wBSmBhrzkbPIBpBsvRg87x8AaH0sCm1NDjy4oGr3KTsaA6DSxoS
DpSIuR4Y/Lxtxky03wO7AkEAs/6wWPecgKbSSx++Plw2gZ61Nm4FO1CU7gDth0MVWdyn7K/1mHC
VrqRR4UP4Q94QSsDmVKsixIYXcLYEB26c9Q==
-----END RSA PRIVATE KEY-----
公钥:
-----BEGIN PUBLIC KEY-----
MIGeMA0GCSqGSIb3DQEBAQUAA4GMADCBiAKBgHU4CF6yvqb5WBhwcYfvh/o3NpwcSJlcfj0nIZe
KHLYvJOIgzkV6eITLobl1bXcd7WvvSzAfRXHoszOqYU7Uh93YKrqdO9Mrmx3eG0yeY2GtXUW0uNMF
lAUscwzE5sJoJT6QwRa0/7/AqlQBZhIsBDSs/w71Xqtao8Lg6/wxOsehAgMBAAE=
-----END PUBLIC KEY-----
需要将公私钥进行解析后,以 16 进制数据按要求写入 LKT 芯片。在此需要借助一些转
换工具,解析步骤如下:

BASE64编码转换16进制
如要找出相应的RSA的密钥值需要先将BASE64编码转换成16进制格式数据。
打开 rsa_V3.4 软件(公司内部软件,用户可使用),如图一所示。在“RSA”页面下选择“Tool”,进入图二界面。在上面的文本输入框中拷贝私钥的 Base64 编码,然后点击“Base64—>HEX”按钮,下面的文本框中会显示转换后的 HEX 数据。下图中为私钥的转换,公钥转换类似。

在这里插入图片描述

转换后的私钥:
3082025B0201000281807538085EB2BEA6F95818707187EF87FA37369C1C48995C7E3D2721978
A1CB62F24E220CE457A7884CBA1B9756D771DED6BEF4B301F4571E8B333AA614ED487DDD82A
BA9D3BD32B9B1DDE1B4C9E6361AD5D45B4B8D30594052C730CC4E6C268253E90C116B4FFBFC
0AA540166122C0434ACFF0EF55EAB5AA3C2E0EBFC313AC7A10203010001028180651CD47B7B8C61D42C5DC880E65584E21DC6899B0C34DE4836D00E75FDB90E9E541E8B55E330E5CD072A962
3E92D1B2FB62F50984E214545096FC3C4F48EF832FB7ADB7A5BEC1F3041D4F2AECA729E692EF0
D906D634C2E8FBF99C1371D08BAD028E0AC7899EE44BE2C6BF33ADB08066EE88FAAD8FD893D
101A921C519C4D891024100E2E38FA005D7E086F6475F91ABB1644C398636EE19BFB284E16B9C
1804210733C45F3A51BDB033357B7DA3BAAD17CE1D78DDA9C69613158DB962B3541E0281E30
2410084423A45814E139CF1B6A10CD108A4399C0CB11BF78363C439692E5B465892BFAC3EE808
4F8CA33A3CC13C87583C4E2F30DED2780AB32B8E8A58010E4194F7AB024062DE22A1EAA9ED6F
22366BD0C06E667448C4D17EE3BD82FF207391EB6D312F40419BF57FD516C8D9CF5C2A529846
BD4C5E74C91C7E1D06D1612D3F53B258095D02404F83A596EDF36BD53A78EB005298186BCE46
CF201A41B2F460F3BC7C01A1F4B029B53438F2E281ABDCA4EC680E834B1A120E9488B91E18FCB
C6DC64CB4DF03BB024100B3FEB058F79C80A6D24B1FBE3E5C36819EB5366E053B5094EE00ED8
7431559DCA7ECAFF5987095AEA451E143F843DE104AC0E654AB22C4861770B604076E9CF5
转换后的公钥:
30819E 300D06092A864886F70D0101010500 03818C 00308188 0281807538085EB2BEA6F95
818707187EF87FA37369C1C48995C7E3D2721978A1CB62F24E220CE457A7884CBA1B9756D771
DED6BEF4B301F4571E8B333AA614ED487DDD82ABA9D3BD32B9B1DDE1B4C9E6361AD5D45B4B
8D30594052C730CC4E6C268253E90C116B4FFBFC0AA540166122C0434ACFF0EF55EAB5AA3C2E0
EBFC313AC7A10203010001

下一篇将详细讲解如何从转换后的16进制数据中找到对应的RSA公私钥参数。







推荐阅读
  • 深入解析 OpenSSL 生成 SM2 证书:非对称加密技术与数字证书、数字签名的关联分析
    本文深入探讨了 OpenSSL 在生成 SM2 证书过程中的技术细节,重点分析了非对称加密技术在数字证书和数字签名中的应用。非对称加密通过使用公钥和私钥对数据进行加解密,确保了信息传输的安全性。公钥可以公开分发,用于加密数据或验证签名,而私钥则需严格保密,用于解密数据或生成签名。文章详细介绍了 OpenSSL 如何利用这些原理生成 SM2 证书,并讨论了其在实际应用中的安全性和有效性。 ... [详细]
  • 深入解析JWT的实现与应用
    本文深入探讨了JSON Web Token (JWT) 的实现机制及其应用场景。JWT 是一种基于 RFC 7519 标准的开放性认证协议,用于在各方之间安全地传输信息。文章详细分析了 JWT 的结构、生成和验证过程,并讨论了其在现代 Web 应用中的实际应用案例,为开发者提供了全面的理解和实践指导。 ... [详细]
  • 加密要用到Crypto安装包pipinstallCrypto新建两个模块rsautils.py,rsatest.py直接上代码,rsautils.py#!usrbinenv ... [详细]
  • 如何在Windows上使用Gitee创建远程仓库
    本文详细记录了在Windows系统上使用Gitee创建远程仓库的步骤,帮助解决无法注册GitHub的问题。 ... [详细]
  • 深入解析HTTPS:保障Web安全的加密协议
    本文详细探讨了HTTPS协议在保障Web安全中的重要作用。首先分析了HTTP协议的不足之处,包括数据传输过程中的安全性问题和内容加密的缺失。接着介绍了HTTPS如何通过使用公钥和私钥的非对称加密技术以及混合加密机制,确保数据的完整性和机密性。最后强调了HTTPS的安全性和可靠性,为现代网络通信提供了坚实的基础。 ... [详细]
  • 软件开发史上最具影响力的十位编程大师(附图解)
    在软件开发领域,有十位编程大师对行业发展产生了深远影响。本文基于国外知名社区的一项评选,通过图文并茂的形式,详细介绍了这十位杰出人物,包括游戏开发先驱John Carmack等,为读者呈现了他们卓越的技术贡献与创新精神。 ... [详细]
  • 本文详细介绍了如何使用OpenSSL自建CA证书的步骤,包括准备工作、生成CA证书、生成服务器待签证书以及证书签名等过程。 ... [详细]
  • 本文深入解析了JDK 8中HashMap的源代码,重点探讨了put方法的工作机制及其内部参数的设定原理。HashMap允许键和值为null,但键为null的情况只能出现一次,因为null键在内部通过索引0进行存储。文章详细分析了capacity(容量)、size(大小)、loadFactor(加载因子)以及红黑树转换阈值的设定原则,帮助读者更好地理解HashMap的高效实现和性能优化策略。 ... [详细]
  • 《我的世界》Java版种子合集:探索多样世界生成
    本文介绍了《我的世界》Java版中用于生成多样化游戏世界的种子代码。这些种子是由一个或多个字符(包括正整数和负整数)组成的值,能够为玩家带来截然不同的地形和环境体验。通过使用不同的种子,玩家可以探索各种独特的地貌、生物群系和结构,从而丰富游戏的乐趣和挑战性。 ... [详细]
  • 如何在JavaScript中实现字符到ASCII码的转换 ... [详细]
  • 2012年9月12日优酷土豆校园招聘笔试题目解析与备考指南
    2012年9月12日,优酷土豆校园招聘笔试题目解析与备考指南。在选择题部分,有一道题目涉及中国人的血型分布情况,具体为A型30%、B型20%、O型40%、AB型10%。若需确保在随机选取的样本中,至少有一人为B型血的概率不低于90%,则需要选取的最少人数是多少?该问题不仅考察了概率统计的基本知识,还要求考生具备一定的逻辑推理能力。 ... [详细]
  • 在 Vbox 和 Hbox 布局中,当用户点击容器添加一个矩形时,系统会自动为该矩形分配坐标并打印其位置信息。此外,在按键事件触发时,系统仅打印当前矩形的坐标值。这两种布局在特定的交互场景下,能够动态地管理和更新子组件的位置。 ... [详细]
  • 池子比率:BSV 区块链上的去中心化金融应用——Uniswap 分析
    池子比率:BSV 区块链上的去中心化金融应用——Uniswap 分析 ... [详细]
  • 本文探讨了如何在C#中实现USB条形码扫描仪的数据读取,并自动过滤掉键盘输入,即使不知道设备的供应商ID(VID)和产品ID(PID)。通过详细的技术指导和代码示例,展示了如何高效地处理条形码数据,确保系统能够准确识别并忽略来自键盘的干扰信号。该方法适用于多种USB条形码扫描仪,无需额外配置设备信息。 ... [详细]
  • 利用ViewComponents在Asp.Net Core中构建高效分页组件
    通过运用 ViewComponents 技术,在 Asp.Net Core 中实现了高效的分页组件开发。本文详细介绍了如何通过创建 `PaginationViewComponent` 类并利用 `HelloWorld.DataContext` 上下文,实现对分页参数的定义与管理,从而提升 Web 应用程序的性能和用户体验。 ... [详细]
author-avatar
mobiledu2502924873
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有