微信小程序开发|教程|文档|资源汇总_即速论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 36473|回复: 85

即速应用 - 如何获取支付宝小程序公钥和秘钥?

  [复制链接]

该用户从未签到

35

主题

38

帖子

1467

金钱

管理员

Rank: 9Rank: 9Rank: 9

积分
0
发表于 2017-8-18 16:50:09 | 显示全部楼层 |阅读模式
一、生成RSA密钥
1.工具下载
支付宝为技术开发人员提供一键生成工具,便于开发者生成一对 RSA 密钥、公钥证书申请CSR文件(在线申请应用公钥证书需要)。
开发者要保证接口中使用的私钥与此处的公钥匹配,否则无法调用接口。开发者可通过下方链接下载对应的密钥生成工具:
WINDOWS
MAC_OSX
注意:
密钥和应用(APPID)一一对应,即开发者需要为名下的每个应用分别设置密钥,且不同应用的密钥不能混用。

2.生成秘钥
下载该工具后,解压打开文件夹,运行“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,需要自行实现验签过程,参考此处流程
最后附上支付宝小程序秘钥生成和上传操作视频:

回复

使用道具 举报

该用户从未签到

0

主题

4

帖子

76

金钱

新人求带

Rank: 1

积分
0
发表于 2017-8-22 14:47:58 | 显示全部楼层
:L:L
回复

使用道具 举报

该用户从未签到

0

主题

7

帖子

87

金钱

新人求带

Rank: 1

积分
0
发表于 2017-9-22 10:05:55 | 显示全部楼层
阿萨实打实大的

该用户从未签到

1

主题

8

帖子

225

金钱

新人求带

Rank: 1

积分
0
发表于 2017-9-22 11:16:19 | 显示全部楼层
支持
回复

使用道具 举报

  • TA的每日心情
    奋斗
    2017-9-23 15:42
  • 签到天数: 1 天

    [LV.1]初来乍到

    0

    主题

    6

    帖子

    50

    金钱

    新人求带

    Rank: 1

    积分
    0
    发表于 2017-9-23 17:32:42 | 显示全部楼层
    谢谢楼主分享

    该用户从未签到

    0

    主题

    1

    帖子

    17

    金钱

    新人求带

    Rank: 1

    积分
    0
    发表于 2017-9-24 19:05:23 | 显示全部楼层
    开发工具呢

    该用户从未签到

    0

    主题

    2

    帖子

    19

    金钱

    新人求带

    Rank: 1

    积分
    0
    发表于 2017-9-25 14:03:01 | 显示全部楼层
    !!!!学习学习!!!
    回复

    使用道具 举报

  • TA的每日心情

    2017-9-20 17:48
  • 签到天数: 1 天

    [LV.1]初来乍到

    0

    主题

    7

    帖子

    181

    金钱

    新人求带

    Rank: 1

    积分
    0
    发表于 2017-9-27 19:48:09 | 显示全部楼层

    回复

    使用道具 举报

    该用户从未签到

    0

    主题

    2

    帖子

    43

    金钱

    新人求带

    Rank: 1

    积分
    0
    发表于 2017-9-28 11:44:26 | 显示全部楼层
    如果用咫尺做的小程序,还需要获取这个公私钥么?

    该用户从未签到

    0

    主题

    5

    帖子

    113

    金钱

    新人求带

    Rank: 1

    积分
    0
    发表于 2017-9-28 15:10:20 | 显示全部楼层
    胜多负少大
    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    咫尺论坛|小程序开发社区
    X

    扫码添加专属客服即可随时咨询

    还可领取小程序推广攻略

    QQ|微信小程序开发|教程|文档|资源汇总_即速论坛 ( 粤ICP备14097199号-1|网站地图   

    GMT+8, 2021-9-23 10:07 , Processed in 0.166352 second(s), 49 queries .

    Powered by Discuz! X3.4

    Copyright © 2001-2021, Tencent Cloud.

    快速回复 返回顶部 返回列表