问题标签 [android-keystore]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
android - Android丢失密钥库
所以基本上我们只是丢失了一个密钥库和备份密钥库。但是我们可能知道原始密钥库的密码。
我的问题是,如果我们知道原始密钥库的密码,我们可以重新生成密钥库文件吗?如果可以,如何重新生成?
先感谢您
android-activity - 在android中将4个应用程序作为单个应用程序管理
我有 4 个应用程序,即“A、B、C、D”和一个名为“M”的控制器应用程序,我只有一个启动器可以启动“M”应用程序。在那个“M”应用程序中,我有 4 个用于启动的按钮“ A、B、C、D'应用程序我的问题是当用户从设备上卸载“M”应用程序时,我需要卸载所有四个应用程序
注意:删除那四个应用程序不得要求用户确认。我已经在同一个密钥库下签署了所有应用程序。
android - 当锁定屏幕设置为“无”时,Android KeyStore 会重置
以下问题用 android 版本 4.3 和 nexus 7 测试
使用Android 4.3 版本的KeyStore 时,将锁屏设置为none 后key 会被删除,之前是否设置了none 无关紧要。
要重现这一点,您可以使用位于
“sdk\samples\android-18\security\keystore\BasicAndroidKeyStore”下的提供的 android 示例。
运行应用程序后:
- 项目清单
- 符号(应该为空)
- 生成密钥
- 签署(将签署某事)
- 关闭应用程序
- 重新开始
- 签署(将签署某事)
- 将屏幕锁定设置为“无”(即使之前没有)(可以在设置 -> 安全 -> 屏幕安全下找到)。
- 返回应用程序并再次尝试签名(将返回 null)
在检查我发现的 android 源代码时,在第 639 行中,密钥库似乎已被重置。请参阅:https ://android.googlesource.com/platform/frameworks/base/+/52c489cd63cca0361f374f7cb392018fabfa8bcc/core/java/com/android/internal/widget/LockPatternUtils.java
有谁知道为什么会这样?我将此报告给 android 社区 https://code.google.com/p/android/issues/detail?id=60176
编辑:在 android 版本 4.2 中,如果保存了某些密钥,则无法将锁定屏幕设置为无。在这样做之前,您必须先删除您的凭据。
android - 谷歌地图 Android API 密钥库
在我的应用程序中,我使用地图来显示当前位置。然后,我使用 Google Maps Android API v2(我不使用 Google Maps API)将此功能添加到我的应用程序中。
当我在 Eclipse 中开发我的应用程序时,一切正常。我使用调试密钥库创建了一个 Android 密钥,并在清单中使用它,我可以很好地执行我的应用程序,并且可以移动和使用地图。在这种情况下,我没有日志错误(只有典型的“未找到 Google Play 服务资源。检查您的项目配置以确保包含资源”)。
现在,当我将我的应用程序上传到 Google Play 开发者控制台时,在 beta 测试中它可以工作,但是当我发布时,地图会变成灰色背景并且无法工作。日志给了我这个错误:
然后我决定在我的 Eclipse 项目中使用该密钥库,因此我创建了一个新的 Android 密钥 (47:2D: * ** * ** * ** * ** * ** * ** * ** * ** *: 72:18;gc.yy.xxxx 给了我 AIza* * ** * ** * ** * ** * ** *Qm4Q 密钥)并将其粘贴到清单文件中。我运行该项目,我再次得到灰色背景。日志给了我这个错误:
我不知道问题是否与密钥库有关。我将 debug.keystore 与我的地图一起使用(我不能使用另一个,我不知道它是否不可能)并且我使用我创建的密钥库来签署我的应用程序包。这似乎是一个没有有用 API 密钥的无限循环……</p>
提前致谢!
编辑:我终于通过添加每个 API 密钥的 2 个元数据块来解决它,也就是说,我的清单是这样的:
最后,我在 Google Play 中有我的应用程序!:)
android - 密钥库错误:解析通用时间,格式无效
使用密钥库时出现以下错误:
我在谷歌和 SO 上搜索,但没有一个解决方案有效......
有没有人遇到过同样的问题?
android - Unity Android 使用 Facebook SDK,缺少 Debug Android KeyHash
提前感谢大家,
我遵循了这个文档:
以及这个在 Android 中集成 facebook 的特定视频:
但是 Unity 没有填写(如视频中所示)“Debug Android Key Hash”字段,我应该将其插入我的 facebook 应用程序中。
问题截图
我已经安装了:
- 统一 4.2
- jdk1.7.0_25(带环境变量Path)
- 所有 android sdk 版本
- openssl(在 C:\openssl 中)
我尝试使用带有 keytool 的 cmd.exe(Facebook Android Generate Key Hash)手动创建“debug.keystore”文件并将其移至"C:\Users\(My UserName)\.android"
,但 Unity 没有找到该密钥哈希。
谁能帮我?我被困住了……
- - - - - - - 解决了 - - - - - - - - - - - -
我使用这个解决方案Facebook Android Generate Key Hash来创建一个 debug.keystore,移动到"C:\Users\(My UserName)\.android"
并在 facebook 上使用这个密钥
android - 使用哪个密钥库?
我有一个可以在 google play 上找到的 android 应用程序。
在为发布创建 apk 时,有一个为签名而创建的密钥库。
我的问题是,如果在发布之后,我正在进行一些增强(如 facebook 或 google+ 集成),这要求开发人员使用密钥库注册他的应用程序,我应该使用哪个密钥库?
它应该是调试密钥库 (~/.android/debug.keystore) 还是在打包我的应用程序时创建的?
编辑
感谢您到目前为止的答案。
为了确认,从以下答案中我了解到,在测试此增强功能时(在将应用程序部署到 Play 商店之前)并在 facebook 上注册我的应用程序时,我将使用用于签署此应用程序的第一个 apk 文件的密钥库而不是'debug.keystore'。正确的?
但是,在测试时,如果我在 Eclipse 平台上构建,我的应用程序不会发送“debug.keystore”吗?或者,一旦我为创建以前的 apk 文件生成了新的密钥库,“debug.keystore”是否会变得无效?
这太令人困惑了,想清楚这一点......
android - 在 Mac 和 Windows 中使用 android 密钥库文件
我的客户要求我更新 Google PlayStore 上提供的 Android 应用程序。之前的版本是在 Mac 中构建的,Keystore 文件也是在 Mac 中生成的。不幸的是,我没有 Macintosh。只有一台装有 Windows 7 的 PC。
是否可以在 Windows 中使用在 Mac 中生成的 Keystore 文件?你能告诉我我应该怎么做吗?
任何帮助将不胜感激:D
android - 使用 .p12 签署 apk
我将更新我的客户的应用程序,该应用程序可在 Google PlayStore 上找到。而且我只有一个带密码的.p12文件,而不是.keystore文件。
我想知道是否可以将更新版本发布到 Google PlayStore。
对不起,基本问题。我对此很困惑。预先感谢您的协助。
android - Android->Settings->Security->StorageType 获取应用内的值
在较新版本的 Android 中(我猜是从 4.2 开始),有一个名为“硬件支持”和“仅软件”的选项。正如谷歌假设的那样:
Android 现在还支持您的 KeyChain 凭据的硬件支持存储,通过使密钥不可提取来提供更高的安全性。也就是说,一旦密钥在硬件支持的密钥存储 (安全元素、TPM 或 TrustZone)中,它们就可以用于加密操作,但不能导出私钥材料。甚至操作系统内核也无法访问此密钥材料。虽然并非所有基于 Android 的设备都支持硬件存储,但您可以在运行时检查硬件支持的存储是否可用
重点是我的
我无法理解的是:GalaxyNexus 和 Nexus 7 都有一个带安全元件的 NFC 芯片,但它的存储类型是“仅限软件”。Nexus 4 有一个 NFC 安全元件,并且是“硬件支持的”,而 Nexus 7 (2013) 和 Nexus 5 没有 NFC 安全元件,但仍然是“硬件支持”。我可以在设置应用程序中手动检查,但是有没有办法在我的应用程序中检查这个?
正如 CommonsWare 提到的,我应该提供链接:这里提到了 Secure Element 与存储类型相关的第一个信息:另一个有用的信息来源是Nelenkov 的博客