diff options
Diffstat (limited to 'core/java/android')
-rw-r--r-- | core/java/android/webkit/BrowserFrame.java | 13 | ||||
-rw-r--r-- | core/java/android/webkit/ClientCertRequestHandler.java | 15 |
2 files changed, 11 insertions, 17 deletions
diff --git a/core/java/android/webkit/BrowserFrame.java b/core/java/android/webkit/BrowserFrame.java index 4dbca23..c3a1a17 100644 --- a/core/java/android/webkit/BrowserFrame.java +++ b/core/java/android/webkit/BrowserFrame.java @@ -56,8 +56,8 @@ import java.util.Map; import java.util.Set; import org.apache.harmony.security.provider.cert.X509CertImpl; -import org.apache.harmony.xnet.provider.jsse.OpenSSLDSAPrivateKey; -import org.apache.harmony.xnet.provider.jsse.OpenSSLRSAPrivateKey; +import org.apache.harmony.xnet.provider.jsse.OpenSSLKey; +import org.apache.harmony.xnet.provider.jsse.OpenSSLKeyHolder; class BrowserFrame extends Handler { @@ -1129,13 +1129,10 @@ class BrowserFrame extends Handler { if (table.IsAllowed(hostAndPort)) { // previously allowed PrivateKey pkey = table.PrivateKey(hostAndPort); - if (pkey instanceof OpenSSLRSAPrivateKey) { + if (pkey instanceof OpenSSLKeyHolder) { + OpenSSLKey sslKey = ((OpenSSLKeyHolder) pkey).getOpenSSLKey(); nativeSslClientCert(handle, - ((OpenSSLRSAPrivateKey)pkey).getPkeyContext(), - table.CertificateChain(hostAndPort)); - } else if (pkey instanceof OpenSSLDSAPrivateKey) { - nativeSslClientCert(handle, - ((OpenSSLDSAPrivateKey)pkey).getPkeyContext(), + sslKey.getPkeyContext(), table.CertificateChain(hostAndPort)); } else { nativeSslClientCert(handle, diff --git a/core/java/android/webkit/ClientCertRequestHandler.java b/core/java/android/webkit/ClientCertRequestHandler.java index 6570a9b8..dac1510 100644 --- a/core/java/android/webkit/ClientCertRequestHandler.java +++ b/core/java/android/webkit/ClientCertRequestHandler.java @@ -21,8 +21,8 @@ import java.security.PrivateKey; import java.security.cert.CertificateEncodingException; import java.security.cert.X509Certificate; import org.apache.harmony.xnet.provider.jsse.NativeCrypto; -import org.apache.harmony.xnet.provider.jsse.OpenSSLDSAPrivateKey; -import org.apache.harmony.xnet.provider.jsse.OpenSSLRSAPrivateKey; +import org.apache.harmony.xnet.provider.jsse.OpenSSLKey; +import org.apache.harmony.xnet.provider.jsse.OpenSSLKeyHolder; /** * ClientCertRequestHandler: class responsible for handling client @@ -56,14 +56,11 @@ public final class ClientCertRequestHandler extends Handler { byte[][] chainBytes = NativeCrypto.encodeCertificates(chain); mTable.Allow(mHostAndPort, privateKey, chainBytes); - if (privateKey instanceof OpenSSLRSAPrivateKey) { - setSslClientCertFromCtx(((OpenSSLRSAPrivateKey)privateKey).getPkeyContext(), - chainBytes); - } else if (privateKey instanceof OpenSSLDSAPrivateKey) { - setSslClientCertFromCtx(((OpenSSLDSAPrivateKey)privateKey).getPkeyContext(), - chainBytes); + if (privateKey instanceof OpenSSLKeyHolder) { + OpenSSLKey pkey = ((OpenSSLKeyHolder) privateKey).getOpenSSLKey(); + setSslClientCertFromCtx(pkey.getPkeyContext(), chainBytes); } else { - setSslClientCertFromPKCS8(privateKey.getEncoded(),chainBytes); + setSslClientCertFromPKCS8(privateKey.getEncoded(), chainBytes); } } catch (CertificateEncodingException e) { post(new Runnable() { |