Android keystore have a different fingerprint on my computer than on Expo Credentials?

I am trying to upload to Play Store a new version of my app, but gives me the error saying that it is signed with the wrong keystore (the fingerprints doesn’t match).

I’ve tried to download the keystore from Expo to my computer, generate an upload_certificate.pem and submit it to Google so they could change it, but it still differs from the one in Expo.

Interestingly, the backup I’d downloaded to my computer matches the fingerprint of the upload certificate, but even if I try to upload that backup to Expo, I end up with the same existing fingerprint.

What should I do in order to make them match?

Thank you very much!

  • bare workflow (expo prebuild)
  • eas-cli/0.55.1

Interestingly, the backup I’d downloaded to my computer matches the fingerprint of the upload certificate

how are you checking that?

I’ve tried to download the keystore from Expo to my computer, generate an upload_certificate.pem and submit it to Google so they could change it, but it still differs from the one in Expo.

how did you do that? Did the fingerprint in play console change (it might take a day or 2).

can you post the slug of the app and fingerprint for upload cert from play console?

I’m using this command (found online):

keytool -list -v -keystore [file].jks -alias upload -storepass [storepass] -keypass [keypass]

It did, it’s now the same fingerprint from the upload certificate == the downloaded keystore.

I’ve generated the .pem file using this command (also found online):

keytool -genkeypair -alias upload -keyalg RSA -keysize 2048 -validity 9125 -keystore keystore.jks

keytool -export -rfc -alias upload -file upload_certificate.pem -keystore keystore.jks 

My slug is @aniolpages/app-ratafia and the fingerprint from the Play console is
SHA-1: BF:73:64:A0:AC:3C:AB:D6:76:5E:FB:21:ED:6A:58:BD:B7:59:57:29
SHA-256: 99:91:1C:76:19:B6:25:C2:F5:13:EC:D1:0C:5B:2A:E8:A8:20:28:6E:FE:2D:3F:98:CF:F0:C6:9F:4E:A0:3D:AB

Thank you very much, @wkozyra !!

your first command generated new random keystore and the second one calculated pem file from it. If you still have that keystore you should upload that to expo via cli or website.

If you do not have it, then you need generate pem file again (just that last command) but you need to do it on the keystore you downloaded from expo. And send that new pem file to google again.

The problem is when I upload this keystore to the website, because it shows the old fingerprints (despite on my computer showing the new ones).

Is it possible to be a problem related with caching? Don’t think so, but…

You are uploading the same keystore you downloaded from expo, but you should upload the one that was created by

keytool -genkeypair -alias upload -keyalg RSA -keysize 2048 -validity 9125 -keystore keystore.jks

of course do not run that command now, you need that specific keystore.jks that was created in the past

Just figure it out what happened. I don’t have any clue of how keystores work, so didn’t figure this out before.

When I ran this command,

I added a new key in the keystore? (or something like this), whith the alias “upload”, instead the original one generated from Expo, “8be810e6eacb62ce250417c54e579263”. I only had to specify this alias in Expo and now the fingerprints match!

I will build again the app and try to upload it to the Play Store Console. I’ll let you know if I’m successful!

That’s what I get now:

🤖 Android build failed:
The alias specified for this keystore does not exist. Make sure you specified the correct value.

The Expo website shows the correct fingerprints for the key, tho…