在Linux中,使用OpenSSL實現數字簽名驗證的步驟如下:
安裝OpenSSL: 確保你的Linux系統上已經安裝了OpenSSL。如果沒有安裝,可以使用以下命令進行安裝:
sudo apt-get update
sudo apt-get install openssl
獲取公鑰和簽名文件:
.pem或.crt文件).sig或.pem文件)讀取公鑰: 使用OpenSSL讀取公鑰文件:
openssl rsa -in public_key.pem -pubin -outform DER | openssl base64 -A
這條命令會將公鑰轉換為DER格式并編碼為Base64字符串,方便后續使用。
驗證簽名:
使用OpenSSL的dgst命令來驗證簽名。假設你的數據文件是data.txt,簽名文件是signature.sig,公鑰文件是public_key.pem,可以使用以下命令:
openssl dgst -sha256 -verify public_key.pem -signature signature.sig data.txt
這里的-sha256指定了使用的哈希算法(可以根據實際情況選擇SHA-1、SHA-256等),-verify表示驗證簽名,-signature指定簽名文件,data.txt是待驗證的數據文件。
假設你有以下文件:
public_key.pem:公鑰文件data.txt:待驗證的數據文件signature.sig:數字簽名文件執行以下命令進行驗證:
openssl dgst -sha256 -verify public_key.pem -signature signature.sig data.txt
如果簽名驗證成功,你會看到類似以下的輸出:
Verified OK
如果簽名驗證失敗,你會看到類似以下的輸出:
Verification Failure
通過以上步驟,你可以在Linux系統中使用OpenSSL實現數字簽名的驗證。