From d111f59287c28afc3444ea5013d69c371c3c0e50 Mon Sep 17 00:00:00 2001 From: BogDan Vatra Date: Sun, 4 Nov 2012 11:34:42 +0200 Subject: Fix ICS+ SSL root cretificates extraction --- .../org/kde/necessitas/ministro/MinistroActivity.java | 19 ++++++++++++++++--- 1 file changed, 16 insertions(+), 3 deletions(-) (limited to 'Ministro') 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 aliases = ks.aliases(); aliases.hasMoreElements(); ) { String aName = aliases.nextElement(); -- cgit v1.2.3