坏蛋网络

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
开启左侧

[登录支付] 什么是支付宝公钥(RSA2)支付宝和应用私钥(RSA2)如何从RSA1升级到RSA2?

[复制链接]
坏蛋网络男神 实名认证 官方 发表于 2020-11-9 06:08:16 | 显示全部楼层 |阅读模式
如何从RSA1升级到RSA2?[color=rgba(0, 0, 0, 0.65)]支付宝开放平台接口签名方式升级,由此前的RSA(SHA1)升级为RSA(SHA256),请按照以下步骤来完成升级:
1、生成RSA2密钥(详情查看如何生成密钥,可下载支付宝提供的密钥生成工具,选择2048来生成密钥即可);
2、请把生成的商户公钥上传给支付宝,详情请查看如何上传商户公钥并换取支付宝公钥
3、在调支付宝接口传参数的时候把sign_type的值改成 RSA2,私钥请使用步骤1生成的RSA2私钥;
注意事项:验签的时候支付宝公钥需要改成可配置的,因为RSA2的支付宝公钥每个商户都不一样,不能统一默认。



第一步:生成密钥并上传更新时间:2020-11-06 18:16:25
工具下载
  • WINDOWS(windows 版本工具请不要安装在含有空格的目录路径下,否则会导致公私钥乱码的问题)

原理介绍
支付宝开放平台开发助手提供了一键生成密钥功能,便于开发者生成一对 RSA 密钥(应用公钥、应用私钥)以及公钥证书申请 CSR 文件(在线申请应用公钥证书需要)。
加密过程:使用公钥(public key)为系统进行加密,并将密文发送给解密者,解密者使用私钥(private key)解密将密文解码为明文。公钥证书模式中上传的文件,无论是 CSR 文件或者开发者自己申请的公钥证书文件,必须和用户本地代码中加密的应用私钥是匹配的,否则会导致支付宝开放平台验签失败。
支付宝开放平台支持使用 普通公钥公钥证书 两种签名方式。下面分别向您介绍两种方式的工具操作步骤,包括如何使用密钥生成工具生成应用公钥(public key)、应用私钥(private key)和公钥证书申请 CSR 文件。
注意事项
  • 应用公钥(public key)需提供给支付宝账号管理者上传到支付宝开放平台。
  • 应用私钥(private key)由开发者自己保存,需填写到代码中供签名时使用。
  • 生成的私钥需妥善保管,避免遗失,不要泄露。
  • 密钥和应用(APPID)一一对应,即开发者需要为名下的每个应用分别设置密钥,且不同应用的密钥不能混用。

普通公钥与公钥证书区别
  • 企业开发者若涉及资金类支出接口接入,必须使用公钥证书模式。
  • 个人开发者不涉及到资金类接口,建议使用公钥方式进行加签。
  • 在报文签名场景下,报文接受方使用发送方的公钥进行报文验签,该功能两种签名方式都可以实现。
  • 公钥证书签名方式引入了 CA 机构对公钥持有者进行身份识别,保证该证书所属实体的真实性,以实现报文的抗抵赖。
  • 公钥证书签名方式下,开放平台支持通过上传 CSR 文件的方式给开发者在线签发应用公钥证书,新的开放平台 RSA 验签和签名工具支持生成 CSR 文件。

前提条件普通公钥方式
本步骤指引以 MAC_OSX 界面为例。
  • 根据开发语言选择密钥格式和密钥长度。
    说明:
    • 新建应用请务必使用 RSA2 密钥长度 即 2048 位。详情请参见 开放平台证书升级指南
    • 目前已使用 RSA 密钥长度即 1024 位密钥长度的应用仍然可以正常调用接口。 resize,w_2000.jpg



  • 点击 生成密钥,工具会自动生成商户应用公钥(public key)和应用私钥(private key)。随后点击 打开密钥文件路径 original?bz=openpt_doc&t=NSEDbe52bCbcKksp4Yk4qAAAAABkMK8AAAAA.jpg
  • 在弹出的 RSA密钥 文件夹下即可找到生成的公私钥文件。
    original?bz=openpt_doc&t=-11kd79kdITYMmA546xkagAAAABkMK8AAAAA.jpg



  • 登录 开发者中心控制台 > 在相应应用点击进入管理后台 > 开发设置 > 接口加签方式 设置。点击 设置 后,输入手机验证码。 original?bz=openpt_doc&t=7D3r7OLyLTDO9ZtFVhJmJQAAAABkMK8AAAAA.jpg


  • 复制上一步生成的公钥到 填写公钥字符 的输入框中,即可完成应用公钥的上传,并生成一个支付宝公钥,用于在后续的签名与验签步骤中作为签名验签的参数之一。 original?bz=openpt_doc&t=ccLLGLlzilSC5TcTYk9rmwAAAABkMK8AAAAA.jpg

公钥证书方式生成并上传公钥证书
本步骤指引以 MAC_OSX 界面为例。

  • 在开发助手工具的生成秘钥工具,密钥长度选择 RSA2,密钥格式选择 PKCS8(Java适用),点击 获取CSR文件 后的 点击获取,生成应用公钥证书 CSR 申请文件。 resize,w_2000.jpg


  • 在弹出的 获取CSR 对话框中根据提示填写相关信息,点击 生成 CSR 文件
    说明:
    • 组织/公司 名称一定要和开发者中心门户账号信息的公司名称保持一致,否则会导致后续步骤中上传 CSR 证书文件校验失败。
    • 沙箱环境下 组织/公司 名称应填写为 沙箱环境
      original?bz=openpt_doc&t=bSvznCD9UL-GjU98CrnQLQAAAABkMK8AAAAA.jpg

  • 在生成 CSR 文件后,点击工具下方的 打开文件位置,在对应的文件夹里可以看到三个文件:应用公钥 key 串、应用私钥 key 串,以及 csr 格式的应用公钥证书文件。
    bc254ea0593c838a902f7083398cae29.png


  • 登录 开发者中心控制台 > 在相应应用点击进入管理后台 > 开发设置 > 接口加签方式 设置。点击 设置 后,输入手机验证码。
    original?bz=openpt_doc&t=GPERJHkpPfm53cFC2QwaGAAAAABkMK8AAAAA.jpg


  • 加签模式选择 公钥证书 ,上传证书文件 选择 上传 CSR 文件在线生成证书 或者 上传已申请证书,即可完成公钥证书的设置。上传证书文件。即可完成公钥证书的设置。
    • 选择 上传 CSR 文件在线生成证书 并点击 上传 CSR 文件在线生成证书。 original?bz=openpt_doc&t=KPfZk-0i55xHVLCb6hRvhAAAAABkMK8AAAAA.jpg
    • 选择 上传已申请证书,点击,选择上一步骤生成的 .csr 文件上传。上传完成证书后,系统会自动识别证书的加密方式。
      证书必须由权威 CA 签发,详情请参见 当前支持的CA列表,且仅支持 X.509 格式的证书,详情请参见 证书说明
      original?bz=openpt_doc&t=PJAAnWAFT1TIdwwTycEWhgAAAABkMK8AAAAA.jpg



下载证书
上传成功后,可查看、下载已生成(或已上传)的应用公钥证书,以及下载对应的支付宝公钥证书、支付宝根证书。 original?bz=openpt_doc&t=_PkAC9wHj9ySVZd8EUBKYgAAAABkMK8AAAAA.jpg



[color=rgba(0, 0, 0, 0.65)]
[color=rgba(0, 0, 0, 0.65)]
[color=rgba(0, 0, 0, 0.65)]工具下载

[color=rgba(0, 0, 0, 0.65)]原理介绍

[size=0.8em][color=rgba(0, 0, 0, 0.65)]注意事项

[size=0.8em][color=rgba(0, 0, 0, 0.65)]普通公钥与公钥证书区别

[color=rgba(0, 0, 0, 0.65)]前提条件
[color=rgba(0, 0, 0, 0.65)]普通公钥方式
[color=rgba(0, 0, 0, 0.65)]公钥证书方式
[size=0.8em][color=rgba(0, 0, 0, 0.65)]生成并上传公钥证书
[size=0.8em]下载证书










想说又不敢说,说了又怕被拒绝,拒绝了又怕尴尬,就是这样的。内心很痛苦的那种。
 楼主| 坏蛋网络男神 实名认证 官方 发表于 2020-11-9 06:09:16 | 显示全部楼层
想说又不敢说,说了又怕被拒绝,拒绝了又怕尴尬,就是这样的。内心很痛苦的那种。
回复

使用道具 举报

 shu1332725 发表于 2022-6-26 17:44:43 | 显示全部楼层
我是个凑数的。。。
回复

使用道具 举报

qq12345 发表于 2022-6-26 23:20:06 | 显示全部楼层
我是个凑数的。。。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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