教程-使用支付宝公钥验签

简介: 阅读角色:技术同学 技术同学把1).APPID,2).应用私钥,3).支付宝公钥,配置在代码中,对请求内容进行签名,并对支付宝返回的内容进行验签。 支付宝开放平台SDK封装了签名和验签过程,只需配置账号及密钥参数即可,强烈建议使用。

阅读角色:技术同学 
技术同学把1).APPID,2).应用私钥,3).支付宝公钥,配置在代码中,对请求内容进行签名,并对支付宝返回的内容进行验签。 
支付宝开放平台SDK封装了签名和验签过程,只需配置账号及密钥参数即可,强烈建议使用。 
SDK下载地址 :[url]https://docs.open.alipay.com/54/103419[/url]
TIPS:文中代码部分以JAVA语言演示,其他语言请参考各自SDK。

使用开放平台SDK接入 
同步返回和异步通知报文格式及验签方法有所区别。 
同步返回验签 
开放平台SDK封装了同步返回验签实现,只需在创建DefaultAlipayClient对象时,设置请求网关(gateway),应用id(app_id),应用私钥(private_key),编码格式(charset),支付宝公钥(alipay_public_key),签名类型(sign_type)即可,同步返回报文时会自动进行验签。 

AlipayClient alipayClient = new DefaultAlipayClient(gateway,app_id,private_key,"json",charset,alipay_public_key,sign_type); 
异步通知验签 

某些情况下(比如扫码支付成功时),支付宝会给商户发送异步通知。 
如果某商户设置的通知地址为[url]https://api.xx.com/receive_notify.htm[/url],对应接收到通知的示例如下: 
[url]https://api.xx.com/receive_notify.htm?total_amount=2.00&buyer_id=2088102116773037&body=[/url]大乐透2.1&trade_no=2016071921001003030200089909&refund_fee=0.00¬ify_time=2016-07-19 14:10:49&subject=大乐透2.1&sign_type=RSA&charset=utf-8¬ify_type=trade_status_sync&out_trade_no=0719141034-6418&gmt_close=2016-07-19 14:10:46&gmt_payment=2016-07-19 14:10:47&trade_status=TRADE_SUCCESS&version=1.0&sign=kPbQIjX+xQc8F0/A6/AocELIjhhZnGbcBN6G4MM/HmfWL4ZiHM6fWl5NQhzXJusaklZ1LFuMo+lHQUELAYeugH8LYFvxnNajOvZhuxNFbN2LhF0l/KL8ANtj8oyPM4NN7Qft2kWJTDJUpQOzCzNnV9hDxh5AaT9FPqRS6ZKxnzM=&gmt_create=2016-07-19 14:10:44&app_id=2015102700040153&seller_id=2088102119685838¬ify_id=4a91b7a78a503640467525113fb7d8bg8e 
开放平台SDK提供了AlipaySignature.rsaCheckV1方法,可以使用该方法对通知报文验签。 

/** 
@param params 参数列表(包括待验签参数和签名值sign) key-参数名称 value-参数值 
@param publicKey 验签公钥 
@param charset 验签字符集 
**/ 
boolean AlipaySignature.rsaCheckV1(Map params, String publicKey, String charset) 
TIPS:生活号异步通知需要使用AlipaySignature.rsaCheckV2方法,会保留sign_type参数参与验签。 

未使用开放平台SDK 
如果未使用开放平台SDK,需要自行实现验签过程,参考此处流程:[url]https://docs.open.alipay.com/200/106120[/url]

目录
相关文章
|
8月前
|
iOS开发 开发者
📝 App备案与iOS云管理式证书 ,公钥及证书SHA-1指纹的获取方法
在iOS应用程序开发过程中,进行App备案并获取公钥及证书SHA-1指纹是至关重要的步骤。本文将介绍如何通过appuploader工具获取iOS云管理式证书 Distribution Managed 公钥及证书SHA-1指纹,帮助开发者更好地理解和应用该过程。
|
6天前
|
iOS开发
App备案与iOS云管理式证书 ,公钥及证书SHA-1指纹的获取方法
App备案与iOS云管理式证书 ,公钥及证书SHA-1指纹的获取方法
19 0
App备案与iOS云管理式证书 ,公钥及证书SHA-1指纹的获取方法
|
1月前
|
安全 数据安全/隐私保护
支付系统之微信支付08-身份认证,公钥和私钥的含义,私钥自己有的,作为唯一的控制系统,私钥加密,公钥解密是为了身份认证
支付系统之微信支付08-身份认证,公钥和私钥的含义,私钥自己有的,作为唯一的控制系统,私钥加密,公钥解密是为了身份认证
|
1月前
|
算法 安全 数据安全/隐私保护
支付系统-微信支付10--数字证书,我Doug谎称自己手中公钥是Bob的公钥 ,谁都可以发送公钥,怎样判断公钥是真实的呢?Doug就可以用自己私钥做成数字签名给pat,而Pat用假的公钥进行验签,数字
支付系统-微信支付10--数字证书,我Doug谎称自己手中公钥是Bob的公钥 ,谁都可以发送公钥,怎样判断公钥是真实的呢?Doug就可以用自己私钥做成数字签名给pat,而Pat用假的公钥进行验签,数字
技术汇总:第十七章:支付宝对接公钥,私钥
技术汇总:第十七章:支付宝对接公钥,私钥
技术汇总:第十七章:支付宝对接公钥,私钥
|
算法
支付宝接口的数字签名
通过阅读本篇文章,你可以了解到数字签名技术,了解支付宝接口的签名和验签的流程
217 0
|
算法
支付宝支付配置公私钥
支付宝支付配置公私钥
343 0
|
存储 Web App开发 编解码
加解密,加签、验签也就这肥事
加解密,加签、验签也就这肥事
1487 0
加解密,加签、验签也就这肥事
|
XML 算法 安全
公钥 私钥 签名 验签 说的啥?
公钥 私钥 签名 验签 说的啥?
293 0
公钥 私钥 签名 验签 说的啥?
|
安全 小程序 Java
支付宝应用和小程序开发:使用阿里云KMS保护应用私钥
支付宝开放平台的应用体系中,应用私钥是最核心的安全要素,使用阿里云KMS保护私钥不泄露,可以极大的提高应用和小程序的安全性,帮主应用开发者企业保障业务和资金安全。
2282 0
支付宝应用和小程序开发:使用阿里云KMS保护应用私钥