Stay organized with collections
Save and categorize content based on your preferences.
FileIntegrityManager
class FileIntegrityManager
This class provides access to file integrity related operations.
Restricted for SDK Runtime environment in API level 34.
Summary
Public methods |
Boolean |
Returns whether fs-verity is supported on the device.
|
Boolean |
Returns whether the given certificate can be used to prove app's install source.
|
Public methods
isApkVeritySupported
fun isApkVeritySupported(): Boolean
Returns whether fs-verity is supported on the device. fs-verity provides on-access verification, although the app APIs are only made available to apps in a later SDK version. Only when this method returns true, the other fs-verity APIs in the same class can succeed.
The app may not need this method and just call the other APIs normally and handle any failure. If some app feature really depends on fs-verity (e.g. protecting integrity of a large file download), an early check of support status may avoid any cost if it is to fail late.
Note: for historical reasons this is named isApkVeritySupported()
instead of isFsVeritySupported()
. It has also been available since API level 30, predating the other fs-verity APIs.
isAppSourceCertificateTrusted
fun isAppSourceCertificateTrusted(certificate: X509Certificate): Boolean
Deprecated: The feature is no longer supported, and this API now always returns false.
Returns whether the given certificate can be used to prove app's install source. Always return false if the feature is not supported.
A store can use this API to decide if a signature file needs to be downloaded. Also, if a store has shipped different certificates before (e.g. with stronger and weaker key), it can also use this API to download the best signature on the running device.
Requires android.Manifest.permission#INSTALL_PACKAGES
or android.Manifest.permission#REQUEST_INSTALL_PACKAGES
Return |
Boolean |
whether the certificate is trusted in the system |
Content and code samples on this page are subject to the licenses described in the Content License. Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
Last updated 2025-08-20 UTC.
[null,null,["Last updated 2025-08-20 UTC."],[],[],null,["# FileIntegrityManager\n\nAdded in [API level 30](https://developer.android.com/guide/topics/manifest/uses-sdk-element.html#ApiLevels)\n\nFileIntegrityManager\n====================\n\n*** ** * ** ***\n\nKotlin \\|[Java](/reference/android/security/FileIntegrityManager \"View this page in Java\") \n\n```\nclass FileIntegrityManager\n```\n\n|---|--------------------------------------------|\n| [kotlin.Any](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html) ||\n| ↳ | [android.security.FileIntegrityManager](#) |\n\nThis class provides access to file integrity related operations. \nRestricted for SDK Runtime environment in API level 34.\n\nSummary\n-------\n\n| Public methods ||\n|------------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) | [isApkVeritySupported](#isApkVeritySupported())`()` Returns whether fs-verity is supported on the device. |\n| [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) | [isAppSourceCertificateTrusted](#isAppSourceCertificateTrusted(java.security.cert.X509Certificate))`(`certificate:` `[X509Certificate](../../java/security/cert/X509Certificate.html#)`)` Returns whether the given certificate can be used to prove app's install source. |\n\nPublic methods\n--------------\n\n### isApkVeritySupported\n\nAdded in [API level 30](https://developer.android.com/guide/topics/manifest/uses-sdk-element.html#ApiLevels) \n\n```\nfun isApkVeritySupported(): Boolean\n```\n\nReturns whether fs-verity is supported on the device. fs-verity provides on-access verification, although the app APIs are only made available to apps in a later SDK version. Only when this method returns true, the other fs-verity APIs in the same class can succeed.\n\nThe app may not need this method and just call the other APIs normally and handle any failure. If some app feature really depends on fs-verity (e.g. protecting integrity of a large file download), an early check of support status may avoid any cost if it is to fail late.\n\nNote: for historical reasons this is named `isApkVeritySupported()` instead of `isFsVeritySupported()`. It has also been available since API level 30, predating the other fs-verity APIs. \n\n### isAppSourceCertificateTrusted\n\nAdded in [API level 30](https://developer.android.com/guide/topics/manifest/uses-sdk-element.html#ApiLevels) \nDeprecated in [API level 35](https://developer.android.com/guide/topics/manifest/uses-sdk-element.html#ApiLevels) \n\n```\nfun isAppSourceCertificateTrusted(certificate: X509Certificate): Boolean\n```\n\n**Deprecated:** *The feature is no longer supported, and this API now always returns false.*\n\nReturns whether the given certificate can be used to prove app's install source. Always return false if the feature is not supported.\n\nA store can use this API to decide if a signature file needs to be downloaded. Also, if a store has shipped different certificates before (e.g. with stronger and weaker key), it can also use this API to download the best signature on the running device. \nRequires [android.Manifest.permission#INSTALL_PACKAGES](../Manifest.permission.html#INSTALL_PACKAGES:kotlin.String) or [android.Manifest.permission#REQUEST_INSTALL_PACKAGES](../Manifest.permission.html#REQUEST_INSTALL_PACKAGES:kotlin.String)\n\n| Parameters ||\n|---------------|-------------------------------------------------------------------------------------------------|\n| `certificate` | [X509Certificate](../../java/security/cert/X509Certificate.html#): This value cannot be `null`. |\n\n| Return ||\n|------------------------------------------------------------------------------------|--------------------------------------------------|\n| [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) | whether the certificate is trusted in the system |"]]