projects
/
pub
/
Android
/
ownCloud.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Fixed typos from 'shareWhatever' to 'sharedWhatever', and updated reference to library
[pub/Android/ownCloud.git]
/
src
/
com
/
owncloud
/
android
/
authentication
/
SsoWebViewClient.java
diff --git
a/src/com/owncloud/android/authentication/SsoWebViewClient.java
b/src/com/owncloud/android/authentication/SsoWebViewClient.java
index
9d9bca1
..
27e1f5b
100644
(file)
--- a/
src/com/owncloud/android/authentication/SsoWebViewClient.java
+++ b/
src/com/owncloud/android/authentication/SsoWebViewClient.java
@@
-18,11
+18,7
@@
package com.owncloud.android.authentication;
import java.io.ByteArrayInputStream;
package com.owncloud.android.authentication;
import java.io.ByteArrayInputStream;
-import java.io.IOException;
import java.lang.ref.WeakReference;
import java.lang.ref.WeakReference;
-import java.security.KeyStore;
-import java.security.KeyStoreException;
-import java.security.NoSuchAlgorithmException;
import java.security.cert.Certificate;
import java.security.cert.CertificateException;
import java.security.cert.CertificateFactory;
import java.security.cert.Certificate;
import java.security.cert.CertificateException;
import java.security.cert.CertificateFactory;
@@
-65,12
+61,14
@@
public class SsoWebViewClient extends WebViewClient {
public void onSsoFinished(String sessionCookie);
}
public void onSsoFinished(String sessionCookie);
}
+ private Context mContext;
private Handler mListenerHandler;
private WeakReference<SsoWebViewClientListener> mListenerRef;
private String mTargetUrl;
private String mLastReloadedUrlAtError;
private Handler mListenerHandler;
private WeakReference<SsoWebViewClientListener> mListenerRef;
private String mTargetUrl;
private String mLastReloadedUrlAtError;
- public SsoWebViewClient (Handler listenerHandler, SsoWebViewClientListener listener) {
+ public SsoWebViewClient (Context context, Handler listenerHandler, SsoWebViewClientListener listener) {
+ mContext = context;
mListenerHandler = listenerHandler;
mListenerRef = new WeakReference<SsoWebViewClient.SsoWebViewClientListener>(listener);
mTargetUrl = "fake://url.to.be.set";
mListenerHandler = listenerHandler;
mListenerRef = new WeakReference<SsoWebViewClient.SsoWebViewClientListener>(listener);
mTargetUrl = "fake://url.to.be.set";
@@
-148,17
+146,27
@@
public class SsoWebViewClient extends WebViewClient {
}
@Override
}
@Override
- public void onReceivedSslError (
WebView view,
SslErrorHandler handler, SslError error) {
+ public void onReceivedSslError (
final WebView view, final
SslErrorHandler handler, SslError error) {
Log_OC.d(TAG, "onReceivedSslError : " + error);
// Test 1
X509Certificate x509Certificate = getX509CertificateFromError(error);
Log_OC.d(TAG, "onReceivedSslError : " + error);
// Test 1
X509Certificate x509Certificate = getX509CertificateFromError(error);
+ boolean isKnownServer = false;
if (x509Certificate != null) {
Log_OC.d(TAG, "------>>>>> x509Certificate " + x509Certificate.toString());
if (x509Certificate != null) {
Log_OC.d(TAG, "------>>>>> x509Certificate " + x509Certificate.toString());
+ try {
+ isKnownServer = NetworkUtils.isCertInKnownServersStore((Certificate) x509Certificate, mContext);
+ } catch (Exception e) {
+ Log_OC.e(TAG, "Exception: " + e.getMessage());
+ }
}
}
- handler.proceed();
+ if (isKnownServer) {
+ handler.proceed();
+ } else {
+ ((AuthenticatorActivity)mContext).showUntrustedCertDialog(x509Certificate, error, handler);
+ }
}
/**
}
/**
@@
-180,12
+188,7
@@
public class SsoWebViewClient extends WebViewClient {
} catch (CertificateException e) {
x509Certificate = null;
}
} catch (CertificateException e) {
x509Certificate = null;
}
- }
-
-// if (x509Certificate != null) {
-// Log_OC.d(TAG, "------>>>>> x509Certificate " + x509Certificate.toString());
-// }
-
+ }
return x509Certificate;
}
return x509Certificate;
}