Index: net/socket/ssl_client_socket_impl.cc |
diff --git a/net/socket/ssl_client_socket_impl.cc b/net/socket/ssl_client_socket_impl.cc |
index 5cb4fbb552f17b82ccab3ccb383f84c521905352..88c75d9fda898db20edce12ccdb571fbe6e17958 100644 |
--- a/net/socket/ssl_client_socket_impl.cc |
+++ b/net/socket/ssl_client_socket_impl.cc |
@@ -346,25 +346,25 @@ class SSLClientSocketImpl::SSLContext { |
return socket->PrivateKeyMaxSignatureLenCallback(); |
} |
- static ssl_private_key_result_t PrivateKeySignCallback(SSL* ssl, |
- 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( |
+ static ssl_private_key_result_t PrivateKeySignDigestCallback( |
SSL* ssl, |
uint8_t* out, |
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); |
- return socket->PrivateKeySignCompleteCallback(out, out_len, max_out); |
+ return socket->PrivateKeyCompleteCallback(out, out_len, max_out); |
} |
#if !defined(OS_NACL) |
@@ -391,12 +391,15 @@ class SSLClientSocketImpl::SSLContext { |
SSLClientSessionCache session_cache_; |
}; |
+// TODO(davidben): Switch from sign_digest to sign. |
const SSL_PRIVATE_KEY_METHOD |
SSLClientSocketImpl::SSLContext::kPrivateKeyMethod = { |
&SSLClientSocketImpl::SSLContext::PrivateKeyTypeCallback, |
&SSLClientSocketImpl::SSLContext::PrivateKeyMaxSignatureLenCallback, |
- &SSLClientSocketImpl::SSLContext::PrivateKeySignCallback, |
- &SSLClientSocketImpl::SSLContext::PrivateKeySignCompleteCallback, |
+ nullptr /* sign */, |
+ &SSLClientSocketImpl::SSLContext::PrivateKeySignDigestCallback, |
+ nullptr /* decrypt */, |
+ &SSLClientSocketImpl::SSLContext::PrivateKeyCompleteCallback, |
}; |
// PeerCertificateChain is a helper object which extracts the certificate |
@@ -2157,7 +2160,7 @@ size_t SSLClientSocketImpl::PrivateKeyMaxSignatureLenCallback() { |
return ssl_config_.client_private_key->GetMaxSignatureLengthInBytes(); |
} |
-ssl_private_key_result_t SSLClientSocketImpl::PrivateKeySignCallback( |
+ssl_private_key_result_t SSLClientSocketImpl::PrivateKeySignDigestCallback( |
uint8_t* out, |
size_t* out_len, |
size_t max_out, |
@@ -2182,12 +2185,12 @@ ssl_private_key_result_t SSLClientSocketImpl::PrivateKeySignCallback( |
signature_result_ = ERR_IO_PENDING; |
ssl_config_.client_private_key->SignDigest( |
hash, base::StringPiece(reinterpret_cast<const char*>(in), in_len), |
- base::Bind(&SSLClientSocketImpl::OnPrivateKeySignComplete, |
+ base::Bind(&SSLClientSocketImpl::OnPrivateKeyComplete, |
weak_factory_.GetWeakPtr())); |
return ssl_private_key_retry; |
} |
-ssl_private_key_result_t SSLClientSocketImpl::PrivateKeySignCompleteCallback( |
+ssl_private_key_result_t SSLClientSocketImpl::PrivateKeyCompleteCallback( |
uint8_t* out, |
size_t* out_len, |
size_t max_out) { |
@@ -2210,7 +2213,7 @@ ssl_private_key_result_t SSLClientSocketImpl::PrivateKeySignCompleteCallback( |
return ssl_private_key_success; |
} |
-void SSLClientSocketImpl::OnPrivateKeySignComplete( |
+void SSLClientSocketImpl::OnPrivateKeyComplete( |
Error error, |
const std::vector<uint8_t>& signature) { |
DCHECK_EQ(ERR_IO_PENDING, signature_result_); |