summaryrefslogtreecommitdiff
path: root/core/java/android/webkit/ClientCertRequestHandler.java
diff options
context:
space:
mode:
Diffstat (limited to 'core/java/android/webkit/ClientCertRequestHandler.java')
-rw-r--r--core/java/android/webkit/ClientCertRequestHandler.java15
1 files changed, 6 insertions, 9 deletions
diff --git a/core/java/android/webkit/ClientCertRequestHandler.java b/core/java/android/webkit/ClientCertRequestHandler.java
index 6570a9b8ad4c..dac151054198 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() {