summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Chad Brubaker <cbrubaker@google.com> 2015-11-06 21:28:24 +0000
committer android-build-merger <android-build-merger@google.com> 2015-11-06 21:28:24 +0000
commit6e92454065d526d572b2becb7d5d41282aba334e (patch)
tree23181ef6bd96c1ef50b485b09f36d29737ea6ccd
parent52fe096d862ec462e7702d59964c178354b3bbd0 (diff)
parenta8fd35664070134f0596238ad0c5bdaa3adc221b (diff)
Merge "Fix directory check in UserCertificateSource" am: 1483ee3aa5 am: 2d7d8401a9
am: a8fd356640 * commit 'a8fd35664070134f0596238ad0c5bdaa3adc221b': Fix directory check in UserCertificateSource
-rw-r--r--core/java/android/security/net/config/UserCertificateSource.java29
1 files changed, 14 insertions, 15 deletions
diff --git a/core/java/android/security/net/config/UserCertificateSource.java b/core/java/android/security/net/config/UserCertificateSource.java
index ca246e1e7cde..e9d5aa1e2f34 100644
--- a/core/java/android/security/net/config/UserCertificateSource.java
+++ b/core/java/android/security/net/config/UserCertificateSource.java
@@ -62,22 +62,21 @@ public class UserCertificateSource implements CertificateSource {
}
final File configDir = Environment.getUserConfigDirectory(UserHandle.myUserId());
final File userCaDir = new File(configDir, "cacerts-added");
- if (!userCaDir.isDirectory()) {
- throw new AssertionError(userCaDir + " is not a directory");
- }
-
Set<X509Certificate> userCerts = new ArraySet<X509Certificate>();
- for (String caFile : userCaDir.list()) {
- InputStream is = null;
- try {
- is = new BufferedInputStream(
- new FileInputStream(new File(userCaDir, caFile)));
- userCerts.add((X509Certificate) certFactory.generateCertificate(is));
- } catch (CertificateException | IOException e) {
- // Don't rethrow to be consistent with conscrypt's cert loading code.
- continue;
- } finally {
- IoUtils.closeQuietly(is);
+ // If the user hasn't added any certificates the directory may not exist.
+ if (userCaDir.isDirectory()) {
+ for (String caFile : userCaDir.list()) {
+ InputStream is = null;
+ try {
+ is = new BufferedInputStream(
+ new FileInputStream(new File(userCaDir, caFile)));
+ userCerts.add((X509Certificate) certFactory.generateCertificate(is));
+ } catch (CertificateException | IOException e) {
+ // Don't rethrow to be consistent with conscrypt's cert loading code.
+ continue;
+ } finally {
+ IoUtils.closeQuietly(is);
+ }
}
}
mUserCerts = userCerts;