openssl dgst 生成和验证签名

从上一篇文章,我们可以理解加密和签名的概念与关系。
生成签名:
openssl genrsa -out rsa_private.key 2048
openssl rsa -in rsa_private.key -pubout -out rsa_public.key
签名就是要保证接收者知道这个文件是我发出的。接收者通过我发的文件,签名时输出的签名,和我事先给他的公钥,就能够验证这个文件是不是我给出的。
再介绍一下数字签名的过程。
数字签名的过程是计算出数字摘要,然后使用私钥对数字摘要进行签名。其中摘要是使用md5,sha512等算法计算得出的。
首先介绍一个例子, openssl dgst 对文件的签名和验证。
生成签名文件:
openssl dgst -md5 -out md5_nohex.sign -sign genrsa.pri a.txt
解释:使用 md5摘要,通过gensa,pri私钥 对a.txt文件进行签名,生成签名文件md5_nohex,sign
openssl dgst -md5 -verify rsa.pub -signature md5_nohex.sign a.txt
解释:**首先说一些是怎么验证签名的,其实就是使用公钥再对原文件的摘要进行签名,与之前的签名文件进行对比,如果一样,验证成功。**输出结果Verified OK。使用md5摘要,公钥,之前的签名文件对源文件进行签名验证。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值