diff options
author | Huahui Wu <hwu@google.com> | 2011-06-27 11:03:37 -0700 |
---|---|---|
committer | Huahui Wu <hwu@google.com> | 2011-06-27 18:14:54 -0700 |
commit | 3015516a4611db23ce56ae057d281c9328cfdf24 (patch) | |
tree | edfd685644999404ebbc6e0e9576344bb9a22580 /core/java/android/net/http/SslError.java | |
parent | 090117774a4eeca850cca9ceac41cd8187772c81 (diff) | |
download | frameworks_base-3015516a4611db23ce56ae057d281c9328cfdf24.zip frameworks_base-3015516a4611db23ce56ae057d281c9328cfdf24.tar.gz frameworks_base-3015516a4611db23ce56ae057d281c9328cfdf24.tar.bz2 |
Gets the URL that has a cert error and carrys it in SslError.
b/2689122 SSL error shows the wrong page when triggered by an image/javascript in the page.
This change receives the URL which has a cert error from webkit and carrys it in SslError.
so the Browser app can show the URL in the dialog boxes. Related CLs are:
webkit: https://android-git.corp.google.com/g/#change,117817
browser: https://android-git.corp.google.com/g/#change,117835
Change-Id: I65c3f038a48b6386fa93cb25a9ef70dbfb982c18
Diffstat (limited to 'core/java/android/net/http/SslError.java')
-rw-r--r-- | core/java/android/net/http/SslError.java | 68 |
1 files changed, 65 insertions, 3 deletions
diff --git a/core/java/android/net/http/SslError.java b/core/java/android/net/http/SslError.java index e1b9deb..1e1cb49 100644 --- a/core/java/android/net/http/SslError.java +++ b/core/java/android/net/http/SslError.java @@ -59,36 +59,97 @@ public class SslError { /** * The SSL certificate associated with the error set */ - SslCertificate mCertificate; + final SslCertificate mCertificate; + + /** + * The URL associated with the error set. + */ + final String mUrl; /** * Creates a new SSL error set object * @param error The SSL error * @param certificate The associated SSL certificate + * @deprecated Use {@link #SslError(int, SslCertificate, String)} */ + @Deprecated public SslError(int error, SslCertificate certificate) { addError(error); + if (certificate == null) { + throw new NullPointerException("certificate is null."); + } mCertificate = certificate; + mUrl = ""; } /** * Creates a new SSL error set object * @param error The SSL error * @param certificate The associated SSL certificate + * @deprecated Use {@link #SslError(int, X509Certificate, String)} */ + @Deprecated public SslError(int error, X509Certificate certificate) { addError(error); + if (certificate == null) { + throw new NullPointerException("certificate is null."); + } mCertificate = new SslCertificate(certificate); + mUrl = ""; } /** - * @return The SSL certificate associated with the error set + * Creates a new SSL error set object + * @param error The SSL error + * @param certificate The associated SSL certificate + * @param url The associated URL. + */ + public SslError(int error, SslCertificate certificate, String url) { + addError(error); + if (certificate == null) { + throw new NullPointerException("certificate is null."); + } + mCertificate = certificate; + if (url == null) { + throw new NullPointerException("url is null."); + } + mUrl = url; + } + + /** + * Creates a new SSL error set object + * @param error The SSL error + * @param certificate The associated SSL certificate + * @param url The associated URL. + */ + public SslError(int error, X509Certificate certificate, String url) { + addError(error); + if (certificate == null) { + throw new NullPointerException("certificate is null."); + } + mCertificate = new SslCertificate(certificate); + if (url == null) { + throw new NullPointerException("url is null."); + } + mUrl = url; + } + + /** + * @return The SSL certificate associated with the error set, non-null. */ public SslCertificate getCertificate() { return mCertificate; } /** + * @return The URL associated with the error set, non-null. + * "" if one of the deprecated constructors is used. + */ + public String getUrl() { + return mUrl; + } + + /** * Adds the SSL error to the error set * @param error The SSL error to add * @return True iff the error being added is a known SSL error @@ -137,6 +198,7 @@ public class SslError { */ public String toString() { return "primary error: " + getPrimaryError() + - " certificate: " + getCertificate(); + " certificate: " + getCertificate() + + " on URL: " + getUrl(); } } |