簡體   English   中英

具有不同指紋的KeyStore簽名

[英]KeyStore Signing with Different Fingerprint

在簽署和上傳Android應用程序時出現奇怪的問題。

我們收到了這個JKS文件。 當我跑步時:
keytool -list -v -keystore key.jks -storepass THE_PASSWORD -keypass THE_PASSWORD

要列出有關它的所有信息,我得到以下信息:

Keystore type: JKS
Keystore provider: SUN

Your keystore contains 1 entry

Alias name: 1
Creation date: 12 Feb 2016
Entry type: PrivateKeyEntry
Certificate chain length: 1
Certificate[1]:
Owner: CN=Amorphous New Media, OU=Times Media Group, O=Times Media Group, C=ZA
Issuer: CN=Amorphous New Media, OU=Times Media Group, O=Times Media    Group, C=ZA
Serial number: 323238***
Valid from: Sun Apr 28 17:21:31 SAST 2013 until: Thu Apr 29 17:21:31 SAST 2038
Certificate fingerprints:
     MD5:  D5:A5:CF:***
     SHA1: 55:18:5F:***
     SHA256: DC:36:CF:***
     Signature algorithm name: SHA1withRSA
     Version: 3

Extensions:

#1: ObjectId: 2.5.29.37 Criticality=false
ExtendedKeyUsages [
  codeSigning
]

但是,當在Android Studio上時,我嘗試生成一個簽名的APK並使用此JKS文件,生成生成和apk,除了使用不同的密鑰外?

當我跑步時:

keytool -list -printcert -jarfile app-release.apk

我得到以下輸出:

Owner: CN=Amorphous New Media, OU=Times Media Group, O=Times Media Group, C=ZA
Issuer: CN=Amorphous New Media, OU=Times Media Group, O=Times Media Group, C=ZA
Serial number: 3232386***
Valid from: Sun Apr 28 17:21:31 SAST 2013 until: Thu Apr 29 17:21:31 SAST 2038
Certificate fingerprints:
         MD5:  EC:FB:D6:***
         SHA1: 40:A3:F0:***
         SHA256: 40:41:3C:***
         Signature algorithm name: SHA1withRSA
         Version: 3

Extensions: 

#1: ObjectId: 2.5.29.37 Criticality=false
ExtendedKeyUsages [
  codeSigning
]

請注意,所有信息都是相同的...序列號,所有者,發行者以及除指紋外的所有內容。

我沒有在調試模式下對其進行簽名,我的gradle文件指向了正確的JKS文件。

同樣出於測試目的,我嘗試了其他JKS文件。 並查看了JKS文件與APK的比較,所有信息都是正確的。 包括SHA1鍵。

有什么我可以嘗試的東西,或者我必須缺少的小東西?
謝謝大家。

因此,在感覺永遠長久之后,我終於解決了這個問題。

使用的密鑰庫是最初從.p12文件轉換的文件。 即使新的密鑰庫文件包含正確的指紋和正確的格式,Android Studio中仍然存在一個錯誤,即如果未正確轉換.p12文件或Android Studio未通過正確的指紋,它不會使用正確的指紋對其進行簽名使用此密鑰庫文件對APK簽名時的值。

您將需要手動簽署APK。 這是一種任務。 因此,我制作了一個自動化腳本來為您完成此任務。

https://github.com/SierraII/morphthis

該腳本將使用指定的密鑰庫文件對APK文件進行簽名。 不論之前是否已對APK文件進行簽名,都將對其進行簽名。

遇到此問題的任何人,希望這可以為您節省三天!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM