在許多情境中,我們需要對文件進行數位簽章,來證明文件的真實性與完整性。今天我想跟大家分享如何生成 自簽憑證,並利用這個憑證來進行 數位簽章。這些步驟不僅適用於學術或專業工作,也能幫助大家在不同的數位安全環境中加強資料保護。
複習一下前篇講的原理
首先,我們需要創建 私鑰 和 公鑰,這些是數位簽章的基礎。
私鑰是用來簽署數據的關鍵。你可以使用以下命令生成 RSA 私鑰,並將其保存在 private.key
文件中:
openssl genpkey -algorithm RSA -out private.key
接著,使用我們生成的私鑰來提取公鑰,並保存在 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
。
數位簽章的生成只需要公鑰和私鑰,無需憑證。私鑰用來對原始資料進行簽名,公鑰則用來驗證簽名的有效性。然而,在驗簽時,如果使用憑證,則可以從憑證中提取公鑰,並且同時驗證憑證的有效性,如是否過期或被撤銷。這樣可以確保不僅簽名有效,公鑰的合法性也得到了保證。
今天我們學會了如何:
這些步驟不僅能幫助我們加強數位文件的安全性,也能確保文件在傳輸過程中未被篡改。希望今天的分享能幫助你更深入理解數位簽章的概念和操作!
這家是很多人公認三重第二名的滷肉飯,因為第一名今大太有名了,這家味道、醬汁是不錯,配上蒜頭辣椒真是絕配,只是這外帶的滷肉便當肉量有點少啊