webentwicklung-frage-antwort-db.com.de

Android-Signaturfehler: Vertrauenswürdige Zertifikatseinträge sind nicht kennwortgeschützt

Ich habe ein Zertifikat erhalten, mit dem die nicht signierten Android-APK-Dateien signiert werden können.

keytool -import -alias alias_name -file cer_name.cer -storepass changeit  -keystore my_keystore.keystore

Wenn Sie die App mit Android Studio signieren, führt dies zu Fehlern:

Error:Execution failed for task ':packageDebug'.
> com.Android.ide.common.signing.KeytoolException: Failed to read key alias_name from store "C:\Users\username\my_keystore.keystore": trusted certificate entries are not password-protected

Meine Schlussfolgerungen besagten, dass die Schlüssel nicht kennwortgeschützt sind. Ich versuchte es erneut und stellte das Kennwort für die Schlüssel ein:

keytool -import -alias alias_name -file cer_name.cer -storepass changeit -keypass changeit -keystore my_keystore.keystore

Trotzdem bleibt der Fehler bestehen. 

Ich habe auch mit manueller Prozedur mit Jarsigner versucht:

jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore my_keystore.keystore unsigned-release.apk alias_name

Bekannte Fehler:

jarsigner: Certificate chain not found for: alias_name.  alias_name must reference a valid KeyStore key entry containing a private key and corresponding public key certificate chain.

Bitte helfen Sie mir Ich kann keinen relevanten Beitrag zu diesem Fehler für Android-apk-Signierungen erhalten

12
Sanjay Singh

Ich empfehle dringend, Keystore Explorer zu erhalten. Dieses Programm hat mein Leben mehr als einmal gerettet, als ich einige Probleme mit dem Keystore und dem Zertifizierungsprogramm hatte. Es ist kostenlos und Open Source und eine einfach zu bedienende Benutzeroberfläche. Es können neue Schlüsselpaare erstellt und vorhandene Schlüsselpaare in Ihren Schlüsselspeicher importiert werden. Ich habe es vor etwa 3 Jahren angefangen und es ist immer noch in meinem Ordner für Entwicklungswerkzeuge.

4
Timothy Winters

* .cer-Dateien enthalten normalerweise nur Zertifikate, nicht den privaten Schlüssel, der zum Signieren einer APK benötigt wird.

Den Inhalt des Schlüsselspeichers auflisten:

keytool -list -v -keystore my_keystore.keystore

Suchen Sie nach der Entry type:-Zeile (nach dem entsprechenden Alias). Der Wert muss PrivateKeyEntry sein, nicht trustedCertEntry

3
bwt

Wenn Sie Android Studio verwenden, gibt es eine sehr einfache Lösung zum Signieren von APK. Gehen Sie wie folgt vor: Gehen Sie zu Android-Menü -> Build suchen -> Generierte signierte APK ... nachdem das neue Fenster angezeigt wurde -> klicken Sie auf die Schaltfläche Neu erstellen .... Geben Sie als Nächstes die Details ein und klicken Sie auf OK -> Weiter. enter image description here -> Wählen Sie den Schlüsselspeicherpfad aus, den Sie für die spätere Verwendung speichern möchten. -> Legen Sie das gewünschte Kennwort fest, das Sie -> Alias-Name -> Kennwort - setzen möchten. > Zertifikatsinformationen ausfüllen -> Weiter klicken 

das nächste Fenster erscheint wie unten gezeigt.  enter image description here

Wählen Sie das Verzeichnis, das Sie signieren möchten. .Apk wird gespeichert (andernfalls wird es im app-Ordner -> release) generiert -> Signaturversion auswählen -> klicken Sie auf Fertig stellen

Warten, bis APK erfolgreich generiert wurde 

0
Arun-Khanka