From cb4317a5a7be9bd1501fdbd00faddc07db894b14 Mon Sep 17 00:00:00 2001 From: Kenny Root Date: Thu, 12 Sep 2013 23:00:26 -0700 Subject: [PATCH] Move helper function to webkit This particular helper function is being removed from NativeCrypto, so move it here as it's the last user of it. Change-Id: Iea13ba499487d838068d6156d4d1e6861d05eb36 --- .../android/webkit/ClientCertRequestHandler.java | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/core/java/android/webkit/ClientCertRequestHandler.java b/core/java/android/webkit/ClientCertRequestHandler.java index d7a68060bf652..8cab9a6f4b7d5 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) {