我有一个首先使用 Adobe Air 创建的 Android 应用程序(及其生产 keystore )。很久以前,公司转而使用常规的 Android SDK 来开发该应用程序,但由于该应用程序已经投入生产,我们使用的 keystore 仍然是同一个(当时由 Adobe Air 创建)。
我使用 keytool 为 Google Places API 提取了 SHA1,我得到了一些类似的信息:
Alias name: <alias_name>
Creation date: Jan 11, 2015
Entry type: PrivateKeyEntry
Certificate chain length: 1
Certificate[1]:
Owner: CN=<company_name>, OU=, O=, C=US
Issuer: CN=<company_name>, OU=, O=, C=US
Serial number: <lotsofnumbers>
Valid from: Mon Mar 28 14:08:17 IST 2011 until: Sat Mar 29 14:08:17 IDT 2036
Certificate fingerprints:
MD5: ..:8D:F7
SHA1: ..:E6:69
SHA256: ..:38:9A
Signature algorithm name: SHA1withRSA
Version: 3
Extensions:
#1: ObjectId: 2.5.29.37 Criticality=false
ExtendedKeyUsages [
codeSigning
]
此 SHA1(由 E6:69 完成)从未在 Google Places API 中工作,所以我检查了 apk 包含的 CERT.RSA 是什么,除了证书指纹外,它看起来几乎相同:
Valid from: Mon Mar 28 14:08:17 IST 2011 until: Sat Mar 29 14:08:17 IDT 2036
Certificate fingerprints:
MD5: ..:E1:30
SHA1: ..:72:74
SHA256: ..:9D:6D
Signature algorithm name: SHA1withRSA
Version: 3
Extensions:
#1: ObjectId: 2.5.29.37 Criticality=false
ExtendedKeyUsages [
codeSigning
]
此 SHA1(在 72:74 之前完成)运行完美,我终于设法在生产中使用 Google Places API。但是我不明白为什么这两个证书指纹不同。
我 1000% 确定这是同一个 keystore ,这怎么可能?
当我查看 android 调试 key 时,信息的结构相同,但扩展名不同:
Alias name: androiddebugkey
Creation date: Oct 26, 2014
Entry type: PrivateKeyEntry
Certificate chain length: 1
Certificate[1]:
Owner: CN=Android Debug, O=Android, C=US
Issuer: CN=Android Debug, O=Android, C=US
Serial number: 3bddeb55
Valid from: Sun Oct 26 21:03:56 IST 2014 until: Tue Oct 18 22:03:56 IDT 2044
Certificate fingerprints:
MD5: ..:01:17
SHA1: ..:00:77
SHA256: ..:32:93
Signature algorithm name: SHA256withRSA
Version: 3
Extensions:
#1: ObjectId: 2.5.29.14 Criticality=false
SubjectKeyIdentifier [
KeyIdentifier [
0000: <weird hexa number and characters>
0010: <weird hexa number and characters>
]
]
总结一下我的问题:
最佳答案
How is this possible the SHA1 do not match?
SHA-1 证书指纹由您的 Keystore 定义,可能您使用另一个 Keystore 签署了您的应用程序,或者您的 Keystore 被修改或重新创建,我自己在调试 Keystore 时遇到过这种情况。
How can I use keytool (or other tool) to show me the right SHA1 then? 请记住,当您创建 keystore (包含唯一的 SHA-1 证书)来为生产应用签名时,您必须将此 keystore 保存在安全的地方,并且必须使用它为您的 Google 应用签名Play商店 如果您的 SHA-1(由 E6:69 完成)从未在 Google Places API 中工作,则 SHA-1 证书指纹可能未在 https://console.developers.google.com/ 中注册. 例如,对于 Google Places API,我需要使用调试 keystore 的 SHA-1 证书注册我的应用程序(通常位于 转到您的 Google Developer Console
https://console.developers.google.com/apis
您可以在那里定义多个与您的应用程序包名称相关的 SHA-1,例如,您可以为调试 keystore 定义一个,为生产 keystore 定义另一个。
我敢打赌您使用不同的 keystore 进行签名,因为它们具有不同的创建日期:
C:\Users\[USER]\.android\debug.keystore) 以及我的生产 keystore 的 SHA-1 证书。
Creation date: Jan 11, 2015
Creation date: Oct 26, 2014
关于android - Keystore SHA1 不同于来自 APK 的 cert.rsa SHA1,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37138752/
最近因为项目需要,需要将Android手机系统自带的某个系统软件反编译并更改里面某个资源,并重新打包,签名生成新的自定义的apk,下面我来介绍一下我的实现过程。APK修改,分为以下几步:反编译解包,修改,重打包,修改签名等步骤。安卓apk修改准备工作1.系统配置好JavaJDK环境变量2.需要root权限的手机(针对系统自带apk,其他软件免root)3.Auto-Sign签名工具4.apktool工具安卓apk修改开始反编译本文拿Android系统里面的Settings.apk做demo,具体如何将apk获取出来在此就不过多介绍了,直接进入主题:按键win+R输入cmd,打开命令窗口,并将路
Ruby有一些不错的文档生成器,例如Yard、rDoc,甚至Glyph。问题是Sphinx可以做网站、PDF、epub、LaTex等。它在重组文本中完成所有这些事情。在Ruby世界中有替代方案吗?也许是程序的组合?如果我也能使用Markdown就更好了。 最佳答案 自1.0版以来,Sphinx有了“域”的概念,它是从Python和/或C以外的语言标记代码实体(如方法调用、对象、函数等)的方法。有一个rubydomain,所以你可以只使用Sphinx本身。您唯一会缺少的(我认为)是Sphinx使用autodoc从源代码自动创建文档
我曾经收到以下错误:OpenSSL::SSL::SSLError:SSL_connectreturned=1errno=0state=SSLv3readservercertificateB:certificateverifyfailedfromC:/Ruby1.9.2/lib/ruby/1.9.1/net/http.rb:678:in`connect'通读后this,我发现修复是从here下载cacert.pem文件.该帖子建议做这样的事情:ENV['SSL_CERT_FILE']=File.join(File.dirname(__FILE__),"cacert.pem")而且,确实,
在C#中,您可以这样做:publicIEnumerableGetItems(){for(inti=0;i这将返回一个包含1000万个整数的可枚举序列,而无需在该长度的内存中分配一个集合。有没有一种方法可以在Ruby中做同样的事情?我要处理的具体示例是将矩形数组展平为要枚举的值序列。返回值不必是Array或Set,而是某种只能按顺序而不是索引迭代/枚举的序列。因此,整个序列不需要同时分配到内存中。在.NET中,这是IEnumerable和IEnumerable.对Ruby世界中此处使用的术语的任何澄清都会有所帮助,因为我更熟悉.NET术语。编辑也许我最初的问题还不够清楚——我认为yiel
运行有问题或需要源码请点赞关注收藏后评论区留言一、利用ContentResolver读写联系人在实际开发中,普通App很少会开放数据接口给其他应用访问。内容组件能够派上用场的情况往往是App想要访问系统应用的通讯数据,比如查看联系人,短信,通话记录等等,以及对这些通讯数据及逆行增删改查。首先要给AndroidMaifest.xml中添加响应的权限配置 下面是往手机通讯录添加联系人信息的例子效果如下分成三个步骤先查出联系人的基本信息,然后查询联系人号码,再查询联系人邮箱代码 ContactAddActivity类packagecom.example.chapter07;importandroid
1.前言 在10.0的系统rom定制化开发中,在系统中有多个launcher的时候,会在开机进入launcher的时候弹窗launcher列表,让用户选择进入哪个launcher,这样显得特别的不方便所以产品开发中,要求用RoleManager的相关api来设置默认Launcher,但是在设置完默认Launcher以后,在安装一款Launcher的时候,默认Launcher就会失效,在系统设置的默认应用中Launcher选项就为空,点击home键的时候会弹出默认Launcher列表,让选择进入哪个默认Launcher.所以需要从安装Launcher的流程来分析相关的设置。来解决问题设置默认La
我正在尝试测试来自ankoder.com的APIauthenticationtoken的摘要计算有问题.当我尝试从C#调用时,示例是ruby。当我比较HMAC-SHA1中的摘要结果时,我发现key结果有问题。为了便于测试这里是代码:require'hmac-sha1'require'digest/sha1'require'base64'token="-Sat,14Nov200909:47:53GMT-GET-/video.xml-"private_key="whatever"salt=Digest::SHA1.hexdigest(token)[0..19]passkey=Base64.
我想知道是否有人知道Ruby的PyGame等价物。我看过Ruby/SDL,我正在寻找更适合游戏的东西。 最佳答案 还有gosu这可能很有趣。 关于ruby-Pygame等同于Ruby?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/669994/
Ai-Bot基于流行的Node.js和JavaScript语言的一款新自动化框架,支持Windows和Android自动化。1、Windowsxpath元素定位算法支持支持Windows应用、.NET、WPF、Qt、Java和Electron客户端程序和ie、edgechrome浏览器2、Android支持原生APP和H5界面,元素定位速度是appium十倍,无线远程自动化操作多台安卓设备3、基于opencv图色算法,支持找图和多点找色,1080*2340全分辨率找图50MS以内4、内置免费OCR人工智能技术,无限制获取图片文字和找字功能。5、框架协议开源,除官方node.jsSDK外,用户可
前一段时间由于工作需要把可爱的小雪狐舍弃了,找到了小蜜蜂。但是新版本的小蜜蜂出现了很多和旧版本不一样的位置。1.功能位置迁移,原来在工程build.gradle的buildscript和allprojects移动至setting.gradle并改名为pluginManagement和dependencyResolutionManagement。里面的东西依旧可以按照原来的copy过来。pluginManagement{repositories{gradlePluginPortal()google()mavenCentral()}}dependencyResolutionManagement{r