使用OpenSSL进行数字签名验证的步骤如下:
获取公钥:
.pem
或.crt
格式)。获取签名和原始数据:
.sig
或.bin
格式)。安装OpenSSL:
sudo apt-get update
sudo apt-get install openssl
打开终端。
运行验证命令: 使用以下命令格式进行验证:
openssl dgst -verify public_key.pem -signature signature_file.sig original_data_file
其中:
public_key.pem
是签名者的公钥文件。signature_file.sig
是签名文件。original_data_file
是原始数据文件。查看输出:
如果你需要频繁进行验证,可以编写一个简单的脚本来自动化这个过程。以下是一个示例Bash脚本:
#!/bin/bash
# 参数检查
if [ "$#" -ne 3 ]; then
echo "Usage: $0 <public_key.pem> <signature_file.sig> <original_data_file>"
exit 1
fi
PUBLIC_KEY=$1
SIGNATURE=$2
ORIGINAL_DATA=$3
# 执行验证
openssl dgst -verify $PUBLIC_KEY -signature $SIGNATURE $ORIGINAL_DATA
# 检查退出状态
if [ $? -eq 0 ]; then
echo "Verification successful."
else
echo "Verification failed."
fi
将上述脚本保存为verify_signature.sh
,然后赋予执行权限并运行:
chmod +x verify_signature.sh
./verify_signature.sh public_key.pem signature_file.sig original_data_file
-binary
选项来避免文本模式下的换行符问题。-sha256
等选项。通过以上步骤,你应该能够成功地使用OpenSSL进行数字签名验证。