GardenMobile & interfaces

Android signing fingerprints and Facebook key hashes

Distinguish local/upload certificates from the certificate that signs the application delivered by Play.

A signing fingerprint identifies a certificate. A Facebook key hash and a hexadecimal SHA-1 fingerprint are different encodings of the relevant digest, and neither is the private key itself.

Inspect the local certificate

The source’s Facebook-format command was:

keytool -exportcert -alias androiddebugkey -keystore keystore-debug.jks | openssl sha1 -binary | openssl base64
=> enter storePassword
smKEjJWY7ZgwHQvuL8qGjwMC6dk=

Its verbose certificate inspection showed:

keytool -exportcert -alias androiddebugkey -keystore keystore-debug.jks -list -v
=> enter storePassword
Alias name: androiddebugkey
Creation date: May 5, 2016
Entry type: PrivateKeyEntry
Certificate chain length: 1
Certificate[1]:
Owner: C=US, O=Android, CN=Android Debug
Issuer: C=US, O=Android, CN=Android Debug
Serial number: 1
Valid from: Thu May 05 15:32:50 ICT 2016 until: Sat Apr 28 15:32:50 ICT 2046
Certificate fingerprints:
     MD5:  8E:B3:66:00:35:D9:88:80:D5:DC:84:F9:2A:AE:0B:98
     SHA1: B2:62:84:8C:95:98:ED:98:30:1D:0B:EE:2F:CA:86:8F:03:02:E9:D9
     SHA256: 45:ED:59:3D:6F:41:F8:5F:04:45:FC:7D:AD:77:1A:9B:B4:33:43:27:F4:30:92:10:8E:07:D9:E9:AA:6F:8B:9C
     Signature algorithm name: SHA1withRSA
     Version: 1

Those values belong to the recorded Android debug-certificate example, not a signing identity to configure for another application.

Check the delivered application’s signer

With Play App Signing, the upload certificate and the app-signing certificate have different roles. Match the integration to the signer of the binary users actually receive rather than assuming a local release/upload key is the delivered signer.

The earlier hexadecimal-to-Base64 conversion was:

echo <SHA-1 HEX> | xxd -r -p | openssl base64

ex: 
echo B2:62:84:8C:95:98:ED:98:30:1D:0B:EE:2F:CA:86:8F:03:02:E9:D9 | xxd -r -p | openssl base64

The angle-bracketed first form is notation, not shell text to paste unchanged. No keystore, certificate, Play setting, or authentication integration was changed for this revision.

← Back to the garden