forked from I2P_Developers/i2p.i2p
Fixed Android API version detection, load cacerts dir for API >= 14
This commit is contained in:
@ -94,9 +94,14 @@ public class KeyStoreUtil {
|
|||||||
success = loadCerts(new File(override), ks);
|
success = loadCerts(new File(override), ks);
|
||||||
if (!success) {
|
if (!success) {
|
||||||
if (SystemVersion.isAndroid()) {
|
if (SystemVersion.isAndroid()) {
|
||||||
// thru API 13. As of API 14 (ICS), the file is gone, but
|
if (SystemVersion.getAndroidVersion() >= 14) {
|
||||||
// ks.load(null, pw) will bring in the default certs?
|
try {
|
||||||
|
ks.load(null, DEFAULT_KEYSTORE_PASSWORD.toCharArray());
|
||||||
|
success = addCerts(new File(System.getProperty("java.home"), "etc/security/cacerts"), ks) > 0;
|
||||||
|
} catch (Exception e) {}
|
||||||
|
} else {
|
||||||
success = loadCerts(new File(System.getProperty("java.home"), "etc/security/cacerts.bks"), ks);
|
success = loadCerts(new File(System.getProperty("java.home"), "etc/security/cacerts.bks"), ks);
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
success = loadCerts(new File(System.getProperty("java.home"), "lib/security/jssecacerts"), ks);
|
success = loadCerts(new File(System.getProperty("java.home"), "lib/security/jssecacerts"), ks);
|
||||||
if (!success)
|
if (!success)
|
||||||
|
@ -47,7 +47,7 @@ public abstract class SystemVersion {
|
|||||||
int sdk = 0;
|
int sdk = 0;
|
||||||
if (_isAndroid) {
|
if (_isAndroid) {
|
||||||
try {
|
try {
|
||||||
Class<?> ver = Class.forName("android.os.Build.VERSION", true, ClassLoader.getSystemClassLoader());
|
Class<?> ver = Class.forName("android.os.Build$VERSION", true, ClassLoader.getSystemClassLoader());
|
||||||
Field field = ver.getField("SDK_INT");
|
Field field = ver.getField("SDK_INT");
|
||||||
sdk = field.getInt(null);
|
sdk = field.getInt(null);
|
||||||
} catch (Exception e) {}
|
} catch (Exception e) {}
|
||||||
|
Reference in New Issue
Block a user