开发者社区> 问答> 正文

#支付宝 isv.missing-app-cert-sn(缺少应用公钥证书序列号),怎么办?

isv.missing-app-cert-sn(缺少应用公钥证书序列号)

展开
收起
保持可爱mmm 2020-05-05 17:03:21 9090 0
1 条回答
写回答
取消 提交回答
  • 报错原因

    1、资金类接口(强制必须要使用公钥证书)却使用了普通公钥方式进行签名导致的;

    2、公钥证书请求调用sdk提交方法错误;

    3、应用公钥证书路径(app_cert_path)设置错误;

    4、应用公钥证书文件引用错误;

    排查方案

    1、普通公钥签名导致报错 目前新创建的应用,资金类接口会进行强制校验是否公钥证书签名,若使用普通密钥方式签名报错isv.missing-app-cert-sn(缺少应用公钥证书序列号)。

    所以资金类接口(如单笔转账到支付宝账户,现金红包),必须使用公钥证书进行签名请求。

    2、公钥证书请求调用的sdk提交方法错误

    公钥证书的response请求方式是否正确:

    (1)java语言response的execute()方法需改成certificateExecute();

    (2)PHP语言response的execute()方法仍然使用execute();

    (3).Net语言response的execute()方法需改成CertificateExecute();

    3、公钥证书签名路径设置错误

    应用公钥证书路径(app_cert_path)路径存在问题,建议检查路径传值是否正确;

    (1)建议设置绝对路径,进行引用证书;

    (2)证书下载文档的地址,与代码中设置的路径地址是否一致;

    4、公钥证书签名证书引用错误

    app_cert_path设置路径对象错误,不是密钥工具生成时原始的公钥文件路径,而是需要从开放平台上进行下载的证书crt文件。

    注:应用公钥证书crt文件,需要点击进入,选择使用的应用,再点击应用信息,如图:

    然后在“接口加密方式”中的“应用公钥证书”位置,点击“下载证书”。 如图:

    5、自行实现签名

    检查是否设置应用公钥证书SN(app_cert_sn)参数参与签名;

    注:公钥证书自签名方式中,除文档参数外,需携带应用公钥证书SN(app_cert_sn)、支付宝根证书SN(alipay_root_cert_sn)进行请求。

    具体参考公钥证书签名步骤。

    2020-05-05 17:03:30
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
女性移动App安全攻防战 立即下载
汇聚云计算的生态核能——云市场,云上APP Store 立即下载
千万级用户直播App——服务端架构设计和思考 立即下载

相关实验场景

更多