久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 1329|回復: 0
打印 上一主題 下一主題
收起左側

(PKCS1)RSA公私鑰pem文件解析

 關閉 [復制鏈接]
跳轉到指定樓層
樓主
ID:349277 發表于 2022-1-21 13:43 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
1概述
在公鑰密碼學(也稱為 非對稱密碼術)中,加密機制依賴于兩個相關的密鑰,一個公鑰和一個私鑰。公鑰用于加密消息,而只有私鑰的所有者才能解密消息。
在本教程中,我們將了解如何從 PEM 文件中讀取公鑰和私鑰。
首先,我們將研究有關公鑰密碼學的一些重要概念。然后,我們將學習如何解析 PEM 文件。
2概念
在開始之前,讓我們先了解一些關鍵概念。
X.509 是定義公鑰證書格式的標準。 因此,這種格式描述了其他信息中的公鑰。
DER是最流行的編碼格式,用于在文件中存儲 X.509 證書、PKCS8 私鑰等數據。這是一種二進制編碼,無法使用文本編輯器查看生成的內容。
PKCS8是用于存儲私鑰信息的標準語法。可以選擇使用對稱算法對私鑰進行加密。
該標準不僅可以處理 RSA 私鑰,還可以處理其他算法。PKCS8 私鑰通常通過 PEM 編碼格式進行交換。
PEM是 DER 證書的 base-64 編碼機制。PEM 還可以對其他類型的數據進行編碼,例如公鑰/私鑰和證書請求。
PEM 文件還包含描述編碼數據類型的頁眉和頁腳,舉例如下:
-----BEGIN RSA PRIVATE KEY-----
...Base64 encoding of the DER encoded certificate...
-----END RSA PRIVATE KEY-----
3解析PEM證書
示例證書:
-----BEGIN RSA PRIVATE KEY-----
MIICXAIBAAKBgQDnsN1F66mF6h6y/XpyN+ZU/w5AyeWBjZNIqi33/ATn4qQpw+kD
HrKyF7sQ/RNw6tibM90iM6VOA14305umPbPROJJs3JoB6Lao74SUm58aO9T+Ct7r
O52E+3r5jyDQicdRl6lIhLigNADXPD/KoNwfrRrCyw4wTHMZhSHc8eUHeQIDAQAB
AoGABVTIgqddiztL4Yp7ms02e5Yy2cLLiSOc0/s2e5JM+pj4dg2P+wZlzjtFjqqE
HAELYubam8LcduMU8+vmlPiufoK9fo47fLsX1PFCY9TDKL1dFlZgBAmJU7hR27h/
gCo4r3PMub/snq7n+skrbarZbX1J6Q1o5UYKFIrrIjNObEECQQD0DIzIdMObPUUu
W+JXg10kz/ayYn3irxZmp5ngc+b9WZfSOPehZBsLWsIb1eC7y9DZMhZfBQ/sPaO8
0tvqJMUFAkEA8wlj3B3zK20pK+Hj+vFiAlaQmqILTSfv/9jMm8tbVfXt+bHrmZdN
jruGVQDb7V2pW9HeG5PgDB3vKXeOiVfC5QJAYikKFzaf1rj2ModSqtBzjnL3Txi+
eYbjA7c19UmpBw4aOrwfHhMdrZt7p6aHFgIMps+2n9Fxbhv8194YBj1z4QJAPONW
XFg4iuGvVeoi9sSwvEs5sTP1xt/BlgSXxlRdTpztgQgdMX6hlKfQkM1FTCOSAYoD
rj8O+5ooR+hHEoulLQJBAOtaMvMWIOG7mARngpwqfJ07L41/T0ITHteiiYJfCurz
kLVCx1XA3MlN+u5gn7osUHMbah0Ze3uakSZ6za3mL5Y=
-----END RSA PRIVATE KEY-----
解析:
1)刪除頁眉、頁腳和新行
2) Base64 編碼的字符串解碼為其對應的二進制格式。
解析之后的16進制數據:
3082025C02010002818100E7B0DD45EBA985EA1EB2FD7A7237E654FF0E40C9E5818D9348AA2DF7FC04E7E2A429C3E9031EB2B217BB10FD1370EAD89B33DD2233A54E035E37D39BA63DB3D138926CDC9A01E8B6A8EF84949B9F1A3BD4FE0ADEEB3B9D84FB7AF98F20D089C75197A94884B8A03400D73C3FCAA0DC1FAD1AC2CB0E304C73198521DCF1E5077902030100010281800554C882A75D8B3B4BE18A7B9ACD367B9632D9C2CB89239CD3FB367B924CFA98F8760D8FFB0665CE3B458EAA841C010B62E6DA9BC2DC76E314F3EBE694F8AE7E82BD7E8E3B7CBB17D4F14263D4C328BD5D16566004098953B851DBB87F802A38AF73CCB9BFEC9EAEE7FAC92B6DAAD96D7D49E90D68E5460A148AEB22334E6C41024100F40C8CC874C39B3D452E5BE257835D24CFF6B2627DE2AF1666A799E073E6FD5997D238F7A1641B0B5AC21BD5E0BBCBD0D932165F050FEC3DA3BCD2DBEA24C505024100F30963DC1DF32B6D292BE1E3FAF1620256909AA20B4D27EFFFD8CC9BCB5B55F5EDF9B1EB99974D8EBB865500DBED5DA95BD1DE1B93E00C1DEF29778E8957C2E5024062290A17369FD6B8F6328752AAD0738E72F74F18BE7986E303B735F549A9070E1A3ABC1F1E131DAD9B7BA7A68716020CA6CFB69FD1716E1BFCD7DE18063D73E102403CE3565C58388AE1AF55EA22F6C4B0BC4B39B133F5C6DFC1960497C6545D4E9CED81081D317EA194A7D090CD454C2392018A03AE3F0EFB9A2847E847128BA52D024100EB5A32F31620E1BB980467829C2A7C9D3B2F8D7F4F42131ED7A289825F0AEAF390B542C755C0DCC94DFAEE609FBA2C50731B6A1D197B7B9A91267ACDADE62F96
解析數據:
3082025C# 標簽頭,類型為SEQUENCE (sequence序列),此標簽頭共4字節。注(不確定):3082應該指私鑰
#以下共604字節(0x025c)
020100 # 整型長度為0(0x00),內容:version
028181 # 整型長度為129字節(0x81),內容:模數 n(modulus)
00e7b0dd45eba985ea1eb2fd7a7237e654ff0e40c9e5818d9348aa2df7fc04e7e2a429c3e9031eb2b217bb10fd1370ead89b33dd2233a54e035e37d39ba63db3d138926cdc9a01e8b6a8ef84949b9f1a3bd4fe0adeeb3b9d84fb7af98f20d089c75197a94884b8a03400d73c3fcaa0dc1fad1ac2cb0e304c73198521dcf1e50779
0203 # 整型長度為3字節(0x03),內容:e(公鑰指數)
010001
028180 # 整型長度為128字節(0x80),內容:d(私鑰指數)
0554c882a75d8b3b4be18a7b9acd367b9632d9c2cb89239cd3fb367b924cfa98f8760d8ffb0665ce3b458eaa841c010b62e6da9bc2dc76e314f3ebe694f8ae7e82bd7e8e3b7cbb17d4f14263d4c328bd5d16566004098953b851dbb87f802a38af73ccb9bfec9eaee7fac92b6daad96d7d49e90d68e5460a148aeb22334e6c41
0241 # 整型長度為65字節(0x41),內容:p (素數)
00f40c8cc874c39b3d452e5be257835d24cff6b2627de2af1666a799e073e6fd5997d238f7a1641b0b5ac21bd5e0bbcbd0d932165f050fec3da3bcd2dbea24c505
0241 # 整型長度為65字節(0x41),內容:q(素數)
00f30963dc1df32b6d292be1e3faf1620256909aa20b4d27efffd8cc9bcb5b55f5edf9b1eb99974d8ebb865500dbed5da95bd1de1b93e00c1def29778e8957c2e5
0240 # 整型長度為64字節(0x40),內容:d mod(p-1)
62290a17369fd6b8f6328752aad0738e72f74f18be7986e303b735f549a9070e1a3abc1f1e131dad9b7ba7a68716020ca6cfb69fd1716e1bfcd7de18063d73e1
0240 # 整型長度為64字節(0x40),內容:d mod(q-1)
3ce3565c58388ae1af55ea22f6c4b0bc4b39b133f5c6dfc1960497c6545d4e9ced81081d317ea194a7d090cd454c2392018a03ae3f0efb9a2847e847128ba52d
0241 # 整型長度為65字節(0x41),內容:(1/q)mod p <即 (q**-1)mod p>
00eb5a32f31620e1bb980467829c2a7c9d3b2f8d7f4f42131ed7a289825f0aeaf390b542c755c0dcc94dfaee609fba2c50731b6a1d197b7b9a91267acdade62f96
通過上面解析可以獲取到證書中的RSA密鑰。

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 在线观看日韩精品视频 | 影音先锋成人资源 | 日本在线看 | 999久久久| 秋霞电影一区二区三区 | 精品亚洲一区二区三区 | 欧美一区二区免费 | 久草网站 | www.日韩免费 | 亚洲精品片 | 欧美一区二区三区在线 | 欧美精品乱码久久久久久按摩 | 亚洲二区在线 | 91在线观看视频 | 日韩视频在线播放 | 91av视频在线观看 | 一区二区三区欧美大片 | 成人精品一区二区 | 无码一区二区三区视频 | 亚洲啪啪| 99热这里都是精品 | 欧美午夜在线 | 一区二区三区影院 | 色天堂视频| 国产欧美一区二区三区日本久久久 | 日韩久久久久 | 成人av色| 国产亚洲精品精品国产亚洲综合 | 欧美精品一区二区蜜桃 | 欧美理论片在线观看 | 精品在线一区二区三区 | 一级做a爰片性色毛片 | 免费麻豆视频 | 视频1区2区 | 亚洲国产精品美女 | 在线观看一区 | 久久久久久久久久久久久久av | 亚洲欧美一区二区三区1000 | 国产精品视频一区二区三区, | 草久久免费视频 | 成人h视频在线观看 |