Merge "Also load fs-verity cert from /system/etc/security/fsverity/" into rvc-dev
This commit is contained in:
committed by
Android (Google) Code Review
commit
05a0fc26e0
@@ -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;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user