Commit 0bca07fd authored by davidben's avatar davidben Committed by Commit bot

Roll src/third_party/boringssl/src 10f97f3bf..8d315d705

https://boringssl.googlesource.com/boringssl/+log/10f97f3bfcecc3fbe8e9f02e7c426f7e340f7f54..8d315d70563b49868469c57199aa5d69c7c818dd

BUG=none

Review-Url: https://codereview.chromium.org/2156973002
Cr-Commit-Position: refs/heads/master@{#405993}
parent 86e3d75a
...@@ -64,7 +64,7 @@ vars = { ...@@ -64,7 +64,7 @@ vars = {
# Three lines of non-changing comments so that # Three lines of non-changing comments so that
# the commit queue can handle CLs rolling BoringSSL # the commit queue can handle CLs rolling BoringSSL
# and whatever else without interference from each other. # and whatever else without interference from each other.
'boringssl_revision': '10f97f3bfcecc3fbe8e9f02e7c426f7e340f7f54', 'boringssl_revision': '8d315d70563b49868469c57199aa5d69c7c818dd',
# Three lines of non-changing comments so that # Three lines of non-changing comments so that
# the commit queue can handle CLs rolling google-toolbox-for-mac # the commit queue can handle CLs rolling google-toolbox-for-mac
# and whatever else without interference from each other. # and whatever else without interference from each other.
......
...@@ -346,25 +346,25 @@ class SSLClientSocketImpl::SSLContext { ...@@ -346,25 +346,25 @@ class SSLClientSocketImpl::SSLContext {
return socket->PrivateKeyMaxSignatureLenCallback(); return socket->PrivateKeyMaxSignatureLenCallback();
} }
static ssl_private_key_result_t PrivateKeySignCallback(SSL* ssl, static ssl_private_key_result_t PrivateKeySignDigestCallback(
uint8_t* out,
size_t* out_len,
size_t max_out,
const EVP_MD* md,
const uint8_t* in,
size_t in_len) {
SSLClientSocketImpl* socket = GetInstance()->GetClientSocketFromSSL(ssl);
return socket->PrivateKeySignCallback(out, out_len, max_out, md, in,
in_len);
}
static ssl_private_key_result_t PrivateKeySignCompleteCallback(
SSL* ssl, SSL* ssl,
uint8_t* out, uint8_t* out,
size_t* out_len, size_t* out_len,
size_t max_out) { size_t max_out,
const EVP_MD* md,
const uint8_t* in,
size_t in_len) {
SSLClientSocketImpl* socket = GetInstance()->GetClientSocketFromSSL(ssl);
return socket->PrivateKeySignDigestCallback(out, out_len, max_out, md, in,
in_len);
}
static ssl_private_key_result_t PrivateKeyCompleteCallback(SSL* ssl,
uint8_t* out,
size_t* out_len,
size_t max_out) {
SSLClientSocketImpl* socket = GetInstance()->GetClientSocketFromSSL(ssl); SSLClientSocketImpl* socket = GetInstance()->GetClientSocketFromSSL(ssl);
return socket->PrivateKeySignCompleteCallback(out, out_len, max_out); return socket->PrivateKeyCompleteCallback(out, out_len, max_out);
} }
#if !defined(OS_NACL) #if !defined(OS_NACL)
...@@ -391,12 +391,15 @@ class SSLClientSocketImpl::SSLContext { ...@@ -391,12 +391,15 @@ class SSLClientSocketImpl::SSLContext {
SSLClientSessionCache session_cache_; SSLClientSessionCache session_cache_;
}; };
// TODO(davidben): Switch from sign_digest to sign.
const SSL_PRIVATE_KEY_METHOD const SSL_PRIVATE_KEY_METHOD
SSLClientSocketImpl::SSLContext::kPrivateKeyMethod = { SSLClientSocketImpl::SSLContext::kPrivateKeyMethod = {
&SSLClientSocketImpl::SSLContext::PrivateKeyTypeCallback, &SSLClientSocketImpl::SSLContext::PrivateKeyTypeCallback,
&SSLClientSocketImpl::SSLContext::PrivateKeyMaxSignatureLenCallback, &SSLClientSocketImpl::SSLContext::PrivateKeyMaxSignatureLenCallback,
&SSLClientSocketImpl::SSLContext::PrivateKeySignCallback, nullptr /* sign */,
&SSLClientSocketImpl::SSLContext::PrivateKeySignCompleteCallback, &SSLClientSocketImpl::SSLContext::PrivateKeySignDigestCallback,
nullptr /* decrypt */,
&SSLClientSocketImpl::SSLContext::PrivateKeyCompleteCallback,
}; };
// PeerCertificateChain is a helper object which extracts the certificate // PeerCertificateChain is a helper object which extracts the certificate
...@@ -2157,7 +2160,7 @@ size_t SSLClientSocketImpl::PrivateKeyMaxSignatureLenCallback() { ...@@ -2157,7 +2160,7 @@ size_t SSLClientSocketImpl::PrivateKeyMaxSignatureLenCallback() {
return ssl_config_.client_private_key->GetMaxSignatureLengthInBytes(); return ssl_config_.client_private_key->GetMaxSignatureLengthInBytes();
} }
ssl_private_key_result_t SSLClientSocketImpl::PrivateKeySignCallback( ssl_private_key_result_t SSLClientSocketImpl::PrivateKeySignDigestCallback(
uint8_t* out, uint8_t* out,
size_t* out_len, size_t* out_len,
size_t max_out, size_t max_out,
...@@ -2182,12 +2185,12 @@ ssl_private_key_result_t SSLClientSocketImpl::PrivateKeySignCallback( ...@@ -2182,12 +2185,12 @@ ssl_private_key_result_t SSLClientSocketImpl::PrivateKeySignCallback(
signature_result_ = ERR_IO_PENDING; signature_result_ = ERR_IO_PENDING;
ssl_config_.client_private_key->SignDigest( ssl_config_.client_private_key->SignDigest(
hash, base::StringPiece(reinterpret_cast<const char*>(in), in_len), hash, base::StringPiece(reinterpret_cast<const char*>(in), in_len),
base::Bind(&SSLClientSocketImpl::OnPrivateKeySignComplete, base::Bind(&SSLClientSocketImpl::OnPrivateKeyComplete,
weak_factory_.GetWeakPtr())); weak_factory_.GetWeakPtr()));
return ssl_private_key_retry; return ssl_private_key_retry;
} }
ssl_private_key_result_t SSLClientSocketImpl::PrivateKeySignCompleteCallback( ssl_private_key_result_t SSLClientSocketImpl::PrivateKeyCompleteCallback(
uint8_t* out, uint8_t* out,
size_t* out_len, size_t* out_len,
size_t max_out) { size_t max_out) {
...@@ -2210,7 +2213,7 @@ ssl_private_key_result_t SSLClientSocketImpl::PrivateKeySignCompleteCallback( ...@@ -2210,7 +2213,7 @@ ssl_private_key_result_t SSLClientSocketImpl::PrivateKeySignCompleteCallback(
return ssl_private_key_success; return ssl_private_key_success;
} }
void SSLClientSocketImpl::OnPrivateKeySignComplete( void SSLClientSocketImpl::OnPrivateKeyComplete(
Error error, Error error,
const std::vector<uint8_t>& signature) { const std::vector<uint8_t>& signature) {
DCHECK_EQ(ERR_IO_PENDING, signature_result_); DCHECK_EQ(ERR_IO_PENDING, signature_result_);
......
...@@ -217,18 +217,17 @@ class SSLClientSocketImpl : public SSLClientSocket { ...@@ -217,18 +217,17 @@ class SSLClientSocketImpl : public SSLClientSocket {
// Callbacks for operations with the private key. // Callbacks for operations with the private key.
int PrivateKeyTypeCallback(); int PrivateKeyTypeCallback();
size_t PrivateKeyMaxSignatureLenCallback(); size_t PrivateKeyMaxSignatureLenCallback();
ssl_private_key_result_t PrivateKeySignCallback(uint8_t* out, ssl_private_key_result_t PrivateKeySignDigestCallback(uint8_t* out,
size_t* out_len, size_t* out_len,
size_t max_out, size_t max_out,
const EVP_MD* md, const EVP_MD* md,
const uint8_t* in, const uint8_t* in,
size_t in_len); size_t in_len);
ssl_private_key_result_t PrivateKeySignCompleteCallback(uint8_t* out, ssl_private_key_result_t PrivateKeyCompleteCallback(uint8_t* out,
size_t* out_len, size_t* out_len,
size_t max_out); size_t max_out);
void OnPrivateKeySignComplete(Error error, void OnPrivateKeyComplete(Error error, const std::vector<uint8_t>& signature);
const std::vector<uint8_t>& signature);
int TokenBindingAdd(const uint8_t** out, int TokenBindingAdd(const uint8_t** out,
size_t* out_len, size_t* out_len,
......
...@@ -305,6 +305,10 @@ ssl_sources = [ ...@@ -305,6 +305,10 @@ ssl_sources = [
"src/ssl/ssl_stat.c", "src/ssl/ssl_stat.c",
"src/ssl/t1_enc.c", "src/ssl/t1_enc.c",
"src/ssl/t1_lib.c", "src/ssl/t1_lib.c",
"src/ssl/tls13_both.c",
"src/ssl/tls13_client.c",
"src/ssl/tls13_enc.c",
"src/ssl/tls13_server.c",
"src/ssl/tls_method.c", "src/ssl/tls_method.c",
"src/ssl/tls_record.c", "src/ssl/tls_record.c",
] ]
......
...@@ -33,6 +33,10 @@ ...@@ -33,6 +33,10 @@
'src/ssl/ssl_stat.c', 'src/ssl/ssl_stat.c',
'src/ssl/t1_enc.c', 'src/ssl/t1_enc.c',
'src/ssl/t1_lib.c', 'src/ssl/t1_lib.c',
'src/ssl/tls13_both.c',
'src/ssl/tls13_client.c',
'src/ssl/tls13_enc.c',
'src/ssl/tls13_server.c',
'src/ssl/tls_method.c', 'src/ssl/tls_method.c',
'src/ssl/tls_record.c', 'src/ssl/tls_record.c',
], ],
......
This diff is collapsed.
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment