Attest the trustworthiness of a device using asymmetric cryptography
About this app
Use cases:
- Attest the state of a Linux computer
When your computer is in a trustworthy state, you can generate a private key hidden in the TPM2 of your computer. This private key can be sealed with the current state of the computer (PCRs). Then the computer can only sign a message with this key when it is in the correct state according to the PCRs. For example, you can seal the key against the secure boot state (PCR7). If your computer is booting an operating system signed by another vendor, the TPM2 cannot unseal the private key. So if your computer can generate a correct signature, it is in this known state. You can create a sealed private key and create such a signature with cryptographic-id-rs (https://gitlab.com/cryptographic_id/cryptographic-id-rs). This is similar to tpm2-totp (https://github.com/tpm2-software/tpm2-totp) but uses asymmetric cryptography. This means you do not need to keep the verification code secure. You can share it safely with the world.
- Verify the identity of a phone
You can generate a private key when your phone is in a trustworthy state. If your phone can create a correct signature, you know it is the same phone. Since the operating system can access the private key, the security guarantees are much weaker than with a TPM2. So the verification is just as secure as your phone. If you use Graphene OS, also have a look at Auditor (https://attestation.app/tutorial).
- Verify that a person is in possession of a private key
This works as well as the section above but has the same shortcomings. It can be used to verify someone in person when he sends his public key to you in advance over a secure channel.
Licensed under MIT.
What's New in v0.5.7
Imported from the F-Droid repository index.
Version history
Apr 14, 2026 · 52.2 MB · Android API 24–36 · code 23
Imported from the F-Droid repository index.
SHA-256 90b2d626c66f3aef179437105513f6354cb335f66e06bd8c2345492f4daafc76
Jul 15, 2025 · 23.1 MB · Android API 21–35 · code 22
Imported from the F-Droid repository index.
- - Update dependencies
- - Auto-focus message on signing
- - Update F-Droid dependencies
SHA-256 b94a788fe54757d502398d39e3cae4ed0156241a3213df29fb2d64e9cc9c3ae0
Apr 9, 2025 · 22.9 MB · Android API 21–35 · code 21
Imported from the F-Droid repository index.
- - Include protoc compiler in pubspec.lock
SHA-256 19fcbaf2e75050258c0575e9756c0720ed619b82ad82815e6dd84ac63dbf3a59
Will it run on your device?
92%
- Runs on a broad range of modern Android versions.
- Multiple CPU architectures are covered.
- Aligned with the latest Android target SDK expectations.
Installation Guide
Open Settings on your Android device
Go to Security → Unknown sources (or Install unknown apps)
Enable "Allow from this source" for your browser or file manager
Open the downloaded APK file from your Downloads folder
Tap "Install" and wait for installation to complete
Launch the app from your home screen
Make sure to re-enable Unknown Sources restrictions after installation for security.
How to install this safely
How to verify the file you downloaded
Before you install anything, confirm the file is the one described here. On a computer, run shasum -a 256 your-download.apk (macOS or Linux) or certutil -hashfile your-download.apk SHA256 (Windows), then compare the output character-for-character with the SHA-256 on this page. If a single character differs, the file is not the build we recorded — delete it.
What the signing certificate proves
Every Android app is signed with a private key that only its developer holds. The fingerprint on this page is a hash of the matching public certificate, and it proves continuity rather than identity: it tells you a build came from whoever signed the earlier ones. Android enforces this at install time — if a package claiming to be io.gitlab.cryptographic_id is signed with a different key, the system will refuse to install it over your existing copy. A fingerprint that changes between releases is worth pausing on, because a repackaged app that has been modified by someone else cannot keep the original signature.
How to roll back to an earlier version
If the current release misbehaves, 0.5.6 is the last build before it. Android will not install an older version code over a newer one, so you must uninstall Cryptographic ID first — which clears its local data unless you have a backup. Reinstall the older APK only if its signing fingerprint matches the build you already trust, and check the API range: an older release may target an Android version your device has moved past.
Why we list sources instead of hosting everything
The official store channel is almost always the right choice: it updates automatically and carries the publisher's own distribution guarantees. A direct APK is useful when a device has no store access, when a rollout has not reached your region, or when you need a specific version — and only when the publisher has authorized that copy. APKBrowse does not list pirated, cracked, or unauthorized rebuilds of Cryptographic ID, and a listing is removed when the evidence for it stops holding up.
Get Cryptographic ID
Every source we list for io.gitlab.cryptographic_id is legality-reviewed. Pirated or cracked builds are never offered.
Other sources
F-Droid listing
officialF-Droid builds this app from source and signs it. This is its official listing, with older builds and full release notes.
Source code
verified publisherThe upstream repository this build is compiled from.
We check legality and signature continuity, but device behaviour still varies. Install at your own discretion.
App Information
Security Verification
We record provenance; we do not run malware scans. Verify the hash yourself before installing.
SHA-256 Hash
90b2d626c66f3aef179437105513f6354cb335f66e06bd8c2345492f4daafc76
Signing certificate
2c63ae15024bd36e4cbdfc58d5548a7299c70c98a1ca011cba2ab1339b034528
Permissions Required
Previous Versions
The signing certificate fingerprint for this release is on record, so a build that does not match it did not come from this publisher.
Report a problem with this listing
A listing is only as good as its corrections. If a source is broken, a signature looks wrong, or this app should not be here, tell the moderation team.