Added in API level 30

FileIntegrityManager


public final class FileIntegrityManager
extends Object

java.lang.Object
   ↳ android.security.FileIntegrityManager


This class provides access to file integrity related operations.

Summary

Public methods

boolean isApkVeritySupported()

Returns whether fs-verity is supported on the device.

boolean isAppSourceCertificateTrusted(X509Certificate certificate)

This method was deprecated in API level VanillaIceCream. The feature is no longer supported, and this API now always returns false.

Inherited methods

Public methods

isApkVeritySupported

Added in API level 30
public boolean isApkVeritySupported ()

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.

Returns
boolean

isAppSourceCertificateTrusted

Added in API level 30
Deprecated in API level VanillaIceCream
public boolean isAppSourceCertificateTrusted (X509Certificate certificate)

This method was deprecated in API level VanillaIceCream.
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 Manifest.permission.INSTALL_PACKAGES or Manifest.permission.REQUEST_INSTALL_PACKAGES

Parameters
certificate X509Certificate: This value cannot be null.

Returns
boolean whether the certificate is trusted in the system

Throws
CertificateEncodingException