iT邦幫忙

2025 iThome 鐵人賽

DAY 12
0
Security

江湖在走,數位憑證要懂,懂得天天吃滷肉飯系列 第 12

第12天,實作無封裝數位簽章 / 店小二魯肉飯 號稱第二的滷肉飯(新北三重) | 30天滷肉飯

  • 分享至 

  • xImage
  •  

在許多情境中,我們需要對文件進行數位簽章,來證明文件的真實性與完整性。今天我想跟大家分享如何生成 自簽憑證,並利用這個憑證來進行 數位簽章。這些步驟不僅適用於學術或專業工作,也能幫助大家在不同的數位安全環境中加強資料保護。

數位簽章原理

複習一下前篇講的原理

  1. 產生簽章:將原始資料雜湊演算法產生雜湊值,將雜湊值私鑰加密產生簽章值
  2. 驗證簽章:將簽章值公鑰解密,比對是否與雜湊值相同

前置作業:生成私鑰、公鑰、憑證

首先,我們需要創建 私鑰公鑰,這些是數位簽章的基礎。

1. 產生私鑰

私鑰是用來簽署數據的關鍵。你可以使用以下命令生成 RSA 私鑰,並將其保存在 private.key 文件中:

openssl genpkey -algorithm RSA -out private.key

2. 產生公鑰

接著,使用我們生成的私鑰來提取公鑰,並保存在 public.key 中:

openssl rsa -pubout -in private.key -out public.key

這樣,我們就擁有了用來進行數位簽章的 私鑰private.key)和 公鑰public.key)。

產生無封裝格式的數位簽章

一旦我們擁有了私鑰和憑證,我們就可以對文件進行數位簽章。

產生簽章值

假設我們有一個文件 document.txt,我們可以使用私鑰來對這個文件進行簽名,產生 簽章值document.sig):

openssl dgst -sha256 -sign private.key -out document.sig document.txt

這樣,document.sig 就是 document.txt 的數位簽章的簽章值。

驗證簽章值

當我們收到簽名檔案時,我們可以使用 公鑰 、Hash演算法、簽章值、原始資料來驗證簽章值,確保文件未被修改過。執行以下命令來驗證簽章:

openssl dgst -sha256 -verify public.key -signature document.sig document.txt

> Verified OK

如果簽章有效,命令會顯示 Verified OK

產生數位簽章不需要數位憑證?

數位簽章的生成只需要公鑰和私鑰,無需憑證。私鑰用來對原始資料進行簽名,公鑰則用來驗證簽名的有效性。然而,在驗簽時,如果使用憑證,則可以從憑證中提取公鑰,並且同時驗證憑證的有效性,如是否過期或被撤銷。這樣可以確保不僅簽名有效,公鑰的合法性也得到了保證。

小結

今天我們學會了如何:

  1. 生成私鑰與公鑰:這是所有數位簽章過程的基礎。
  2. 產生簽章值與驗證簽章值:使用私鑰對文件進行簽章,並使用公鑰進行驗證。

這些步驟不僅能幫助我們加強數位文件的安全性,也能確保文件在傳輸過程中未被篡改。希望今天的分享能幫助你更深入理解數位簽章的概念和操作!

店小二魯肉飯

  • 店名:店小二魯肉飯
  • 地址:新北市三重區大同北路27號
  • 營業時間:週四到二 11:00–21:30
  • Google Maps
  • 本系列地圖

https://ithelp.ithome.com.tw/upload/images/20250926/20163416cdkMEG8uQq.jpg

這家是很多人公認三重第二名的滷肉飯,因為第一名今大太有名了,這家味道、醬汁是不錯,配上蒜頭辣椒真是絕配,只是這外帶的滷肉便當肉量有點少啊

https://ithelp.ithome.com.tw/upload/images/20250926/20163416Imxcyu9IAx.jpg


上一篇
第11天,數位簽章介紹與應用 / 富霸王豬腳 超好吃豬腳(台北中山) | 30天滷肉飯
下一篇
第13天,實作PKCS#7封裝的數位簽章 / 雙月食品社(台北中正)| 30天滷肉飯
系列文
江湖在走,數位憑證要懂,懂得天天吃滷肉飯14
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言