证书指纹无效?

Posted

技术标签:

【中文标题】证书指纹无效?【英文标题】:Certificate fingerprint is invalid? 【发布时间】:2019-10-29 09:35:33 【问题描述】:

我已经从我的密钥库生成了我的 SHA1 代码,但是当我尝试创建 OAuth 客户端 2.0 时,Google 游戏控制台给我一个错误:“证书指纹无效”。

有人知道为什么会这样吗? 我该如何解决这个问题?

【问题讨论】:

检查意外复制的空格或无效字符?另外,sha1 有多长? 它有 20 对字符,我检查过,没有空格或无效字符... 你解决了吗?我也有同样的问题。 我也有同样的问题。还有其他人,***.com/questions/56722128/… 我认为是 Play 管理中心本身的问题,我之前也做过很多次。 【参考方案1】:

我已经就这个问题联系了 Google Play 开发者支持(我遇到了同样的问题)。 这是他们的答案:请确保密钥设置为 2048 位并且有效期至少为 25 年。

我已经尝试过了,但遗憾的是我的 debug.keystore 仍然没有被接受,也许会有一些运气在你身边。

$ keytool -genkey -v -keystore debug.keystore -storepass android -alias androiddebugkey -keypass android -keyalg RSA -keysize 2048 -validity 10000

【讨论】:

仅从 SHA1,Play 无法判断证书是否具有 2048 位或其有效期。当您输入 SHA1 以启用游戏服务时,是否也出现了问题?如果是这样,我会回复他们并让他们在内部提交错误以进行调查。【参考方案2】:

我叫 Dan,是 Play Games Services 的一名软件工程师。

首先,感谢您使用我们的服务,对给您带来的不便深表歉意。我们在我们的产品中发现了一个错误,该错误会阻止用户将其签名密钥的指纹链接到新创建的应用程序。该问题已得到解决,您应该能够按预期链接您的应用程序。

如果您在功能中遇到错误,请使用错误报告工具告诉我们(帮助 -> 需要更多帮助?-> 发送反馈并报告错误)。

【讨论】:

请在解决此问题后通知我们。 该修复已随最新版本的控制台推出。【参考方案3】:

好吧,这很奇怪。我遇到了同样的问题。虽然我过去做过很多次,但以前从未遇到过这个问题。我尝试了多种选择,但仍然不行。于是想了一个办法。想分享它以节省时间:

创建游戏服务后,您将在 -> 游戏详情 > Api 控制台项目下获得 API 控制台项目 单击您的 API 项目,它应该会将您带到您的 API 控制台项目。 通过选择凭据创建 Auth SHA1 密钥 > 创建凭据。

现在,谷歌网站建议不要这样做

警告:不要从 Google API 控制台为您的游戏创建新的客户端 ID。如果您这样做,Google Play 游戏服务不会将您的游戏设置与客户端 ID 相关联,这可能会导致游戏过程中出现错误。 https://developers.google.com/games/services/console/enabling

但到目前为止,我只有一个 Sha1 用于这个包,我认为我们很好。我可以确认我的项目运行良好,并且能够成功链接应用程序。虽然,我还没有测试我所有的游戏功能。

此外,我仍在弄清楚为什么它可以在具有相同 Sha1 密钥和包的 Google API 控制台上工作,并且如果我在 Play 控制台 -> 链接的应用程序中使用相同的组合将无法工作。随着我了解更多信息,我将在此线程上进行更新。也许谷歌正在改变 OAuth 屏幕同意屏幕,也许这是一个新的变化。

【讨论】:

我认为这一定是 Play 管理中心本身的问题。 可能的。我会更新你,我已经联系了谷歌,应该知道更多。 感谢您的意见,没有机会查看,我会更新。【参考方案4】:

我最近遇到了这个问题。

添加 Android 凭据后,Google Play 控制台会弹出一个带有应用名称和 SHA-1 指纹的模式。由于某种原因,此指纹不正确。

在 Google Play Console 中,您需要进入 Release -> App Integrity,并在 App signing key certificate 下复制 SHA-1 证书指纹。

【讨论】:

以上是关于证书指纹无效?的主要内容,如果未能解决你的问题,请参考以下文章

如何获取颁发者证书的指纹或公钥?

Android使用命令获取sha1证书指纹数据的方法

密钥库证书的 SHA-1 指纹

密钥库证书的 SHA-1 指纹

密钥库证书的 SHA-1 指纹

如何在 C# 中通过指纹查找证书