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

Recreate keystore file from private key and certificate

我正在尝试签署一个 Android 应用程序,但显然原始密钥库文件不可用。我得到的所有信息如下:

  1. 私钥 md5 0123456789abcdef0123456789abcdef <-- 虚构值但
  2. 证书 md5 fedcba9876543210fedcba9876543210 <-- 原来是 32 个十六进制数字
  3. 签约制作Android应用

有什么方法可以从这些资产中重新创建密钥库文件,以便我可以使用通常的 Android 构建过程,(例如 jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore my-release-key.keystore my_application.apk alias_name) 以与原始应用程序相同的方式签署 Android 应用程序的更新版本?

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

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

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