如果使用了https,还需要使用rsa对数据加密或者签名吗?两者有区别吗?

如果使用了https,还需要使用rsa对数据加密或者签名吗?两者有区别吗?

阅读 7.5k
2 个回答

有区别。 https 防止中间人攻击, rsa验证身份。 缺一不可
比如支付宝的订单接口 https,谁都可以调用, 但是用你的rsa私钥签名是告诉支付宝:“这是我小强调用的”,
当支付宝调用你的接口,通知你支付宝状态的时候, 也会用它的私钥签名 告诉你“这的确是来着支付宝的请求”,这样才能说明这个订单 是真真实实成功的。
如果 不是https,而是http的接口呢? http是明文的, 我可以中间劫持请求, 冒充“我是支付宝”,具体可以看下中间人攻击

如果你是手写socket到http这层,那么需要你做这个加解密的操作。

但是如果是调用语言的组件,那多数情况下不需要特别配置什么。

比如 java 有个 HttpsURLConnection默认配置就可以直连https了,底层模块帮你做了这些工作。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题