Fix ssl hostname verification

Signed-off-by: Mario Danic <mario@lovelyhq.com>
This commit is contained in:
Mario Danic 2017-10-29 13:13:20 +01:00
parent 7225bf82a9
commit 49c8baabe3

View File

@ -95,6 +95,13 @@ public class MagicTrustManager implements X509TrustManager {
systemTrustManager.checkServerTrusted(new X509Certificate[]{x509Certificate}, "generic");
return true;
} catch (CertificateException e) {
return isCertInMagicTrustStore(x509Certificate);
}
}
return false;
}
private boolean isCertInMagicTrustStore(X509Certificate x509Certificate) {
if (trustedKeyStore != null) {
try {
if (trustedKeyStore.getCertificateAlias(x509Certificate) != null) {
@ -105,8 +112,6 @@ public class MagicTrustManager implements X509TrustManager {
}
}
}
}
return false;
}
@ -157,7 +162,7 @@ public class MagicTrustManager implements X509TrustManager {
try {
X509Certificate[] certificates = (X509Certificate[]) sslSession.getPeerCertificates();
if (certificates.length > 0 && certificates[0] != null) {
if (certificates.length > 0 && certificates[0] != null && isCertInMagicTrustStore(certificates[0])) {
return true;
}
} catch (SSLPeerUnverifiedException e) {