在Linux上使用OpenSSL進行數字簽名,通常涉及以下步驟:
生成密鑰對:
openssl genpkey命令生成私鑰。openssl rsa或openssl ecparam等命令從私鑰派生公鑰。準備要簽名的數據:
data.txt。創建數字簽名:
驗證數字簽名:
以下是具體的命令示例:
# 生成RSA私鑰
openssl genpkey -algorithm RSA -out rsa_private_key.pem -aes256
# 從私鑰派生公鑰
openssl rsa -in rsa_private_key.pem -pubout -out rsa_public_key.pem
假設你要簽名的數據保存在data.txt文件中。
# 使用SHA-256哈希算法對數據進行簽名
openssl dgst -sha256 -sign rsa_private_key.pem -out signature.bin data.txt
# 使用公鑰驗證簽名
openssl dgst -sha256 -verify rsa_public_key.pem -signature signature.bin data.txt
如果簽名有效,你會看到輸出類似于:
Verified OK
如果簽名無效,你會看到輸出類似于:
Verification Failure
通過以上步驟,你可以在Linux上使用OpenSSL進行數字簽名和驗證。