在Debian系统中,利用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 data.txt
这条命令会对data.txt文件进行SHA-256哈希,并使用私钥对其进行签名,签名结果保存到signature.bin文件中。
openssl dgst -sha256 -verify public_key.pem -signature signature.bin data.txt
这条命令会使用公钥验证data.txt文件的签名是否有效。如果验证成功,会输出Verified OK;如果验证失败,会输出Verification Failure。假设我们有一个文件example.txt,我们想对其进行签名和验证:
生成私钥:
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 example.txt
验证签名:
openssl dgst -sha256 -verify public_key.pem -signature signature.bin example.txt
通过以上步骤,你可以在Debian系统中利用OpenSSL进行数据签名与验证。