从私钥和证书重新创建密钥库文件

时间:2015-10-19 14:17:35

标签: android cryptography jarsigner

我正在尝试签署Android应用,但显然原始密钥库文件不可用。我得到的只有以下几点:

  1. 私钥md5 0123456789abcdef0123456789abcdef< - 虚构值但
  2. 证书md5 fedcba9876543210fedcba9876543210< - 原文是32位十六进制数字
  3. 已签名的Android应用
  4. 有没有办法从这些资产中重新创建密钥库文件,以便我可以使用通常的Android构建过程,(例如jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore my-release-key.keystore my_application.apk alias_name )以与原始应用程序相同的方式签署Android应用程序的更新版本?

    或者,我可以使用这些值以不同的方式签署应用程序,同时保持与原始应用程序的一致性吗?

1 个答案:

答案 0 :(得分:1)

不,你不能。一旦私钥丢失,就无法重新创建它。如果可能的话,私钥就没有多大价值。 MD5是单向函数,它不能被还原 - 如果输入足够大,例如私钥 - 它也不能强制强制。密钥和证书上的MD5值仅用于标识密钥和证书(称为指纹识别,因为值与密钥和证书的值相关联)。

您所能做的就是创建一个新密钥对+证书(由相同的CA证书签名)并使用它来签署该应用程序。