支付宝使用公钥证书签名方式下,为什么开放平台网关的响应报文需要携带支付宝公钥证书 sn(alipay_cert_sn)?
开发者上传自己的应用公钥证书后,开放平台会为开发者应用自动签发支付宝公钥证书供开发者下载,用来对开放平台网关响应报文做验签。
但是支付宝公钥证书可能因证书到期或者变更 ca 签发机构等原因,可能会重新签发证书。在重新签发前,开放平台会在门户上提前提醒开发者支付宝应用公钥证书变更时间。
但为避免开发者因未能及时感知支付宝公钥证书变更而导致验签失败,开放平台提供了一种支付宝公钥证书无感知升级机制,具体流程如下:
- 开放平台网关在响应报文中会多返回支付宝公钥证书 sn。
- 开放平台网关提供根据 sn 下载对应支付宝公钥证书的 api 接口。
- 开发者在验签过程中,先比较本地使用的支付宝公钥证书 sn 与开放平台网关响应中 sn 是否一致。若不一致,可调用支付宝公钥证书下载接口下载对应 sn 的支付宝公钥证书。
- 对下载的支付宝公钥证书执行证书链校验,若校验通过,则用该证书验签。
说明:基于该机制可实现支付宝公钥证书变更时开发者无感知,当前开放平台提供的 sdk 已基于该机制实现对应功能。若开发者未通过 sdk 接入,须自行实现该功能。
编辑:yimen,如若转载,请注明出处:https://www.yimenapp.com/kb-yimen/13798/
部分内容来自网络投稿,如有侵权联系立删