Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Certificate chain not found, how to fix and publish to Google Play Store?

ERROR MESSAGE:

jarsigner: Certificate chain not found for: project_foo.<br/> project_foo must reference a valid KeyStore key entry containing a private key and corresponding public key certificate chain. 

QUESTION: How do I include a public key certificate chain to address the error?

BACKGROUND: The App Developer has completed an Android app and delivered an unsigned APK called Foo.apk. My objective is to sign and zipalign the APK in preparation for uploading it to the Google Play store. My keystore is located at C:\Path\.keystore on a Windows machine.

COMMAND LINE, my command:

jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore C:\Path\\.keystore Foo.apk project_foo 

COMMAND LINE, response:

Enter Passphrase for keystore: jarsigner: Certificate chain not found for: project_foo.<br/> project_foo must reference a valid KeyStore key entry containing a private key and corresponding public key certificate chain. 

ALSO TRIED: Verified that I remember the correct password. Using 'keytool -list' from the command line shows me the expected list (it includes one private key).

PREVIOUS OS QUESTION: certificate chain not found asked using a .cer file from Verisign. I have no similar file available.

OTHER INFORMATION: Windows 7 machine, using standard Windows command prompt.

like image 985
campbellwarren Avatar asked May 20 '14 02:05

campbellwarren


2 Answers

keytool -keystore formconnect.keystore -list -v

You can use this command to find out your alias name after you have generated your key.

First line of execution contains the Alias name: <value> If keytool is used then alias name might be "mykey".

Use that alias name while packaging the application.

like image 186
Umit Kaya Avatar answered Oct 28 '22 14:10

Umit Kaya


i had the same issue my commands were

to generate key

 keytool -genkey -v -keystore testapp-key.keystore -alias testapp-key -keyalg RSA -keysize 2048 -validity 10000 

and then i did this to sign the app

jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore testapp-key.keystore testapp.apk testapp 

i got this error

jarsigner: Certificate chain not found for: testapp.<br/> project_foo must reference a valid KeyStore key entry containing a private key and corresponding public key certificate chain. 

then i replaced the alias 'testapp' in the jarsignir command with the key alias that is 'testapp-key' it is in first command i.e. key generation command

the command will look like this

jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore testapp-key.keystore testapp.apk testapp 

in your case it will be like this

 jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore C:\Path\\.keystore Foo.apk your-key-alias 
like image 31
tanveer ahmad dar Avatar answered Oct 28 '22 15:10

tanveer ahmad dar