华为应用支付密钥升级在HarmonyOS鸿蒙Next中该如何处理

华为应用支付密钥升级在HarmonyOS鸿蒙Next中该如何处理

背景

我们收到华为通知要求升级支付密钥,通知内容如下:

为共建良好的网络生态环境,给用户提供更加安全可靠的使用体验,应用内支付密钥长度小于3072的商户,请于2024年06月30日之前完成应用内支付密钥的升级。

应用内支付密钥升级步骤:

步骤1

用华为开发者帐号登录“华为开发者联盟”,点击右上角“管理中心”,进入管理中心。

步骤2

点击页面左侧“应用服务”,进入“开发服务”下的“支付”页面。

步骤3

打开“获取支付信息”页面,可以看到应用内支付密钥,有如下两种情况,请根据您的密钥实际情况进行操作:

1、如果您的界面显示有两对公私钥,说明您已经升级过应用内支付密钥,无需再次升级。

2、如果您的界面显示只有一对密钥时,则需要判断当前已有的0号密钥长度是否大于等于3072,判断方法可以参考如下java代码。如果您的0号密钥长度大于等于3072说明您的密钥长度满足安全要求,无需升级;如果您的0号密钥长度小于3072,请参考步骤4~6升级应用内支付密钥。

import java.security.KeyFactory;
import java.security.NoSuchAlgorithmException;
import java.security.interfaces.RSAPublicKey;
import java.security.spec.InvalidKeySpecException;
import java.security.spec.X509EncodedKeySpec;

public class Main {
    public static void main(String[] args) {
        String plainKey = "Your public key!";
        try {
            X509EncodedKeySpec bobPubKeySpec = new X509EncodedKeySpec(java.util.Base64.getDecoder().decode(plainKey));
            KeyFactory keyFactory = KeyFactory.getInstance("RSA");
            RSAPublicKey pubKey = (RSAPublicKey) keyFactory.generatePublic(bobPubKeySpec);
            int keyLength = pubKey.getModulus().toString(2).length();
            System.out.println("Your key length is: " + keyLength);
        } catch (NoSuchAlgorithmException | InvalidKeySpecException e) {
            e.printStackTrace();
        }
    }
}

步骤4

点击界面的“生成”按钮生成新的1号密钥。新生成的1号密钥不影响0号密钥的使用。

步骤5

签名场景(pay、productPay等),搜索您系统中所有使用0号密钥生成签名的地方,将其替换为使用新的1号密钥,并在签名结果前加上“1-”密钥索引前缀(如:1-xxx)来标识您已启用1号密钥。

步骤6

验签场景(支付成功回调等),搜索您系统中所有使用0号密钥验证签名的地方,改为使用新的1号密钥进行验签,1号密钥的签名放在请求头的HW-IAP-SIGN字段中,格式为1-xxx,“1-”为密钥索引前缀表示华为已使用1号密钥签名,验签时请去掉前缀“1-”后再验签。(说明:为保证前后兼容,原请求体中sign字段的签名仍然使用的是0号密钥。)

注意:请务必验证通过后再上线密钥升级的版本!

如有疑问可通过在线提单方式咨询,感谢您的支持!

处理思路

1、查询支付信息

如果工程里用的支付公钥是这里拿的,可以忽略这个通知。

2、如果使用的是邮件通知里面那个后台里的支付公私钥,就要按照通知检查并升级密钥,并在验证通过后再上线密钥升级的版本。

3、或者也可以直接升级SDK,新版本包选择强制更新。

最新IAP SDK接入指导: 版本变更历史

强更指导: 强制更新指导

4、如果不升级支付密钥,也不升级应用内支付服务SDK,24年7月开始功能则无法使用。


更多关于华为应用支付密钥升级在HarmonyOS鸿蒙Next中该如何处理的实战教程也可以访问 https://www.itying.com/category-93-b0.html

1 回复

更多关于华为应用支付密钥升级在HarmonyOS鸿蒙Next中该如何处理的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


在HarmonyOS鸿蒙Next中,华为应用支付密钥升级需通过以下步骤处理:

  1. 首先,确保应用已集成最新版HMS Core SDK。
  2. 其次,登录华为开发者联盟,进入“我的项目”找到对应应用,在“支付服务”中更新支付密钥。
  3. 然后,下载新的支付配置文件并集成到应用中。
  4. 最后,测试支付功能以确保升级成功。

详细操作可参考华为官方文档或开发者支持。

回到顶部