diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/frontends/android/src/org/strongswan/android/logic/TrustedCertificateManager.java | 54 | ||||
-rw-r--r-- | src/frontends/android/src/org/strongswan/android/ui/TrustedCertificateListFragment.java | 3 |
2 files changed, 25 insertions, 32 deletions
diff --git a/src/frontends/android/src/org/strongswan/android/logic/TrustedCertificateManager.java b/src/frontends/android/src/org/strongswan/android/logic/TrustedCertificateManager.java index a5cea4499..6e0c9f7a7 100644 --- a/src/frontends/android/src/org/strongswan/android/logic/TrustedCertificateManager.java +++ b/src/frontends/android/src/org/strongswan/android/logic/TrustedCertificateManager.java @@ -36,6 +36,25 @@ public class TrustedCertificateManager private boolean mLoaded; private final ArrayList<KeyStore> mKeyStores = new ArrayList<KeyStore>(); + public enum TrustedCertificateSource + { + SYSTEM("system:"), + USER("user:"), + LOCAL("local:"); + + private final String mPrefix; + + private TrustedCertificateSource(String prefix) + { + mPrefix = prefix; + } + + private String getPrefix() + { + return mPrefix; + } + } + /** * Private constructor to prevent instantiation from other classes. */ @@ -202,44 +221,17 @@ public class TrustedCertificateManager } /** - * Get only the system-wide CA certificates. - * @return Hashtable mapping aliases to certificates - */ - public Hashtable<String, X509Certificate> getSystemCACertificates() - { - return getCertificates("system:"); - } - - /** - * Get only the CA certificates installed by the user. - * @return Hashtable mapping aliases to certificates - */ - public Hashtable<String, X509Certificate> getUserCACertificates() - { - return getCertificates("user:"); - } - - /** - * Get only the local CA certificates installed by the user. - * @return Hashtable mapping aliases to certificates - */ - public Hashtable<String, X509Certificate> getLocalCACertificates() - { - return getCertificates("local:"); - } - - /** - * Get all certificates whose aliases start with the given prefix. - * @param prefix prefix to filter certificates + * Get all certificates from the given source. + * @param source type to filter certificates * @return Hashtable mapping aliases to certificates */ - private Hashtable<String, X509Certificate> getCertificates(String prefix) + public Hashtable<String, X509Certificate> getCACertificates(TrustedCertificateSource source) { Hashtable<String, X509Certificate> certs = new Hashtable<String, X509Certificate>(); this.mLock.readLock().lock(); for (String alias : this.mCACerts.keySet()) { - if (alias.startsWith(prefix)) + if (alias.startsWith(source.getPrefix())) { certs.put(alias, this.mCACerts.get(alias)); } diff --git a/src/frontends/android/src/org/strongswan/android/ui/TrustedCertificateListFragment.java b/src/frontends/android/src/org/strongswan/android/ui/TrustedCertificateListFragment.java index 2f07b96c2..918393fe6 100644 --- a/src/frontends/android/src/org/strongswan/android/ui/TrustedCertificateListFragment.java +++ b/src/frontends/android/src/org/strongswan/android/ui/TrustedCertificateListFragment.java @@ -24,6 +24,7 @@ import java.util.Map.Entry; import org.strongswan.android.R; import org.strongswan.android.logic.TrustedCertificateManager; +import org.strongswan.android.logic.TrustedCertificateManager.TrustedCertificateSource; import org.strongswan.android.security.TrustedCertificateEntry; import org.strongswan.android.ui.adapter.TrustedCertificateAdapter; @@ -172,7 +173,7 @@ public class TrustedCertificateListFragment extends ListFragment implements Load Hashtable<String,X509Certificate> certificates; List<TrustedCertificateEntry> selected; - certificates = mUser ? certman.getUserCACertificates() : certman.getSystemCACertificates(); + certificates = mUser ? certman.getCACertificates(TrustedCertificateSource.USER) : certman.getCACertificates(TrustedCertificateSource.SYSTEM); selected = new ArrayList<TrustedCertificateEntry>(); for (Entry<String, X509Certificate> entry : certificates.entrySet()) { |