diff options
author | BogDan Vatra <bogdan@kde.org> | 2012-11-04 11:34:42 +0200 |
---|---|---|
committer | BogDan Vatra <bogdan@kde.org> | 2012-11-04 11:34:42 +0200 |
commit | d111f59287c28afc3444ea5013d69c371c3c0e50 (patch) | |
tree | cebc18fb173315f3ca24583689cebde6af9b629d | |
parent | 3d1bddeb80cb133d221af916cb587e9f4f5e5641 (diff) |
Fix ICS+ SSL root cretificates extraction
-rw-r--r-- | Ministro/src/org/kde/necessitas/ministro/MinistroActivity.java | 19 |
1 files changed, 16 insertions, 3 deletions
diff --git a/Ministro/src/org/kde/necessitas/ministro/MinistroActivity.java b/Ministro/src/org/kde/necessitas/ministro/MinistroActivity.java index 85143cb..8ef1ac0 100644 --- a/Ministro/src/org/kde/necessitas/ministro/MinistroActivity.java +++ b/Ministro/src/org/kde/necessitas/ministro/MinistroActivity.java @@ -549,9 +549,22 @@ public class MinistroActivity extends Activity Library.removeAllFiles(path); try { - KeyStore ks= KeyStore.getInstance(KeyStore.getDefaultType()); - FileInputStream instream = new FileInputStream(new File("/system/etc/security/cacerts.bks")); - ks.load(instream, null); + KeyStore ks = null; + if (Build.VERSION.SDK_INT>13) + { + ks = KeyStore.getInstance("AndroidCAStore"); + ks.load(null, null); + } + else + { + ks= KeyStore.getInstance(KeyStore.getDefaultType()); + String cacertsPath=System.getProperty("javax.net.ssl.trustStore"); + if (null == cacertsPath) + cacertsPath="/system/etc/security/cacerts.bks"; + FileInputStream instream = new FileInputStream(new File(cacertsPath)); + ks.load(instream, null); + } + for (Enumeration<String> aliases = ks.aliases(); aliases.hasMoreElements(); ) { String aName = aliases.nextElement(); |