summaryrefslogtreecommitdiffstats
path: root/crypto
diff options
context:
space:
mode:
authorBrian Carlstrom <bdc@google.com>2013-07-17 12:46:11 -0700
committerBrian Carlstrom <bdc@google.com>2013-08-29 03:32:39 -0700
commit1facc8bfbb4ca824bc5a4c57bc13a9c092991fc5 (patch)
tree83c249aaa01b19e01d419c6af8b220662d3461f2 /crypto
parent7eb201b98925bcf50447e270d25f1f1a2243cc71 (diff)
downloadlibcore-1facc8bfbb4ca824bc5a4c57bc13a9c092991fc5.zip
libcore-1facc8bfbb4ca824bc5a4c57bc13a9c092991fc5.tar.gz
libcore-1facc8bfbb4ca824bc5a4c57bc13a9c092991fc5.tar.bz2
Call SSL_use_certificate before SSL_use_PrivateKey
Bug: https://code.google.com/p/android/issues/detail?id=54433 Change-Id: Icf39b98802e2c6128e79c44eaf2cabc7b4805cc5
Diffstat (limited to 'crypto')
-rw-r--r--crypto/src/main/java/org/conscrypt/OpenSSLSocketImpl.java8
1 files changed, 5 insertions, 3 deletions
diff --git a/crypto/src/main/java/org/conscrypt/OpenSSLSocketImpl.java b/crypto/src/main/java/org/conscrypt/OpenSSLSocketImpl.java
index 9b066b5..f8a4a98 100644
--- a/crypto/src/main/java/org/conscrypt/OpenSSLSocketImpl.java
+++ b/crypto/src/main/java/org/conscrypt/OpenSSLSocketImpl.java
@@ -506,6 +506,11 @@ public class OpenSSLSocketImpl
return;
}
+ // Note that OpenSSL says to use SSL_use_certificate before SSL_use_PrivateKey.
+
+ byte[][] certificateBytes = NativeCrypto.encodeCertificates(certificates);
+ NativeCrypto.SSL_use_certificate(sslNativePointer, certificateBytes);
+
try {
final OpenSSLKey key = OpenSSLKey.fromPrivateKey(privateKey);
NativeCrypto.SSL_use_PrivateKey(sslNativePointer, key.getPkeyContext());
@@ -513,9 +518,6 @@ public class OpenSSLSocketImpl
throw new SSLException(e);
}
- byte[][] certificateBytes = NativeCrypto.encodeCertificates(certificates);
- NativeCrypto.SSL_use_certificate(sslNativePointer, certificateBytes);
-
// checks the last installed private key and certificate,
// so need to do this once per loop iteration
NativeCrypto.SSL_check_private_key(sslNativePointer);