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

我们公司同事把自己的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. Python2 Python3 urllib方法对应

    Python2 name Python3 nameurllib.urlopen() urllib.request.urlopen()urllib2.urlopen() urllib.request.u ...

  2. zimage 和bzimage 有什么区别

    在网络中,不少服务器采用的是Linux系统.为了进一步提高服务器的性能,可能需要根据特定的硬件及需求重新编译Linux内核.编译Linux 内核,需要根据规定的步骤进行,编译内核过程中涉及到几个重要的 ...

  3. python jieba模块详解

    借鉴于 [jieba 模块文档] 用于自己学习和记录! jieba 模块是一个用于中文分词的模块 此模块支持三种分词模式 精确模式(试图将句子最精确的切开,适合文本分析) 全模式(把句子在所有可以成词 ...

  4. windows API 第13篇 MoveFileEx

    上一篇介绍了MoveFile,这次分析MoveFileEx,它是MoveFile的扩展函数,功能还要更加强大些.先看定义: BOOL WINAPI MoveFileEx( _In_     LPCTS ...

  5. 我认为最节省时间的CSS命名规范

    CSS命名规范一 js中对变量的命名最好使用camel case驼峰式命名法,但CSS中更适用于red-box命名规范. CSS命名规范二 BEM命名规范 B=>block E=>elem ...

  6. bash: express: command not found及vue连接数据库调接口

    今天在使用express -e . 的命令时,cmd给我报了一段不识别的错误: bash: express: command not found ,在网上查了一下,有人指出是express4的版本将命 ...

  7. mysql大数据表优化

    1.应尽量避免在 where 子句中使用!=或<>操作符,否则将引擎放弃使用索引而进行全表扫描. 2.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉 ...

  8. PAT甲级——A1015 Reversible Primes

    A reversible prime in any number system is a prime whose "reverse" in that number system i ...

  9. Ubuntu修改mysql编码格式

    今天在Ubuntu系统上部署了第一个net core的web网站,遇到了mysql入库数据乱码的情况.无奈,ubuntu系统不熟悉,mysql命令不熟悉,只得在网上查找各种资料.还是老规矩,主要参考的 ...

  10. 【python之路面向对象】初级篇

    概述 面向过程:根据业务逻辑从上到下写垒代码 函数式:将某功能代码封装到函数中,日后便无需重复编写,仅调用函数即可 面向对象:对函数进行分类和封装,让开发“更快更好更强...” 面向过程编程最易被初学 ...