使用Linux OpenSSL進行數字簽名驗證的步驟如下:
安裝OpenSSL: 確保你的系統上已經安裝了OpenSSL。如果沒有,可以使用以下命令安裝:
sudo apt-get update
sudo apt-get install openssl
獲取公鑰和簽名文件:
.pem或.crt文件)。.sig或.pem文件)。提取公鑰: 如果你只有公鑰文件,可以直接使用。如果公鑰嵌入在證書中,需要先提取出來。
openssl x509 -in public_key.pem -pubkey -noout > extracted_public_key.pem
驗證簽名:
使用OpenSSL的dgst命令來驗證簽名。假設你的數據文件是data.txt,簽名文件是signature.sig,公鑰文件是extracted_public_key.pem。
openssl dgst -sha256 -verify extracted_public_key.pem -signature signature.sig data.txt
解釋:
-sha256:指定使用的哈希算法(這里使用SHA-256)。-verify:指定要驗證的公鑰文件。-signature:指定簽名文件。data.txt:待驗證的數據文件。查看驗證結果: 如果簽名有效,OpenSSL會輸出類似以下的信息:
Verified OK
如果簽名無效,OpenSSL會輸出錯誤信息,例如:
Verification Failure
假設你有以下文件:
public_key.pem:包含公鑰的證書文件。data.txt:待驗證的數據文件。signature.sig:數字簽名文件。首先提取公鑰:
openssl x509 -in public_key.pem -pubkey -noout > extracted_public_key.pem
然后驗證簽名:
openssl dgst -sha256 -verify extracted_public_key.pem -signature signature.sig data.txt
根據輸出結果判斷簽名是否有效。
通過以上步驟,你可以使用Linux OpenSSL輕松地進行數字簽名驗證。