用户
 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

该用户从未签到

16

主题

16

帖子

522

金钱

管理员

Rank: 9Rank: 9Rank: 9

积分
16
2017-8-18 16:50:09 咫尺_MX 管理员 楼主 322178
即速应用 - 如何获取支付宝小程序公钥和秘钥?

一、生成RSA密钥
支付宝提供一键生成工具便于开发者生成一对RSA密钥,可通过下方链接下载密钥生成工具:


WINDOWS版本MAC_OSX版本


下载该工具后,解压打开文件夹,运行“RSA签名验签工具.bat”(WINDOWS)或“RSA签名验签工具.command”(MAC_OSX)。
界面示例:            
01.png

详细步骤:
1. 密钥格式选择PKCS1(非JAVA适用)。
2. 选择密钥长度2048位。
3. 点击 “生成密钥”,会自动生成商户应用公钥和应用私钥。
4. 点击“打开密钥文件路径”,即可找到生成的公私钥。如图:
02.png

备注: 生成的私钥需妥善保管,避免遗失,不要泄露。应用私钥需填写到代码中供签名时使用。应用公钥需提供给支付宝账号管理者上传到支付宝开放平台。

二、上传应用公钥并获取支付宝公钥
1. 登录开放平台-开发者中心,选择小程序,找到对应的小程序,点击【查看】,找到【设置】-【接口加签方式】
03.png

2. 点击【设置应用公钥】,根据开发者的条件设置应用公钥或上传公钥证书,若未绑定手机,请根据引导完成手机绑定
04.png

3. 完成手机验证
05.png

4. 把签名验签工具里“公钥”的内容复制到此处,点击“保存”完成密钥设置
06.png

5. 保存成功后,在同一页面查看或修改应用公钥或上传应用公钥证书
07.png


6.保存支付宝公钥内容,在代码中验签使用

三、使用应用私钥生成请求签名
技术同学把APPID、应用私钥、支付宝公钥,配置在代码中,对请求内容进行签名,并对支付宝返回的内容进行验签。
支付宝开放平台SDK封装了签名和验签过程,只需配置账号及密钥参数即可,强烈建议使用。
SDK下载地址

使用开放平台SDK接入
开放平台SDK封装了签名实现,只需在创建DefaultAlipayClient对象时,设置请求网关(gateway),应用id(app_id),应用私钥(private_key),编码格式(charset),支付宝公钥(alipay_public_key),签名类型(sign_type)即可,报文请求时会自动进行签名。
AlipayClient alipayClient = newDefaultAlipayClient(gateway,app_id,private_key,"json",charset,alipay_public_key,sign_type);

未使用开放平台SDK
如果未使用开放平台SDK,需要自行实现签名过程,参考此处流程

四、使用支付宝公钥验签
支付宝开放平台SDK封装了签名和验签过程,只需配置账号及密钥参数,强烈建议使用。

使用开放平台SDK接入
同步返回和异步通知报文格式及验签方法有所区别。

同步返回验签
开放平台SDK封装了同步返回验签实现,只需在创建DefaultAlipayClient对象时,设置请求网关(gateway),应用id(app_id),应用私钥(private_key),编码格式(charset),支付宝公钥(alipay_public_key),签名类型(sign_type)即可,同步返回报文时会自动进行验签。
08.jpg

异步通知验签
某些情况下(比如扫码支付成功时),支付宝会给商户发送异步通知。
如果某商户设置的通知地址为 https://api.xx.com/receive_notify.htm,对应接收到通知的示例如下:

09.jpg

开放平台SDK提供了AlipaySignature.rsaCheckV1方法,可以使用该方法对通知报文验签。
10.jpg

未使用开放平台SDK
如果未使用开放平台SDK,需要自行实现验签过程,参考此处流程
最后附上支付宝小程序秘钥生成和上传操作视频,回复查看哦!
游客,如果您要查看本帖隐藏内容请回复
:L:L
使用道具 举报 回复
阿萨实打实大的
支持
使用道具 举报 回复
谢谢楼主分享
开发工具呢
!!!!学习学习!!!
使用道具 举报 回复

使用道具 举报 回复
如果用咫尺做的小程序,还需要获取这个公私钥么?
胜多负少大
1234下一页
发新帖
*滑动验证:
您需要登录后才可以回帖 登录 | 立即注册
咫尺论坛|小程序开发社区
X