adjust-icon

Retrieve Android certificate fingerprints

A certificate fingerprint is a cryptographic hash of the public information held within a certificate. As described in Google’s documentation, certificate fingerprints are public information designed to be used by third-parties for Android app verification. Adjust never requests private app signing keys.

Adjust uses certificate fingerprints for the following features:

FeatureHashing algorithmExample
SDK SignatureSHA-1C4:BD:07:91:BC:09:F8:B6:15:CD:BC:A3:3F:BC:68:8B:C2:EF:4F:F5
Android App LinksSHA-25655:FB:97:0F:46:0F:94:EC:07:EA:01:69:50:5A:20:3F:A0:91:60:A4:F1:33:58:EA:76:DC:54:9E:A7:6A:B9:1A

Check the table below for the best way to get certificate fingerprints based on your app’s distribution methods. When configuring the Adjust dashboard, be sure to add all certificate fingerprints that are applicable for your builds.

Hosting serviceRecommended approach
Google PlayGoogle Play Console
Google Play test trackGoogle Play Console - Internal app sharing
Huawei AppGallery - App Signing EnabledAppGallery Connect
• Huawei AppGallery - App Signing Disabled
• Other store, or direct APK download
• Local debug build
Keystore or APK

From Google Play Console

  1. In Google Play Console, go to your app.

  2. On the menu on the left side, select Test and release > select Setup > App signing.

  3. If you’re using Play App Signing, the App signing key certificate section will be present. In this section, copy the SHA-1 certificate fingerprint and/or SHA-256 certificate fingerprint.

    Screenshot of the app signing key certificate page in Google Play Console

  4. Under Upload key certificate, copy the SHA-1 certificate fingerprint and/or SHA-256 certificate fingerprint.

    Screenshot of the upload key certificate page in Google Play Console

From Google Play Console - Internal app sharing

  1. In Google Play Console, go to your app.

  2. On the menu on the left side, select Test and release > select Testing > Internal app sharing.

  3. Under Internal test certificate, copy the SHA-1 certificate fingerprint and/or SHA-256 certificate fingerprint.

    Screenshot of the internal app sharing key certificate page in Google Play Console

From AppGallery Connect

If you use Huawei App Signing, follow the below instructions. If you don’t use Huawei App Signing, retrieve your certificate fingerprints from a keystore or from an APK.

From a keystore

To retrieve certificate fingerprints from your keystore, follow these steps:

  1. Locate your keystore:

    • Self-managed keystore: path to the folder containing your .jks file
    • Android default debug keystore:
      • macOS/Linux: ~/.android/debug.keystore
      • Windows: %USERPROFILE%\.android\debug.keystore
  2. Run the below keytool command, replacing the parameter values:

    Terminal window
    # For a self-managed keystore (replace with path to your .jks file):
    keytool -list -v -keystore </path/to/keystore.jks> -alias <your_key_alias>
    # For the Android default debug keystore:
    keytool -list -v -keystore ~/.android/debug.keystore -alias androiddebugkey
  3. When prompted for the password, do the following:

    • For a self-managed keystore, enter the password you set during keystore generation.
    • For the Android default debug keystore, enter android.
  4. Retrieve the SHA1 and/or SHA256 values from the output:

    [...]
    SHA1: C4:BD:07:91:BC:09:F8:B6:15:CD:BC:A3:3F:BC:68:8B:C2:EF:4F:F5
    SHA256: 55:FB:97:0F:46:0F:94:EC:07:EA:01:69:50:5A:20:3F:A0:91:60:A4:F1:33:58:EA:76:DC:54:9E:A7:6A:B9:1A
    [...]

From an APK

To retrieve certificate fingerprints used to sign your APK, follow these steps:

  1. If needed, install Android Studio to get the apksigner command.

    • During Android Studio installation, ensure the Android SDK is installed (it’s included by default).
    • The Android SDK build-tools will be installed in the below locations:
      • macOS/Linux: ~/Library/Android/sdk/build-tools/<version>/
      • Windows: %LOCALAPPDATA%\Android\Sdk\build-tools\<version>\
  2. Run the below apksigner command, replacing the parameter value:

    Terminal window
    apksigner verify -v --print-certs <app.apk>
  3. Retrieve the SHA-1 and/or SHA-256 values from the output. Apps may show a single signature:

    [...]
    Signer #1 certificate SHA-1 digest: c4bd0791bc09f8b615cdbca33fbc688bc2ef4ff5
    Signer #1 certificate SHA-256 digest: 55fb970f460f94ec07ea0169505a203fa09160a4f13358ea76dc549ea76ab91a
    [...]

    Or multiple signatures:

    [...]
    Signer (minSdkVersion=24, maxSdkVersion=32) certificate SHA-1 digest: c4bd0791bc09f8b615cdbca33fbc688bc2ef4ff5
    Signer (minSdkVersion=24, maxSdkVersion=32) certificate SHA-256 digest: 55fb970f460f94ec07ea0169505a203fa09160a4f13358ea76dc549ea76ab91a
    [...]
    Signer (minSdkVersion=33, maxSdkVersion=2147483647) certificate SHA-1 digest: 9a3237ad99a97e8ea72df4fb096f28d544d5b8
    Signer (minSdkVersion=33, maxSdkVersion=2147483647) certificate SHA-256 digest: 92e961bf8b67043d1af6061b4a926f6a94e2bb78b46a096639e8e2c2fb7784b0
    [...]

    If multiple signatures are present, you’ll need to configure all of them in the Adjust dashboard.