使用OpenSSL進行數據簽名的步驟如下:
生成私鑰:
openssl genpkey -algorithm RSA -out private_key.pem -aes256
這條命令會生成一個RSA私鑰,并使用AES-256加密保護。
從私鑰提取公鑰:
openssl rsa -in private_key.pem -pubout -out public_key.pem
這條命令會從私鑰中提取出公鑰。
假設你有一個要簽名的數據文件 data.txt,可以使用以下命令進行簽名:
openssl dgst -sha256 -sign private_key.pem -out signature.bin data.txt
-sha256 指定使用SHA-256哈希算法。-sign private_key.pem 指定使用私鑰進行簽名。-out signature.bin 指定輸出簽名的文件名。使用公鑰驗證簽名的有效性:
openssl dgst -sha256 -verify public_key.pem -signature signature.bin data.txt
-verify public_key.pem 指定使用公鑰進行驗證。-signature signature.bin 指定要驗證的簽名文件。data.txt 是原始數據文件。如果簽名有效,命令會輸出:
Verified OK
否則,會輸出錯誤信息。
生成密鑰對:
openssl genpkey -algorithm RSA -out private_key.pem -aes256
openssl rsa -in private_key.pem -pubout -out public_key.pem
簽名數據:
openssl dgst -sha256 -sign private_key.pem -out signature.bin data.txt
驗證簽名:
openssl dgst -sha256 -verify public_key.pem -signature signature.bin data.txt
通過這些步驟,你可以使用OpenSSL輕松地進行數據簽名和驗證。