Merge "Also load fs-verity cert from /system/etc/security/fsverity/" into rvc-dev am: 05a0fc26e0

Change-Id: I555437aca791cdf4de3672b0cc6a109f289f4cac
This commit is contained in:
TreeHugger Robot
2020-04-07 02:14:51 +00:00
committed by Automerger Merge Worker

View File

@@ -24,6 +24,7 @@ import android.content.pm.PackageManager;
import android.content.pm.PackageManagerInternal; import android.content.pm.PackageManagerInternal;
import android.os.Binder; import android.os.Binder;
import android.os.Build; import android.os.Build;
import android.os.Environment;
import android.os.IBinder; import android.os.IBinder;
import android.os.SystemProperties; import android.os.SystemProperties;
import android.os.UserHandle; import android.os.UserHandle;
@@ -37,6 +38,7 @@ import java.io.ByteArrayInputStream;
import java.io.File; import java.io.File;
import java.io.IOException; import java.io.IOException;
import java.nio.file.Files; import java.nio.file.Files;
import java.nio.file.Path;
import java.security.cert.Certificate; import java.security.cert.Certificate;
import java.security.cert.CertificateException; import java.security.cert.CertificateException;
import java.security.cert.CertificateFactory; import java.security.cert.CertificateFactory;
@@ -131,12 +133,17 @@ public class FileIntegrityService extends SystemService {
// duplicate the same loading logic here. // duplicate the same loading logic here.
// Load certificates trusted by the device manufacturer. // Load certificates trusted by the device manufacturer.
loadCertificatesFromDirectory("/product/etc/security/fsverity"); // NB: Directories need to be synced with system/security/fsverity_init/fsverity_init.cpp.
final String relativeDir = "etc/security/fsverity";
loadCertificatesFromDirectory(Environment.getRootDirectory().toPath()
.resolve(relativeDir));
loadCertificatesFromDirectory(Environment.getProductDirectory().toPath()
.resolve(relativeDir));
} }
private void loadCertificatesFromDirectory(String path) { private void loadCertificatesFromDirectory(Path path) {
try { try {
File[] files = new File(path).listFiles(); File[] files = path.toFile().listFiles();
if (files == null) { if (files == null) {
return; return;
} }