keytool密钥库格式无效

问题描述 投票:0回答:1

我正在关注Trusted Web Activity的这个指南。 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放在一个keystore文件夹中,然后用keystore / key.pk8或keystore / key.pem替换〜/ .android / debug.keystore。但两者都说无效的密钥库格式。

我创建了这两个文件

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

对类似问题的回答告诉将-storetype pkcs12添加到keytool命令,但后来我收到此错误:

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

openssl keytool
1个回答
0
投票

对于可能遇到同样问题的其他人,我最终改为:

我用Android Studio创建了一个密钥库:key_store.jks

我使用这个文件作为我无法工作的keytool命令,并且它有效。

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

© www.soinside.com 2019 - 2024. All rights reserved.