【问题标题】:keytool Invalid keystore formatkeytool 无效的密钥库格式
【发布时间】:2018-09-01 01:39:34
【问题描述】:

我正在关注受信任的 Web 活动指南。 https://developers.google.com/web/updates/2017/10/using-twa

我现在必须获取我的应用证书的哈希值,使用:

keytool -exportcert -list -v -alias androiddebugkey -keystore ~/.android/debug.keystore

debug.keystore 是 Android Studio 创建的临时密钥,Google Play 不允许使用它签名的应用程序,不是吗?

因此,我将 key.pem 和 key.pk8 放在密钥库文件夹中,并将 ~/.android/debug.keystore 替换为 keystore/key.pk8keystore/key.pem。 但对于两者来说,它都说 无效的密钥库格式

我创建了这两个文件

openssl genrsa -out key.pem 2048
openssl req -new -key key.pem -out request.pem
openssl x509 -req -days 9999 -in request.pem -signkey key.pem -out certificate.pem
openssl pkcs8 -topk8 -outform DER -in key.pem -inform PEM -out key.pk8 -nocrypt

An answer to a similar question告诉将 -storetype pkcs12 添加到 keytool 命令,但随后我收到此错误:

erreur keytool : java.io.IOException: toDerInputStream 拒绝标签 类型 45 java.io.IOException: toDerInputStream 拒绝标签类型 45 在 sun.security.util.DerValue.toDerInputStream(DerValue.java:881) 在 sun.security.pkcs12.PKCS12KeyStore.engineLoad(PKCS12KeyStore.java:193 9) 在 java.security.KeyStore.load(KeyStore.java:1445) 在 sun.security.tools.keytool.Main.doCommands(Main.java:823) 在 sun.security.tools.keytool.Main.run(Main.java:366) 在 sun.security.tools.keytool.Main.main(Main.java:359)

【问题讨论】:

    标签: openssl keytool


    【解决方案1】:

    对于可能有同样问题的其他人,我最终这样做了:

    我用 Android Studio 制作了一个密钥库:key_store.jks

    我将此文件用于我无法使用的 keytool 命令,但它确实有效。

    然后我按照此页面上的说明从中制作了 .pk8 和 .pem 文件:https://roostertech.wordpress.com/2013/10/31/exporting-private-key-pk8-jks/

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-12-14
      • 1970-01-01
      • 2016-03-13
      • 2023-03-20
      • 1970-01-01
      • 2019-04-12
      • 2010-11-06
      相关资源
      最近更新 更多