diff options
| author | 2015-11-06 21:28:24 +0000 | |
|---|---|---|
| committer | 2015-11-06 21:28:24 +0000 | |
| commit | 6e92454065d526d572b2becb7d5d41282aba334e (patch) | |
| tree | 23181ef6bd96c1ef50b485b09f36d29737ea6ccd | |
| parent | 52fe096d862ec462e7702d59964c178354b3bbd0 (diff) | |
| parent | a8fd35664070134f0596238ad0c5bdaa3adc221b (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.java | 29 |
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; |