一、生成RSA密钥 1.工具下载 支付宝为技术开发人员提供一键生成工具,便于开发者生成一对 RSA 密钥、公钥证书申请CSR文件(在线申请应用公钥证书需要)。 开发者要保证接口中使用的私钥与此处的公钥匹配,否则无法调用接口。开发者可通过下方链接下载对应的密钥生成工具:
WINDOWS
MAC_OSX 注意:
密钥和应用(APPID)一一对应,即开发者需要为名下的每个应用分别设置密钥,且不同应用的密钥不能混用。
2.生成秘钥 下载该工具后,解压打开文件夹,运行“RSA签名验签工具.bat”(WINDOWS)或“RSA签名验签工具.command”(MAC_OSX)。 界面示例:
详细步骤: 1. 密钥格式选择PKCS1(非JAVA适用)。 2. 选择密钥长度2048位。 3. 点击 “生成密钥”,会自动生成商户应用公钥和应用私钥。 4. 点击“打开密钥文件路径”,即可找到生成的公私钥。如图:
备注: 生成的私钥需妥善保管,避免遗失,不要泄露。应用私钥需填写到代码中供签名时使用。应用公钥需提供给支付宝账号管理者上传到支付宝开放平台。
二、上传应用公钥并获取支付宝公钥 1. 登录开放平台-开发者中心,选择小程序,找到对应的小程序,点击【查看】,找到【设置】-【接口加签方式】
2. 点击【设置应用公钥】,根据开发者的条件设置应用公钥或上传公钥证书,若未绑定手机,请根据引导完成手机绑定
3. 完成手机验证
4. 把签名验签工具里“公钥”的内容复制到此处,点击“保存”完成密钥设置
5. 保存成功后,在同一页面查看或修改应用公钥或上传应用公钥证书
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)即可,同步返回报文时会自动进行验签。
异步通知验签
开放平台SDK提供了AlipaySignature.rsaCheckV1方法,可以使用该方法对通知报文验签。
未使用开放平台SDK 如果未使用开放平台SDK,需要自行实现验签过程,参考此处流程。 最后附上支付宝小程序秘钥生成和上传操作视频:
|