首先,我是这样的情况下学到这部分知识的:

我们公司同事把自己的unity生成的APK包查出MD5值直接拿出去微信那边申请,当然这样本来是没毛病,毕竟当时只有他一个人开发这个游戏,

然而我们几个前端过去接手工作,要用他的那个工程文件作发包测试,发现微信不能回调,卡在登陆和选取微信位置来回,就是读不了微信的

个人信息,我就一路查,发现其实是微信登陆申请的时候要提交MD5值,然而我们电脑发的APK包当然和他的APK包的MD5值不一样,所以微信

是不允许你回调的,因为我们的APK包没有申请,公司也不可能为每个人申请一个,因为一个微信登陆申请就300块,如果公司有10个前端就是3000,

以后再作新浪啊,其他的申请,岂不是更多钱,所以这个做法没意义。后来找到最终解决办法,就是让我们的电脑发的包也跟他电脑发的包的MD5值

一样。就是用签名文件发包。方法如下:

第一步:生成自己的签名文件

打开自己JDK目录下的BIN目录,然后按住shift键+右键(直接用该目录下打开CMD(CM-DOS))如图:

WIN10是这样的

WIN7或者一下的是这样的

然后点击“在此处打开powershell窗口”(WIN10为例子,

win7语句不一样,不过也差不多,我的系统是win10),然后如图:

使用keytool命令生成证书:

keytool

-genkey

-alias tomcat(别名)

-keypass 123456(别名密码)

-keyalg RSA(算法)

-keysize 1024(密钥长度)

-validity 365(有效期,天单位)

-keystore D:/keys/tomcat.keystore(指定生成证书的位置和证书名称)

-storepass 123456(获取keystore信息的密码)

方便复制版:

keytool -genkey -alias tomcat -keypass 123456 -keyalg RSA -keysize 1024 -validity 365 -keystore D:/keys/tomcat.keystore -storepass 123456

注意:生成的key.store文件的文件夹要自己先建立,不然会提示找不到路径报错 (365是KEY的过期时间单位是天,123456是打开密钥的密码,前面是使用密码,后面是发包密码,可以是一样,这个根据自己情况设置)

回车执行后如下图:

点击回车即可在D:/keys/文件夹内生成名为:tomcat.keystore的文件。当然 内容是根据你情况来定。

成功后无提示信息

注意:

提示输入的名字可以是域名不能输入IP地址

如果出现这个提示就是你没建立当前路径文件夹或者路径不对

有了这个文件以后,查看该文件的MD5值,拿这个值来申请微信登陆等第三方许可

找到这个文件所在的文件夹,如图

按住shift+右键 点“在此处打开powershell窗口”

如图:

然后输入:

keytool -list -v -keystore +文件名.store  按回车如图

然后输入之前设定的密码,我这里是123456,然后回车, 输入的时候是看不到的,所以保证自己没手残!

然就可以查看该签名文件的MD5值。

最后,我们依赖这个文件来做一个“个人定制的”APK就可以了!这个APK的MD5值会跟这个签名文件的MD5值一样,然又跟我们申请的微信的一样,这样微信就可以回调!

这里以UNITY为例子,android-studio或者Eclipse 我就不具例子

打开unity->File->BuildSettings->点player settings 如图:

在inspector面板点安卓图标

然后如图点 publishing settings

然后如图点勾选use existing keys 再点browse keystore选取路径

在keystore输入发布密码 我这里是123456,然后如图

点击Usigned(debug)选取自己的keystore文件名,我这里是tomcat,如图

这里输入是打开签名文件密码,(也就是前面第一个123456那里的密码)我这里依然123456

最后点build 发布APK包就可以了!

最后我们还有验证我们的成果,依然旧套路,打开APK包的文件夹,shift+右键 点在此处打开powersell ,输入

keytool -printcert -jarfile(APK包名)xxx.apk

如图

回车如图

成功让MD5值与签名文件的一致! 这样的话只要有这个文件的,就可以发布当前申请微信的APK包!

额外测试:

不用签名文件发包情况!如图

最后出来的APK包 测试出来的MD5值如下

跟原来出来的包不一样的!

总结:这个是unity自身带的DEBUG.STORE的签名文件打出来的包,这个签名文件很多第三方都不许可的,人家会知道这个是unity默认给你一个的签名文件,就算你审核通过,也就你一台电脑能用,因为这个文件你是找不出来的,就算找出来文件内容都是unity自己搞的。所以我们要用一个公用的签名文件拿来各种第三方申请。以后这个文件用作项目打包用,不然很多第三方SDK是用不了的!

JDK的KEYTOOL的应用,以及签署文件的应用(原创)的更多相关文章

  1. tomcat7+jdk的keytool生成证书 配置https

    目前只会使用jdk的keytool来生成证书.本文仅介绍这种方法. 1Windows下: 1.1 生成keystore文件及导出证书 打开控制台: 运行: %JAVA_HOME%\bin\keytoo ...

  2. 用keytool创建Keystore和Trustsotre文件只需五步

    用keytool创建Keystore和Trustsotre文件 JSSE使用Truststore和Keystore文件来提供客户端和服务器之间的安全数据传输.keytool是一个工具可以用来创建包含公 ...

  3. JDK/bin目录下的不同exe文件的用途(转)

    新安装完JDk 大家是否发现安装目录的bin文件夹有很多exe文件 下面就为大家讲解不同exe文件的用途 javac:Java编译器,将Java源代码换成字节代 java:Java解释器,直接从类文件 ...

  4. JDK/bin目录下的不同exe文件的用途

    新安装完JDk 大家是否发现安装目录的bin文件夹有很多exe文件 下面就为大家讲解不同exe文件的用途 javac:Java编译器,将Java源代码换成字节代 java:Java解释器,直接从类文件 ...

  5. JDK的KeyTool和KeyStore等加密相关

    Keytool是一个有效的安全钥匙和证书的管理工具. Java 中的 keytool.exe (位于JDK\Bin下)可以用来创建数字证书,所有的数字证书是以一条一条(用别名区别,不区分大小)地存储在 ...

  6. keytool创建Keystore和Trustsotre文件

    一.生成一个含有一个私钥的keystore文件 user@ae01:~$ keytool -genkey -keystore keystore -alias jetty-azkaban -keyalg ...

  7. Android签名用keytool和jarsigner制作apk文件

    生成证书 keytool -genkey -alias aeo_android.keystore -keyalg RSA -validity -keystore aeo_android.keystor ...

  8. 使用jdk的keytool 生成CA证书的方法

    一.CA证书生成设置总共分为以下5步: 步骤: 1.根据java的keytool生成CA根证书,放在服务器 2.根据服务器CA根证书导出客户端证书 3.tomcat增加SSL配置 4.客户端IE浏览器 ...

  9. 往jdk/bin目录中增加tcnative-1.dll文件以后报错 Can't load AMD 64-bit .dll on a IA 32-bit platform

    开始时,运行Tomcat控制台报错: The APR based Apache Tomcat Native library which allows optimal performance in pr ...

随机推荐

  1. Java基础知识(数据类型和集合)

    一.数据类型 包装类型 包装类型是对基本数据类型不足之处的补充. 基本数据类型的传递方式是值传递,而包装类型是引用传递,同时提供了很多数据类型间转换的方法. Java1.5 以后可以自动装箱和拆箱 二 ...

  2. 2018-8-10-WPF-鼠标移动到列表上-显示列表图标

    title author date CreateTime categories WPF 鼠标移动到列表上 显示列表图标 lindexi 2018-08-10 19:16:51 +0800 2018-2 ...

  3. CodeChef TRIPS-Children Trips 树上分块

    参考文献国家集训队2015论文<浅谈分块在一类在线问题的应用>-邹逍遥 题目链接 题目大意 一棵n个节点的树,树的每条边长度为1或2,每次询问x,y,z. 要求输出从x开始走,每次只能走到 ...

  4. Linux下使用SSH命令行传输文件到远程服务器

    目标:CentOS 7 调整 home分区 扩大 root分区 总体过程: 把/home内容备份,然后将/home文件系统所在的逻辑卷删除,扩大/root文件系统,新建/home ,恢复/home内容 ...

  5. 廖雪峰Java10加密与安全-3摘要算法-3SHA-1算法

    1.SHA-1算法 SHA-1算法也是一种哈希算法. 输出160 bits/20bytes 由美国国家安全局开发 SHA-0/SHA-1/SHA-256/SHA-512 * SHA-0有问题,已经作废 ...

  6. Delphi 设计模式:《HeadFirst设计模式》Delphi7代码---模板方法模式之CoffeineBeverageWithHook[转]

    模板方法模式定义了一个算法骨架,允许子类对算法的某个或某些步骤进行重写(override).   1   2{<HeadFirst设计模式>之模板方法模式 }   3{ 编译工具: Del ...

  7. oslo_messaging使用eventlet executor时rpc无法调用的问题

    python2.7.5 oslo.messaging==9.8.0 现象: 从debug日志可以看到rpcServer接收到了rabbitmq的消息, 但是没有调用endpoints中的相应方法 分析 ...

  8. RabbitMq知识点总结

    一.RabbitMQ简介 AMQP,即Advanced Message Queuing Protocol,一个提供统一消息服务的应用层标准高级消息队列协议,是应用层协议的一个开放标准,为面向消息的中间 ...

  9. Jquery点击加载更多

    一.点击加载更多有点像分页获取数据类似,下面是本人写的一个简单的小例子 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitiona ...

  10. Linux 系统的运行级别(runlevel)

    Linux 系统有 7 个运行级别,Linux 系统任何时候都运行在一个指定的运行级别上,不同的运行级别所运行的程序和服务不尽相同,所要完成的工作和要达到的目的也不相同 · 运行级别 0 系统停机(h ...