哪些字段使android keystore独一无二?

时间:2017-12-21 06:56:52

标签: android android-keystore

如果我松开android(APK)密钥库文件,我可以创建一个新的吗?我知道所有数据,例如名字,姓氏,组织,密码,到期等。我可以使用这些数据创建相同的密钥库,还是应该在安全的地方保护主密钥库文件?

在密钥库或我手动编写的那些数据字段中是否存在时间戳或散列或自动生成的数据,使密钥库具有唯一性和可识别性?

5 个答案:

答案 0 :(得分:0)

Keystore只不过是一个容器。它包含密钥,用于在部署应用程序之前对其进行签名的公钥证书。

  

Android要求所有APK都可以使用证书进行数字签名,然后才能安装。   签署APK时,签名工具会附加公钥   证书到APK。公钥证书就像一个   “指纹”将APK与您和您的唯一关联   相应的私钥。这有助于Android确保任何未来   您的APK更新是真实的,来自原作者。   用于创建此证书的密钥称为应用程序签名密钥。

     

密钥库是包含一个或多个私钥的二进制文件。

您可以创建新的密钥库,如果您将原始证书放在那里,则没有区别。您可以从一个密钥库中提取证书并将其放到另一个密钥库中。

基本上,工具Android Studiokeytool会为您生成这些密钥并将它们放入密钥库。物理上,密钥为RSA keypair,如此示例http://phpseclib.sourceforge.net/rsa/examples.html,用于签名并存储在密钥库中的私钥,用于检查签名的公钥。

如果丢失密钥库,则无法恢复密钥。 因此,尽最大努力保护密钥库,特别是如果您发布了由其证书签名的应用程序。

答案 1 :(得分:0)

如果您已经在Play商店发布了应用程序,那么它将不允许您更新您的应用程序,因为现在您有一个不同的密钥库文件,因此您必须在Playstore上创建新的应用程序。是的,每个密钥库文件都是唯一的,您将无法再次使用

答案 2 :(得分:0)

对于 KeyStore ,我可以这么说  密钥库是独一无二的。除了证书持有者之外,没有人可以更新您的申请。这意味着如果您将其发布到野外,丢失用于签署应用程序的证书,那么您就无法发布更新,因此请保持该证书安全并在需要时进行备份。

但是,除了签署apks以进入野外之外,如果您愿意,可以使用它来通过SSL向服务器验证您的设备(与Android相关)以及其他功能。

我面对同样的事情,根据我的经验,我可以说什么都没有用,可能是我错了可能有一些方法,但我尝试了很多..

  

您可以创建新的密钥库,但Android Market不允许您   上传apk作为更新 - 更糟糕的是,如果你尝试上传   apk作为一个新的应用程序,它不会允许它,因为它知道有一个   即使你已经在市场上出现了同样的apk的'不同'版本   从市场上删除以前的版本

尽你所能找到密钥库......

答案 3 :(得分:0)

Google提供了一种安全上传密钥库的方法,因此无需担心密钥库。

有关详情,请查看:

https://support.google.com/googleplay/android-developer/answer/7384423

https://developer.android.com/studio/publish/app-signing.html#google-play-app-signing

答案 4 :(得分:0)

不,你不能。无法使用相同的密码和别名创建相同的.keystore文件。如果您丢失了密钥文件,则可以从Google Play重置文件。

您可以按照以下步骤操作;

  1. 创建新的密钥库文件
  2. 从此密钥库文件生成pem文件
  3. 使用此命令。
  4. " keytool -export -rfc -alias your alias -file your alias_certificate.pem -keystore keystore name.jks"

  5. 填写下面的表单并将pem文件添加到表单中。 ; https://support.google.com/googleplay/android-developer/contact/otherbugs?hl=en