summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--core/java/android/webkit/ClientCertRequestHandler.java12
1 files changed, 10 insertions, 2 deletions
diff --git a/core/java/android/webkit/ClientCertRequestHandler.java b/core/java/android/webkit/ClientCertRequestHandler.java
index d7a68060bf65..8cab9a6f4b7d 100644
--- a/core/java/android/webkit/ClientCertRequestHandler.java
+++ b/core/java/android/webkit/ClientCertRequestHandler.java
@@ -20,7 +20,6 @@ import android.os.Handler;
import java.security.PrivateKey;
import java.security.cert.CertificateEncodingException;
import java.security.cert.X509Certificate;
-import com.android.org.conscrypt.NativeCrypto;
import com.android.org.conscrypt.OpenSSLKey;
import com.android.org.conscrypt.OpenSSLKeyHolder;
@@ -48,12 +47,21 @@ public final class ClientCertRequestHandler extends Handler {
mTable = table;
}
+ private static byte[][] encodeCertificates(X509Certificate[] certificates)
+ throws CertificateEncodingException {
+ byte[][] certificateBytes = new byte[certificates.length][];
+ for (int i = 0; i < certificates.length; i++) {
+ certificateBytes[i] = certificates[i].getEncoded();
+ }
+ return certificateBytes;
+ }
+
/**
* Proceed with the specified private key and client certificate chain.
*/
public void proceed(PrivateKey privateKey, X509Certificate[] chain) {
try {
- byte[][] chainBytes = NativeCrypto.encodeCertificates(chain);
+ byte[][] chainBytes = encodeCertificates(chain);
mTable.Allow(mHostAndPort, privateKey, chainBytes);
if (privateKey instanceof OpenSSLKeyHolder) {