在Ubuntu系统中,使用OpenSSL进行签名验证的步骤如下:
生成公钥和私钥:
openssl genrsa命令生成私钥。openssl rsa命令从私钥生成公钥。# 生成2048位的RSA私钥
openssl genrsa -out private_key.pem 2048
# 从私钥生成公钥
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
验证签名:
# 验证签名
openssl dgst -sha256 -verify public_key.pem -signature signature.bin data.txt
如果签名验证成功,输出将是“Verified OK”。如果验证失败,输出将是“Verification Failure”。
假设我们有一个文件data.txt,内容如下:
Hello, World!
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 dgst命令的-binary选项来处理二进制数据。通过以上步骤,你可以在Ubuntu系统中使用OpenSSL进行签名和验证操作。