在对接快应用微信支付时发现,快应用微信支付申请使用的包名和签名须是某个原生app的包名和签名。

参考文档截图如下:

App 微信支付申请时需要填入的包名、签名截图如下:

可见快应用微信支付的申请是按一个原生app的方式申请的。包名还好,两者填写一样就行;而签名比较麻烦,因为原生app签名文件是一个*.keystore文件;快应用的签名文件是两个pem文件(certificate.pem和private.pem)。为保证签名一致(快应用签名须和微信支付申请填入的原生app签名一致),须将原生签名文件*.keystore转成快应用的需要的两个pem签名文件。

经反复查资料和试验,发现这种下面的转换过程是可行的。

原生app签名文件.keystore文件的生成

终端运行下面命令:

keytool -genkey -alias app.keystore -keyalg RSA -validity 20000 -keystore app.keystore

根据提示依次填入需要的内容和密码,这里一定要要记下这个密码,后面会用到

查看.keystore 文件的内容,并获取微信支付申请页需要的签名内容

运行下面命令:

keytool -list -v -keystore test.keystore -storepass 000111(第一步的密码)

如果成功的话,会在展示的结果里找到MD5的内容.将MD5后面的编码值去掉冒号后组成一个十六进制字符串,这就是微信支付申请页需要填入的签名内容。

将keystore文件转换为pkcs12格式的文件

keytool -importkeystore -srckeystore my.keystore -destkeystore tmp.p12 -srcstoretype JKS -deststoretype PKCS12

输入生成keystore时的密码

最后发现同一目录下生成tmp.p12文件

将PKCS12格式的文件 dump成pem

openssl pkcs12 -in tmp.p12 -nodes -out tmp.rsa.pem

同样输入keystore的密码

最后同一目录下生成  tmp.rsa.pem

生成certificate.pem 和privae.pem

用记事本将第四步生成的tmp.rsa.pem打开,会发现里面包含certificate 和 private 内容。

复制“BEGIN CERTIFICATE” (包含)至“END CERTIFICATE” (包含)的内容到(新建个文件) certificate.pem

复制 “BEGIN RSA PRIVATE KEY”(包含)至 “END RSA PRIVATE KEY” (包含)的内容 到(同上) private.pem

这样就生成了两个pem文件:一个公钥一个私钥。这就是快应用工程最后需要的签名文件。

生成release.rpk

在快应用工程目录下的“sign”目录内创建“release”目录,同时将第6步生成的两个pem文件copy到该目录下

然后在终端命令行运行:npm run release

最后,到工程目录”dist“目录下会就能看到已经生成的release.rpk

关于微信app支付申请注意事项

1,微信app支付申请的包名不能随便改,一旦上线使用终生不得修改。

2,测试阶段,签名可以改,改完之后立即生效,但是要把微信客户端卸载掉重新测试。因为微信客户端会缓存之前的签名。

原生app签名如何转换成快应用签名相关推荐

  1. 用原生js把数字转换成货币人民币表示带逗号表示方法

    用原生js把数字转换成货币人民币表示带逗号表示方法 function rmb(str){let strArr = String( parseFloat(str).toFixed(2) ).split( ...

  2. Android app本地图片转换成Drawable对象的方法

    app开发中把app的res下drawable的图片转换成drawable对象 也是常有的功能 下面就记录下两种转换的方法 第一种 方法 借助ContextCompat 转换方法 Drawable d ...

  3. javascript 微信企业号APP应用URL转换成PC端可正常访问的URL

    时间过得飞快,准备写些东西的时候才发现自己快一年半没有写blog了,写这些东西只是为了记录下来自己走过的坑,为下次遇见同类的问题能够迅速解决,毕竟人脑有限,存储下来以备不时之需. 一:背景(功能需求) ...

  4. vue利用原生javascript 将数组转换成以逗号(或任意符号)隔开的字符串

    前言:有时候页面中用到表格,表格中的某个字段后端接口传的是数组,如果直接显示很不美观. 原先效果图: 目的效果图: 代码: let times= [] listData.forEach(functio ...

  5. 开源在线excel编辑器_5款免费在线PDF转换成word或者excel的分享

    word在日常工作中,应用广泛,但是里面关于PDF的转换工具必需要会员才可以使用,但又不愿意只为了转换一次而花费钱去买会员,本文为你们提供了5款免费在线PDF转换成word或者excel的网. 1.I ...

  6. 将H5网站转换成原生体验的App

    H5网站转换成App需求说明 如果我们只有H5网站,没有App,想要生成App的可选方案有哪些?目前的技术,大概有三个路线: 利用Android/Object-c原生语言,分平台重新开发:这样会导致H ...

  7. 小程序前景无限,还能一键转换成App?

    2017 年 12 月 28 日,一款叫做<跳一跳>的微信小游戏横空出世,为微信小程序跳出一片繁华:2018 年 5 月,研究公司 QuestMobile 发布了微信小游戏<跳一跳& ...

  8. 快应用:足以超越原生APP

    在目前互联网技术迅猛发展的情况下,正所谓一山不容二虎.头部互联网企业以及手机厂商两大阵营正斗得不可开交.像是腾讯.阿里.百度.今日头条等头部互联网企业,都关注于小程序,借助开发者的力量,以此来强大自身 ...

  9. HTML5+jSignature插件手写签名生成图片并转换成文件流实现服务器上传功能

    简介 项目结构:html+vue+springboot html引入VUE项目vue.min.js.jQuery的jquery-3.4.1.min.js,签名:modernizr.js.jSignat ...

  10. 如何更快地将string转换成int/long

    作者 | Kirito的技术分享 来源 | https://mp.weixin.qq.com/s/5qQg3ef8yjVG089iqoNTaw 你好鸭,Kirito 今天又来分享性能优化的骚操作了. ...

最新文章

  1. Python的控制语句3
  2. [YTU]_2417 C语言习题 字符串长度
  3. 收藏:Asp.net中基于Forms验证的角色验证授权
  4. thinkphp中的AJAX返回ajaxReturn()
  5. STL6大标准库的关系和作用
  6. 前端开发 认识css 体验变色的效果 0228
  7. ❤️六万字《SpringMVC框架介绍—从入门到高级》(建议收藏)❤️
  8. 对yolo与fasterrcnn anchors的理解
  9. java之SpringMVC的controller配置总结
  10. Linux输入输出重定向和文件查找值grep命令
  11. opencv之subtract
  12. 使用JLINK仿真器调试树莓派4
  13. 【区块链 | Solidity】以太坊Solidity如何实现海量空投代币?
  14. threejs 使用陀螺仪实现手机端全景
  15. 微信开放平台和公众平台的区别
  16. 小勇机器人如何绑定_小勇机器人app
  17. 白皮书:InfiniBand简介
  18. [你必须知道的.NET] 开篇有益(转载)
  19. 【蓝桥杯c++(Python)每日练习】每日刷题day10:小雨妹的游泳时间,小雨妹的平均数
  20. 数据库中转换时间:CONVERT (VARCHAR,getdate(),23)

热门文章

  1. 计算机测配色原理,计算机测配色教学方法论文
  2. RAID技术分类介绍
  3. 解决docker中启动Spring Boot微服务注册在Eureka后无法访问的问题
  4. 百度大脑开放日走进厦门 全面解析AI如何赋能企业服务智能化
  5. Unity拓展——菜单栏拓展
  6. 【小白到大牛之路】-开发环境搭建
  7. heap exploitation巩固——堆中的off-by-one
  8. unity学习笔记-Avpro和安卓结合
  9. 清明时节雨纷纷,路上行人欲断魂; 清明,请为逝去的亲人捎去祝福!
  10. Exploiting Unintended Feature Leakage in Collaborative Learning 阅读心得