步骤1:创建一个签名
验证现有的公钥和私钥是否匹配,通常的方法是通过使用私钥加密一段数据然后尝试用对应的公钥解密它,或者使用私钥签名一段数据然后用公钥验证签名。如果解密或验证签名成功,那么可以认为这对公钥和私钥是匹配的。下面是一个基于命令行工具OpenSSL的验证示例:
echo "This is a test." > test.txt
使用私钥对文件进行签名。
假设你的私钥文件名为private_key.pem,你可以使用以下命令来为test.txt文件创建一个数字签名:
openssl dgst -sha256 -sign private_key.pem -out test.sig test.txt
这将使用SHA-256算法对文件test.txt进行数字签名,并将签名保存到test.sig文件中。
步骤2:使用公钥验证签名
openssl dgst -sha256 -verify public_key.pem -signature test.sig test.txt
使用对应的公钥来验证签名。
假设你的公钥文件名为public_key.pem,可以使用以下命令来验证签名是否由该公钥对应的私钥生成:
openssl dgst -sha256 -verify public_key.pem -signature test.sig test.txt
如果签名验证成功,你将看到如下输出:
Verified OK
如果公钥和私钥不匹配,或者文件在签名后被修改过,验证将失败,OpenSSL会输出:
Verification Failure