diff options
| author | Kenny Root <kroot@google.com> | 2013-04-29 14:16:09 -0700 |
|---|---|---|
| committer | Android Git Automerger <android-git-automerger@android.com> | 2013-04-29 14:16:09 -0700 |
| commit | d334cb13d694a4f1c6b885070ec48033366a4b37 (patch) | |
| tree | 7faea8abb8c677ed04b093150d746fe9ade804c9 /core/java/android/webkit/BrowserFrame.java | |
| parent | 3424b817f641edaa9505b3c263cad04f1ceee2af (diff) | |
| parent | d152f7ec1ae43d77ff8e2206724ce71da3da9913 (diff) | |
am d152f7ec: Merge "Don\'t use X509CertImpl directly"
* commit 'd152f7ec1ae43d77ff8e2206724ce71da3da9913':
Don't use X509CertImpl directly
Diffstat (limited to 'core/java/android/webkit/BrowserFrame.java')
| -rw-r--r-- | core/java/android/webkit/BrowserFrame.java | 17 |
1 files changed, 10 insertions, 7 deletions
diff --git a/core/java/android/webkit/BrowserFrame.java b/core/java/android/webkit/BrowserFrame.java index ce886f289a79..0b384bf3b8ac 100644 --- a/core/java/android/webkit/BrowserFrame.java +++ b/core/java/android/webkit/BrowserFrame.java @@ -40,13 +40,13 @@ import android.view.WindowManager; import junit.framework.Assert; +import java.io.ByteArrayInputStream; import java.io.IOException; import java.io.InputStream; import java.lang.ref.WeakReference; import java.net.URLEncoder; -import java.nio.charset.Charsets; import java.security.PrivateKey; -import java.security.cert.CertificateEncodingException; +import java.security.cert.CertificateFactory; import java.security.cert.X509Certificate; import java.util.ArrayList; import java.util.HashMap; @@ -55,7 +55,6 @@ import java.util.Iterator; import java.util.Map; import java.util.Set; -import org.apache.harmony.security.provider.cert.X509CertImpl; import org.apache.harmony.xnet.provider.jsse.OpenSSLKey; import org.apache.harmony.xnet.provider.jsse.OpenSSLKeyHolder; @@ -1081,10 +1080,12 @@ class BrowserFrame extends Handler { String url) { final SslError sslError; try { - X509Certificate cert = new X509CertImpl(certDER); + CertificateFactory cf = CertificateFactory.getInstance("X.509"); + X509Certificate cert = (X509Certificate) cf.generateCertificate( + new ByteArrayInputStream(certDER)); SslCertificate sslCert = new SslCertificate(cert); sslError = SslError.SslErrorFromChromiumErrorCode(certError, sslCert, url); - } catch (IOException e) { + } catch (Exception e) { // Can't get the certificate, not much to do. Log.e(LOGTAG, "Can't get the certificate from WebKit, canceling"); nativeSslCertErrorCancel(handle, certError); @@ -1202,9 +1203,11 @@ class BrowserFrame extends Handler { */ private void setCertificate(byte cert_der[]) { try { - X509Certificate cert = new X509CertImpl(cert_der); + CertificateFactory cf = CertificateFactory.getInstance("X.509"); + X509Certificate cert = (X509Certificate) cf.generateCertificate( + new ByteArrayInputStream(cert_der)); mCallbackProxy.onReceivedCertificate(new SslCertificate(cert)); - } catch (IOException e) { + } catch (Exception e) { // Can't get the certificate, not much to do. Log.e(LOGTAG, "Can't get the certificate from WebKit, canceling"); return; |
