openssl“私钥加密公钥解密”与“私钥签名公钥验签”分别适用于什么场景?

这2个目的都差不多呀,都可以保证接受到的数据不是被篡改的。

还有2个都用的情况“公钥解密后的数据再公钥验签”存在吗?

阅读 5.5k
4 个回答

你说反了吧, 是公钥加密, 私钥是用来解密的. 公钥就是开放出去的, 如果能解密那还得了.

  • 公钥加密, 是用别人给你的公钥加密. (这样别人的私钥才能解密)

  • 私钥签名, 是用你自己的私钥签名.(这样别人才知道这是你发送的密文, 而不是第三方伪造的)

之前恰好碰到过。

对方是一家保险公司,可想而知对数据的真实性和完整性校验有多严格。

流程是,

1.先对业务数据做排序后用对方公钥加密

2.再用己方私钥对整体数据加签

对方接到数据后用用我方公钥验签,验签成功再用对方私钥解密。

验签成功表示确实是配对的私钥生成的,私钥解密成功表示数据未被修改过。

参考:
http://www.ruanyifeng.com/blo...

登陆认证、web api接口调用、支付接口,这些场景基本都用吧,现在很多API没有用这样的认证,但看过京东的登录页面,它目前的确是用的rsa验证,并且它的 rsa 公钥每天都不一样

推荐问题
宣传栏