使用Linux OpenSSL进行数字签名的步骤如下:
生成私钥:
openssl genpkey -algorithm RSA -out private_key.pem -aes256
这条命令会生成一个RSA私钥,并使用AES-256加密保护。你需要输入并确认密码。
从私钥提取公钥:
openssl rsa -in private_key.pem -pubout -out public_key.pem
这条命令会从私钥中提取出公钥,并保存为public_key.pem
。
openssl dgst -sha256 -sign private_key.pem -out signature.bin file_to_sign.txt
这条命令会对file_to_sign.txt
文件进行SHA-256哈希计算,并使用私钥private_key.pem
对其进行签名,生成签名文件signature.bin
。openssl dgst -sha256 -verify public_key.pem -signature signature.bin file_to_sign.txt
这条命令会使用公钥public_key.pem
来验证signature.bin
是否是对file_to_sign.txt
文件的正确签名。如果验证成功,命令会输出Verified OK
。通过以上步骤,你可以在Linux系统上使用OpenSSL进行数字签名和验证。