diff options
author | davidben <davidben@chromium.org> | 2015-07-01 11:48:46 -0700 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2015-07-01 18:49:11 +0000 |
commit | 1d48952e7ac455a52ffbe6597b58a571faab42e6 (patch) | |
tree | 4d9061118ddf61d156a822d11e2e1f9df0770a30 /skia/skia.gyp | |
parent | 5cfff8796886f64291213d686011b1354c17e924 (diff) | |
download | chromium_src-1d48952e7ac455a52ffbe6597b58a571faab42e6.zip chromium_src-1d48952e7ac455a52ffbe6597b58a571faab42e6.tar.gz chromium_src-1d48952e7ac455a52ffbe6597b58a571faab42e6.tar.bz2 |
Sign CertificateVerify messages on a background thread.
In the general case, client certificates may involve accessing a smart
card (slow). Now that BoringSSL supports asynchronous certificate signing
operations in the SSL layer, use it on Mac and Windows ports. This will
avoid janking the IO thread in this (extremely uncommon) use case. Moreover,
some Windows smartcard drivers will show UI which, as IPC traffic between
UI thread and GPU process increases, causes deadlocks.
This introduces an SSLPrivateKey interface on the Chromium side which
implements an asynchronous signing operation. We then add a
ThreadedSSLPrivateKey implementation which pushes otherwise synchronous
signatures to a base::TaskRunner and implement Windows and Mac bridges to it.
These SSLPrivateKey implementations are still vended from an X509Certificate
for now, but https://crbug.com/394131 will track moving it up the stack for
testability (at which point it'll also gain a Copy method).
Android will be switched to use it in a follow-up. (The Android codepath
goes through this OpenSSLClientKeyStore hack so doing it separately
is easier.)
BUG=493575,347404
Review URL: https://codereview.chromium.org/1178193002
Cr-Commit-Position: refs/heads/master@{#337079}
Diffstat (limited to 'skia/skia.gyp')
0 files changed, 0 insertions, 0 deletions