summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBogDan Vatra <bogdan@kde.org>2012-11-04 11:34:42 +0200
committerBogDan Vatra <bogdan@kde.org>2012-11-04 11:34:42 +0200
commitd111f59287c28afc3444ea5013d69c371c3c0e50 (patch)
treecebc18fb173315f3ca24583689cebde6af9b629d
parent3d1bddeb80cb133d221af916cb587e9f4f5e5641 (diff)
Fix ICS+ SSL root cretificates extraction
-rw-r--r--Ministro/src/org/kde/necessitas/ministro/MinistroActivity.java19
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();