zoukankan      html  css  js  c++  java
  • 支付宝支付sign_type从RSA到RSA2遇到的问题

    1. 公钥私钥:
      1. 使用RSA签名验签工具windows_V1.4生成公钥私钥(秘钥长度2048为RSA2)
      2. 秘钥自己保存使用,登录支付宝开放平台,将公钥保存到app_id对应的应用公钥那里,保存完成,会生成对应的支付宝公钥,此公钥用来之后代码使用。
    2. 支付以及回调流程:
      1. 预下单等接口的sign_type参数,统一为RSA2,并且,生成签名方法需要更换如下:

         String sign = AlipaySignature.rsa256Sign(AlipaySignature.getSignContent(map), this.privateKey, "utf-8");
        
      2. 初始化支付宝客户端时,需要使用带有sing_type的构造参数,并且传递参数为RSA2:

         //初始化支付宝支付客户端
         this.alipayClient = new DefaultAlipayClient(
         	 ConstanHolder.get("pay.alipay.url")
         	,ConstanHolder.get("pay.alipay.app_id")
         	,privateKey
         	,"json"
         	,"UTF-8"
         	,publicKey
         	,ConstanHolder.get("pay.alipay.sign_type")
         );	
        
      3. 验签时,需要使用验证RSA2的方法(看了支付宝的实现方式,也可以采用rsaCheckV1(Map<String, String> params, String publicKey,String charset,String signType)这个方法来验签,必须传递signType为RSA2)

         Map<String,String> paramMap = req.getParamMap();
         String sign = paramMap.get("sign");
         String content = AlipaySignature.getSignCheckContentV1(paramMap);
         boolean flag = AlipaySignature.rsa256CheckContent(content,sign, publicKey, "UTF-8");
  • 相关阅读:
    wpf 命令
    wpf 事件
    wpf 依赖属性介绍
    wpf binging (六)多绑定
    ISI的晶圆级MRAM测试仪
    常见存储器分类
    存储器SDRAM简要历史
    当前MRAM市场以及专用MRAM设备测试的重要性
    IPUS SQPI PSRAM为STM32单片机提供RAM扩展方案
    单端口SRAM与双端口SRAM电路结构
  • 原文地址:https://www.cnblogs.com/cuiyf/p/9341357.html
Copyright © 2011-2022 走看看