【问题标题】:How can I generate an Android Keystore from a key.pk8 and certificate.pem?如何从 key.pk8 和 certificate.pem 生成 Android 密钥库?
【发布时间】:2014-03-06 12:17:56
【问题描述】:

所以今天我终于将我的 SDK 更新到 22.0.0,但是这会在 android:debuggable="false" 的 AndroidManifest.xml 中产生一个错误,这意味着我不能再从外部对我自己的 apk 进行签名和压缩。

我一直在使用自己的 key.pk8 和 certificate.pem 进行签名,但是 eclipse ADT 需要密钥库。

有谁知道使用我已经生成的密钥构建密钥库或找到解决此问题的方法?

【问题讨论】:

  • 您可以使用 keytool 导入它。看看:$keytool -help
  • 好的,所以我使用 keytool 创建了一个新的密钥库并将证书转移到其中。但是,当我尝试使用 ADT 中的密钥库来尝试签署应用程序时,我可以看到我的密钥并输入我的密码,但是没有任何反应。没有前进,但也没有错误。有什么想法吗?
  • 您好,很抱歉延迟回复,我关机了。尝试列出您密钥库中的所有内容以确保它存在:keytool -v -list -keystore [keystore_path]
  • @betorcs 感谢您的帮助,我已经设法解决了这个问题,您可以在下面看到我使用的解决方案。

标签: android eclipse keystore


【解决方案1】:

好的,所以我最终设法解决了这个问题。

我从here下载了适用于windows的openssl

Keytool 可以在E:\Program Files\Java\jdk1.7.0_17\bin找到

然后使用 keytool 和 openssl 设法将 key.pk8 和 certificate.pem 构建到密钥库条目中

openssl pkcs8 -inform DER -nocrypt -in key.pk8 -out key.pem

openssl pkcs12 -export -in certificate.pem -inkey key.pem -out platform.p12 -password pass:android -name mykey

keytool -importkeystore -deststorepass password -destkeystore .keystore -srckeystore platform.p12 -srcstoretype PKCS12 -srcstorepass android

keytool -list -v -keystore .keystore

最后一步只是验证密钥是否已添加到密钥库中。

【讨论】:

  • 第一步,如果输入的pk8文件有密码,去掉-nocrypt选项,openssl会提示输入密码。
  • @SamShute:您从哪里获得 .pk8 和 .pem 证书?我可以在我的 Android 设备的操作系统文件中搜索并找到它们吗?
  • 我有 .pk8 和 .pem 文件。我有一个 .keystore 文件。这里的platform.p12是什么??
猜你喜欢
  • 2018-05-06
  • 1970-01-01
  • 2015-09-13
  • 2020-05-01
  • 1970-01-01
  • 2022-11-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多