Landing Recent QUIC changes until 8/19/2015 17:00 UTC.
[chromium-blink-merge.git] / net / ssl / ssl_platform_key.h
blobbcab6a4c32d0c9b355fe364915ca1095fb4eba89
1 // Copyright 2015 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 #ifndef NET_SSL_SSL_PLATFORM_KEY_H_
6 #define NET_SSL_SSL_PLATFORM_KEY_H_
8 #include "base/memory/ref_counted.h"
9 #include "base/memory/scoped_ptr.h"
11 namespace base {
12 class SequencedTaskRunner;
15 namespace net {
17 class SSLPrivateKey;
18 class X509Certificate;
20 // Looks up the private key from the platform key store corresponding to
21 // |certificate|'s public key and returns an SSLPrivateKey which offloads
22 // signing operations to |task_runner|. |task_runner| is a SequencedTaskRunner
23 // to allow for buggy third-party smartcard drivers.
24 scoped_ptr<SSLPrivateKey> FetchClientCertPrivateKey(
25 X509Certificate* certificate,
26 scoped_refptr<base::SequencedTaskRunner> task_runner);
28 } // namespace net
30 #endif // NET_SSL_SSL_PLATFORM_KEY_H_