使用公钥证书签名方式下, 请求参数中需要携带应用公钥证书 SN(app_cert_sn)、支付宝根证书 SN(alipay_root_cert_sn),这里的 SN 是指什么?

使用公钥证书签名方式下, 请求参数中需要携带应用公钥证书 SN(app_cert_sn)、支付宝根证书 SN(alipay_root_cert_sn),这里的 SN 是指什么?

使用公钥证书签名方式下, 请求参数中需要携带应用公钥证书 SNapp_cert_sn)、支付宝根证书 SN(alipay_root_cert_sn),这里的 SN 是指什么?

这里的 SN 是指基于开放平台提供的计算规则,动态计算出来的公钥证书序列号,与 X.509 证书中内置的序列号(serialNumber)不同。具体的计算规则如下:

  1. 解析 X.509 证书文件,获取证书签发机构名称(name)以及证书内置序列号(serialNumber)。
  2. 将 name 与 serialNumber 拼接成字符串,再对该字符串做 MD5 计算。可查看 开放平台 SDK 源码中的 AlipaySignature.getCertSN 方法实现。
/** 
    * 获取证书序列号 
    * @param certPath X.509证书文件路径 
    * @return 返回证书序列号 
    * @throws AlipayApiException 
    */ 
 public   static   String   getCertSN ( String   certPath )

说明:开放平台支持开发者上传自己找第三方权威 CA 签发的证书,而证书文件中内置序列号只能保证同一家签发机构签发的证书不重复。所以不支持直接使用证书文件中内置的序列号。

编辑:yimen,如若转载,请注明出处:https://www.yimenapp.com/kb-yimen/13794/

部分内容来自网络投稿,如有侵权联系立删

(0)
上一篇 2022年12月1日 上午10:33
下一篇 2022年12月1日 上午10:36