收藏
回答

回调和证书加密时, 为什么有RSA的商户公钥不用, 要用单独的一个apiv3秘钥来加密呢

微信支付接口中, 回调和平台证书加密使用的是apiv3秘钥, 为什么有RSA的商户公钥不用, 要用单独的一个apiv3秘钥来加密呢

回答关注问题邀请回答
收藏

1 个回答

  • 北望沣渭
    北望沣渭
    发表于移动端
    2021-05-29
    已知条件下,合理解释是说,非对称加密过程中的“公钥”是半公开化的,公钥是可以安全的分发的,用这个来加密可能引发一系列安全问题;遂,用对称加密策略
    2021-05-29
    有用 1
    回复 2
    • Jack_wolf
      Jack_wolf
      2021-05-29
      这个安全问题是不是就是其他人也可以用公钥来加密数据发送给商户, 那么商户就无法分辨到底是谁发的, 就无法确定数据的真实性


      但是在实际中, 微信平台有一对自己的公私钥, 就是和微信平台证书绑定的, 商户持有的是平台证书, 也就是平台的公钥, 微信持有的是私钥, 只要微信发数据时用私钥签名, 商户用平台公钥验签下其实就可以的,
      2021-05-29
      回复
    • 北望沣渭
      北望沣渭
      2021-05-29回复Jack_wolf
      V3上的应答及通知,都有验签逻辑,这里是说加/解密,公钥加密(只能是商户证书)->商户私钥解密;公钥是半公开的,这样就有机会被伪装/伪造了
      2021-05-29
      回复
登录 后发表内容