diff options
author | Parménides GV <parmegv@sdf.org> | 2014-12-22 12:26:42 +0100 |
---|---|---|
committer | Parménides GV <parmegv@sdf.org> | 2014-12-22 12:26:42 +0100 |
commit | fab7a89f44d59f3c7ea7505ae05a3c8b4c67c0b8 (patch) | |
tree | bd505c296cad2a65241917306db8e233cac401aa /app/src/debug | |
parent | d8fe17eecaff464b89d43a7ddc9bf0fb7013f761 (diff) | |
parent | 38cbf4b517e99961dc977db30ce8395ce10a7b0d (diff) |
Merge branch 'develop'
Diffstat (limited to 'app/src/debug')
-rw-r--r-- | app/src/debug/java/se/leap/bitmaskclient/ProviderAPI.java | 21 |
1 files changed, 12 insertions, 9 deletions
diff --git a/app/src/debug/java/se/leap/bitmaskclient/ProviderAPI.java b/app/src/debug/java/se/leap/bitmaskclient/ProviderAPI.java index 886d70a0..ce13d322 100644 --- a/app/src/debug/java/se/leap/bitmaskclient/ProviderAPI.java +++ b/app/src/debug/java/se/leap/bitmaskclient/ProviderAPI.java @@ -554,15 +554,18 @@ public class ProviderAPI extends IntentService { if(!ConfigHelper.checkErroneousDownload(cert_string)) { X509Certificate certificate = ConfigHelper.parseX509CertificateFromString(cert_string); try { - JSONObject provider_json = new JSONObject(preferences.getString(Provider.KEY, "")); - String fingerprint = provider_json.getString(Provider.CA_CERT_FINGERPRINT); - String encoding = fingerprint.split(":")[0]; - String expected_fingerprint = fingerprint.split(":")[1]; - String real_fingerprint = base64toHex(Base64.encodeToString( - MessageDigest.getInstance(encoding).digest(certificate.getEncoded()), - Base64.DEFAULT)); - - result = real_fingerprint.trim().equalsIgnoreCase(expected_fingerprint.trim()); + if(certificate != null) { + JSONObject provider_json = new JSONObject(preferences.getString(Provider.KEY, "")); + String fingerprint = provider_json.getString(Provider.CA_CERT_FINGERPRINT); + String encoding = fingerprint.split(":")[0]; + String expected_fingerprint = fingerprint.split(":")[1]; + String real_fingerprint = base64toHex(Base64.encodeToString( + MessageDigest.getInstance(encoding).digest(certificate.getEncoded()), + Base64.DEFAULT)); + + result = real_fingerprint.trim().equalsIgnoreCase(expected_fingerprint.trim()); + } else + result = false; } catch (JSONException e) { result = false; } catch (NoSuchAlgorithmException e) { |