支付宝集成的一些知识点
应用公钥(public key)需提供给支付宝账号管理者上传到支付宝开放平台。
应用私钥(private key)由开发者自己保存,需填写到代码中供签名时使用。
生成的私钥需妥善保管,避免遗失,不要泄露。
密钥和应用(APPID)一一对应,即开发者需要为名下的每个应用分别设置密钥,且不同应用的密钥不能混用。
应用网关:
应用网关用于接收支付宝异步通知消息,需要传入 http(s) 公网可访问网页地址。开发者可视实际需要选用。
主要使用产品有生活号被动通知、口碑门店的被动通知、转账到支付宝账户、现金红包以及其它部分产品和订阅消息。各产品配置异步通知方式可查看 触发异步通知的产品列表。(异步触发地址为应用网关及 From 蚂蚁消息 的产品都支持配置应用网关)。
支付结果异步通知支付宝会根据 支付 API 中传入的异步通知地址 notify_url,通过 POST 请求的形式将支付结果作为参数通知到商家系统。
如需设置应用网关请先完成接口加签方式设置,否则点击应用网关设置按钮会弹出接口加签方式设置弹框。
应用网关是将一个网络与另一个网络进行相互连通,提供特定应用的网络间设备,应用网关必须能实现相应的应用协议。应用网关可以看做是运行于要求特定业务的客户机与提供所需业务的服务器之间的中间过程。应用网关在这类过程中,从用户侧来看它起着服务器的作用,从服务器侧来看它是一个客户机。
授权回调地址
第三方应用授权 或 用户信息授权 后回调地址。授权链接中配置的 redirect_uri 的值必须与此值保持一致 (如:https://www.alipay.com),用户成功授权后将在该 URL 后携带授权码等信息并跳转至该页。
注意:当填入该地址时,系统会自动进行安全检测,详情可查看 安全检测。
签名:
加签原理
- 获取所有支付宝开放平台的 post 内容,不包括字节类型参数,如文件、字节流,剔除 sign 字段,剔除值为空的参数; Post请求的参数timestamp=2019-01-0108:09:33&method=alipay.trade.create&app_id=20135234674&sign_type=RSA2&biz_content={"total_amount":"10.08", "buyer_id":"2088123456781234", "discount_amount":""}
- 按照第一个字符的键值 ASCII 码递增排序(字母升序排序),如果遇到相同字符则按照第二个字符的键值 ASCII 码递增排序,以此类推;
- 将排序后的参数与其对应值,组合成 参数=参数值 的格式,并且把这些参数用 & 字符连接起来,此时生成的字符串为待签名字符串。
https://www.alibabacloud.com/help/zh/alibaba-cloud-ssl-certificates-service/latest/what-is-a-public-key-and-a-private-key
非对称加密
公钥: 对会话进行加密 验证数字签名 密钥对外公开
私钥: 解密会话数据 非公开的部分 用户自行保管
解密的用途: 使用密钥对的时候,用其中一个密钥加密一段数据,只能用密钥对的另一个密钥才能解密。
例如: 公钥加密数据,必须用对应私钥;私钥用对应公钥
应用公钥证书 SN, 支付宝根证书 SN
数字签名算法:
数字签名,就是只有信息的发送者才能产生的别人无法伪造的一段数字串,这段数字串同时也是对信息的发送者发送信息真实性的一个有效证明。数字签名是通过一个单向函数,对要传送的信息进行处理得到的用以认证信息来源,并核实信息在传送过程中是否发生变化的一个字母数字串。应用最为广泛的三种签名算法是:Rabin签名、DSS签名、RSA签名。
同步验签、异步验签
格式转换: Java适用的和非Java适用的 商家应用私钥转成Java适用的 和 非Java适用的
标签:支付宝,网关,私钥,异步,继承,密钥,应用,支付 From: https://www.cnblogs.com/rshsmell/p/16953604.html