ANDROID JKS SHA1
How to Get the SHA1 from a JKS Keystore in Android
When you're working on Android app development, one common requirement is to generate a SHA1 fingerprint for your JKS (Java KeyStore) file. The SHA1 is often required for services like Google APIs, Firebase, or for OAuth authentication. If you're working with a keystore to sign your app, you might need to extract the SHA1 fingerprint from the keystore to enable certain services.
In this article, we'll walk through the steps to retrieve the SHA1 fingerprint from your JKS keystore.
What is SHA1?
SHA1 (Secure Hash Algorithm 1) is a cryptographic hash function that produces a 160-bit hash value, typically rendered as a 40-character hexadecimal number. It's commonly used in security certificates and for verifying the integrity of data. When working with Android app development, the SHA1 fingerprint is often used by services like Google APIs and Firebase to authenticate your app.
In the context of JKS keystores, the SHA1 fingerprint is used for:
- Google Play Services and Firebase Authentication.
- OAuth 2.0 authentication when you connect your app to APIs like Google Maps.
- App signing and ensuring app integrity.
How to Get SHA1 from a JKS Keystore
You can retrieve the SHA1 fingerprint of your JKS keystore using the keytool utility that comes with the Java Development Kit (JDK). Follow these steps:
1. Locate Your JKS Keystore File
Before you can extract the SHA1, you need to locate your JKS keystore file. Typically, this file is generated when you create a signed APK for release.
- If you don't know where the JKS file is, check the location specified in your Android Studio or build.gradle configuration under the
storeFilefield.
2. Open Terminal/Command Prompt
You will need to use the keytool utility from the Java JDK to extract the SHA1 fingerprint. Follow these steps for your operating system:
- Windows: Open Command Prompt.
- macOS/Linux: Open Terminal.
3. Run the Keytool Command
In your terminal or command prompt, run the following command:
keytool -list -v -keystore /path/to/your/keystore.jks
/path/to/your/keystore.jks: Replace this with the actual path to your JKS keystore file.-list: Tells keytool to list the entries in the keystore.-v: Provides verbose output, including the SHA1 fingerprint.
You will be prompted to enter the keystore password (the one you set when creating the JKS file). After entering the password, you’ll get detailed information about the keystore.
4. Find the SHA1 Fingerprint
After executing the above command, you should see an output similar to the following:
Keystore type: JKS
Keystore provider: SUN
Your keystore contains 1 entry
Alias name: my-key-alias
Creation date: Jun 1, 2025
Entry type: PrivateKeyEntry
Certificate chain length: 1
Certificate[1]:
Owner: CN=Your Name, O=Your Organization, L=Your Location, ST=Your State, C=Your Country
Issuer: CN=Your Name, O=Your Organization, L=Your Location, ST=Your State, C=Your Country
Serial number: 1234567890abcdef
Valid from: Wed Jun 01 12:00:00 UTC 2025 until: Tue Jun 01 12:00:00 UTC 2030
Certificate fingerprints:
SHA1: 3D:22:7B:F7:3D:8D:6F:EE:2B:22:3C:8B:19:7B:F5:DE:15:A1:94
SHA256: 8F:84:4B:F9:B3:21:7A:DC:AF:7A:81:33:FA:3B:32:A0:9E:98:2A:F5
MD5: C4:F7:6F:14:BD:9C:54:B5:9E:20:9D:6C:32:85:7A:74
Signature algorithm name: SHA256withRSA
Version: 3
The SHA1 fingerprint will appear under the Certificate fingerprints section. It will look something like this:
SHA1: 3D:22:7B:F7:3D:8D:6F:EE:2B:22:3C:8B:19:7B:F5:DE:15:A1:94
This is the SHA1 fingerprint of your keystore, which you can now use for services like Google APIs, Firebase, and others that require a SHA1 for authentication.
What to Do with Your SHA1 Fingerprint?
Once you have the SHA1 fingerprint of your JKS file, you can use it for a variety of purposes. Here are a few examples:
1. Google APIs (e.g., Google Maps)
To access Google APIs (like Google Maps, Google Places, etc.), you need to configure your API keys and link them to your SHA1 fingerprint:
- Go to the Google Cloud Console.
- Navigate to the API & Services section.
- Under Credentials, find your API Key and click Edit.
- Add the SHA1 fingerprint to the API Key restrictions to ensure only your app can use it.
2. Firebase Configuration
To set up Firebase services (such as Firebase Authentication, Firebase Realtime Database, or Firebase Cloud Messaging), you need to provide the SHA1 fingerprint of your keystore when setting up your Firebase project.
- Go to the Firebase Console.
- Add your Android app to the project.
- Under Project Settings, navigate to the General tab and locate the SHA1 section.
- Paste your SHA1 fingerprint there.
3. OAuth Authentication
If you are implementing OAuth 2.0 authentication with third-party services, you'll need to provide the SHA1 fingerprint for your client ID when configuring the OAuth consent screen in the Google Developer Console.
Conclusion
Getting the SHA1 fingerprint from a JKS keystore is a straightforward process that involves using the keytool utility from the Java Development Kit (JDK). Here's a quick summary of the steps:
- Locate your JKS keystore file.
- Run the keytool command in Terminal or Command Prompt to list the keystore information.
- Find the SHA1 fingerprint under the Certificate fingerprints section.
- Use the SHA1 fingerprint for Google APIs, Firebase, or other services that require it for authentication.
By following these steps, you'll be able to easily extract the SHA1 fingerprint from your JKS keystore and use it for various authentication tasks in your Android app development workflow.

0 Comments