Android certificates are digital โpassportsโ that confirm the authenticity of sites, applications and network connections. They provide data encryption, protection against phishing, and the correct operation of corporate VPNs, banking applications, or even system updates. But where to look for them if you need to check the authenticity of a certificate, remove a suspicious one, or install a new one? In this article we will look at all the methods - from standard settings to tools for advanced users.
The problem is that Android hides most certificates deep in system files, and the interface for viewing them depends on the OS version and the manufacturer's shell (MIUI, One UI, ColorOS etc.). In addition, user certificates (manually installed) and system certificates (hardwired into the firmware) are stored in different places. We will show you how to access them without and with root access, and also warn about the risks of careless manipulation.
1. Certificates in Android settings: standard method
The easiest method is to use the built-in device settings. It is suitable for viewing user certificates (installed by you or applications) and part system. The instructions are relevant for Android 10โ14, but the path may differ slightly on custom firmware.
Open Settings โ Security โ Advanced โ Encryption and Credentials โ User Certificates. Here you will see a list of manually installed certificates (for example, for working with corporate email or VPN). To view the system ones, go to the Trusted credentials section - certificates pre-installed on the system will be displayed there (for example, Letโs Encrypt, DigiCert or GlobalSign).
- ๐ User certificates โthose that you imported yourself (files
.crt,.p12,.pfxYou can delete them directly from this menu. - ๐ก๏ธ System certificates โbuilt into the firmware. not possible.
- ๐ Wi-Fi/VPN certificates โcan be displayed separately if used for authentication on networks.
On some devices (for example, Samsung or Xiaomi) the path may look different:
- For One UI:
Settings โ Biometrics and security โ Other security settings โ View security certificates. - For MIUI:
Settings โ Passwords and security โ Privacy โ Advanced โ User certificates.
โ ๏ธ Attention: Removing a user certificate may disrupt the operation of VPN, corporate email or banking applications. If the certificate is installed by an application (for example, 1C or CryptoPro), its deletion will lead to authentication errors.
2. Viewing certificates through applications
If the built-in settings do not show the required certificates or you want to see their detailed properties (issuer, expiration date, fingerprint), use third-party utilities. They provide more information than the standard Android interface.
Here are the top 3 applications for working with certificates:
- ๐ฑ Certificate Inspector โshows all installed certificates, including system ones, with the ability to export to a file. Supports checking the chain of trust.
- ๐ Network Security Config Analyzer โanalyzes certificates used by applications for network connections (useful for debugging HTTPS errors).
- ๐ ๏ธ PortDroid Network Analyzer โincludes a module to check SSL/TLS certificates of sites and applications in real time.
Example of working with Certificate Inspector:
- Install the application from Google Play.
- Launch it and provide access to the certificate store (confirmation via
adbon some devices may be required). - In the main menu, select the tab
User(user) orSystem(system). - Click on the certificate to see its properties:
Issuer(issuer),Subject(subject),Valid From/To(validity period),Fingerprint(fingerprint).
For advanced users, the function of exporting a certificate to a file .pem or .deris useful. This is useful if you need to transfer a certificate. to another device or analyze it on a PC using OpenSSL.
โ ๏ธ Attention: Some applications (for example, banking) block work on devices with user certificates if they do not comply with their security policy. Before installing a new certificate, check the application requirements.
โ๏ธ Checking the certificate using Certificate Inspector
3. Certificates in the Android file system (for advanced users)
All certificates on Android are stored in the file system in encrypted or open form. Their location depends on the type:
| Certificate type | Path in the file system | Are root access required? | Notes |
|---|---|---|---|
| Custom | /data/misc/user/0/cacerts-added/ |
Yes | Files with extension .0 (for example, hash_12345678.0). |
| System | /system/etc/security/cacerts/ |
No (but you need read permissions) | Files with hash names (for example, a0d4b52d.0). |
| Application certificates | /data/data/ |
Yes | Certificates used by specific applications (for example, VPN clients) are stored here. |
| Root (trust store) | /apex/com.android.conscrypt/cacerts/ (Android 10+) |
No (but read rights are required) | List of trusted root certification authorities (CA). |
To view certificate files without root access, you can use adb shell:
adb shell ls /system/etc/security/cacerts/
adb pull /system/etc/security/cacerts/ ~/Downloads/android_certs
This command will copy the system certificates to a folder Downloads on your PC. To read them, rename the files by adding the extension .crtand open by double clicking. (Windows/Linux/macOS recognizes them as certificates).
To work with user certificates without root access, use adb backup:
adb backup -f certs.ab -noapk com.android.providers.settings
This backup will contain settings, including certificates. To extract them, you will need a special utility, for example, android-backup-extractor.
How to convert a certificate file from .0 to .0 .crt?
The certificate files in the cacerts folder have the extension .0, but in fact they are binary data in DER format. To convert them to the readable PEM format (with the .crt extension), use the OpenSSL command:
openssl x509 -inform DER -in a0d4b52d.0 -out certificate.crt
After this, the file certificate.crt can be opened with any text editor or a certificate viewer.
4. Viewing website certificates in the browser
If you need to check the certificate of a specific site (for example, to ensure its authenticity before entering payment data), you can do this directly in the browser. The instructions are suitable for Chrome, Firefox And Samsung Internet.
Open the site. whose certificate you want to check, and follow these steps:
- Click on the lock icon ๐ in the address bar.
- Select
Certificate(in Chrome) orMore details โ View certificate(in Firefox). - In the tab
Generalyou will see to whom the certificate was issued and by whom it was signed. - Go to the
CompositionorDetailstab to see:- ๐
Validity period (
Valid fromโValid to). - ๐ค Issuer (
Issuer). - ๐ Fingerprint (
ThumbprintorSHA-256 Fingerprint). - ๐ Chain of trust (
Certification Path).
- ๐
Validity period (
If the certificate is self-signed (issued by the site itself) or expired, the browser will show warning NET::ERR_CERT_INVALID. In this case, it is better not to continue working with the site - this may be a phishing attempt.
openssl s_client -connect example.com:443 -servername example.com | openssl x509 -noout -text
Replace example.com to the desired domain. The command will display complete information about the certificate, including its chain.-->
5. Using ADB for deep certificate analysis
ADB (Android Debug Bridge) allows you to access certificates that are not visible in the standard interface. This method is useful for diagnosing problems with HTTPS, VPN, or enterprise applications.
Here's how to list all trusted certificates via adb:
adb shell cmd package list certificates
This command will show packages that install their own certificates (for example, com.android.vending for Google Play or enterprise applications).
To export all system certificates to a file on a PC:
adb shell "cat /system/etc/security/cacerts/*" > all_certs.bin
openssl x509 -inform DER -in all_certs.bin -out all_certs.pem
The file all_certs.pem will contain all system certificates in readable form. To analyze a specific certificate, use its hash name (for example, a0d4b52d.0).
If you want to check which certificates a specific application uses, run:
adb shell dumpsys package com.example.app | grep "cert"
Replace com.example.app with the application package identifier (for example, com.whatsapp).
โ ๏ธ Attention: Commandsadbrequire enabled USB debugging (Settings โ For developers โ USB debugging). On some devices (for example, Huawei or Xiaomi), additional permission may be required in the menuAdditional settings for developers.
ADB is the most powerful tool for working with certificates, but requires technical skills. Use it if standard methods do not provide the necessary information or you need bulk export of certificates for analysis.
6. Certificates in corporate (MDM) profiles
If your device is managed through MDM (Mobile Device Management, for example, Microsoft Intune, VMware Workspace ONE or IBM MaaS360), certificates can be installed automatically through a corporate profile. They cannot be deleted or changed without administrator rights.
To view certificates installed through MDM:
- Open
Settings โ Accounts(orUsers and accounts). - Find the section
Working profileorManaged profile(the name depends on the MDM solution). - Go to
Security โ CertificatesorCredentials. - Certificates installed by the administrator will be displayed here. Usually they are marked as
Managed by organization. - ๐ They cannot be deleted manually - only through the MDM console.
- ๐ฑ They can block the installation of other certificates (for example, for a personal VPN).
- ๐ When deleting a work profile, all associated certificates will also be deleted.
Features of working with MDM certificates:
If you encounter an error NET::ERR_CERT_AUTHORITY_INVALID on corporate websites, most likely the problem is in the certificate installed via MDM. Contact your organization's support service to update it.
7. Checking certificates via Wireshark (for specialists)
If you need to. analyze network traffic and check which certificates are used when connecting to servers, use Wireshark or tcpdump. This method requires root access or special proxy settings.
Instructions for Wireshark:
- Install Wireshark on your PC and connect your Android device via USB with debugging enabled.
- Start traffic capture on the interface
adb:adb tcpdump -i any -s 0 -w /sdcard/capture.pcap - Reproduce the problem (for example, open a site with a certificate error).
- Stop capturing (
Ctrl+C) and copy the file to your PC:adb pull /sdcard/capture.pcap ~/Downloads/ - Open
capture.pcapto Wireshark and apply a filtertls.handshake.certificateto see all transferred certificates.
In the window Wireshark you can:
- ๐ See the chain of certificates (from root to final).
- ๐ Check fingerprints (
Fingerprint) and deadlines actions. - ๐จ Identify suspicious certificates (for example, self-signed or with an incorrect chain).
โ ๏ธ Attention: Capturing traffic without the consent of network users may violate privacy laws. Use this method only to diagnose your own devices or with the permission of the network administrator.
8. Common problems with certificates and their solutions
Errors related to certificates can block access to sites, applications or corporate resources Here are the most common problems and ways to fix them:
| Error | Cause | Solution |
|---|---|---|
NET::ERR_CERT_DATE_INVALID |
The certificate is expired or not yet valid. | Update the date and time on the device or contact the site administrator. |
ERR_CERT_AUTHORITY_INVALID |
The certificate was issued by an untrusted authority (or is missing from the Android storage). | Install the authority's root certificate manually or add it to the trusted ones. |
SSLHandshakeException in the application |
The application uses an untrusted certificate or protocol. | Update the application or configure Network Security Config in its manifest. |
| Error connecting to Wi-Fi with certificate | Invalid certificate for network authentication (EAP-TLS). | Delete the network, import the correct certificate and connect again. |
java.security.cert.CertPathValidatorException |
The certificate chain is incomplete or damaged. | Check the chain via OpenSSL or reinstall the certificates. |
If the problem occurs after updating Android, the manufacturer may have updated the list of trusted root certificates, and old applications have stopped working. In this case:
- Check if your antivirus or VPN is blocking it. connection.
- Update the problematic application to the latest version.
- If you are using a custom certificate, reinstall it.
On devices with Android 10+, Google blocks trust in custom certificates for applications whose target SDK is 24+ (Android 7.0). This means that even if you install the certificate, modern applications. (for example, Chrome or Gmail) ignore it. To bypass this restriction, you need to configure Network Security Config in the application or use special builds (for example, Chrome with the flag --ignore-certificate-errors).
Most problems with certificates are resolved by updating the time on the device, reinstalling the certificate, or clearing the browser/application cache. If the error persists, check the certificate for authenticity through third-party tools (for example, SSL Labs).
FAQ: Frequently asked questions about certificates on Android
Is it possible to delete system certificates without root access?
No, system certificates are built into the firmware and are protected from changes. They can only be deleted with root access or through custom recovery (for example, TWRP). However, this may disrupt the system and applications, so it is not recommended.
How to transfer certificates to another Android device?
Export the certificate to a file .p12 or .pfx (with password) via Certificate Inspector or adb, then import it to the new device via Settings โ Security โ Install from storage. Make sure that a password or PIN is set on the new device - otherwise the import may be blocked.
Why doesn't the browser trust the certificate I installed?
With Android 7.0+, applications ignore user certificates if they are targetSdkVersion >= 24. This is a security limitation. To force the application to trust your certificate, you need to:
- Change it
Network Security Config(requires access to the source code). - Use a special build of the application (for example, Chrome for enterprise).
- Install the certificate into the system storage (root access required).
How to check if Is the site's certificate forged?
Compare its fingerprint (SHA-256 Fingerprint) with the official value published by the site owner. For example, the certificate fingerprint google.com can be found in their documentation. Also use online checks such as SSL Shopper or DigiCert SSL Tools.
Is it possible to disable certificate verification in Android?
Technically yes, but it is extremely insecure. Disabling verification allows attackers to intercept your traffic (man-in-the-middle attack). If you need to test an application with a self-signed certificate, use Network Security Config to disable verification only for that application, not for the whole application. system.