OLD | NEW |
1 // Copyright 2015 The Chromium Authors. All rights reserved. | 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 | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #ifndef NET_SSL_SSL_PLATFORM_KEY_UTIL_H_ | 5 #ifndef NET_SSL_SSL_PLATFORM_KEY_UTIL_H_ |
6 #define NET_SSL_SSL_PLATFORM_KEY_UTIL_H_ | 6 #define NET_SSL_SSL_PLATFORM_KEY_UTIL_H_ |
7 | 7 |
8 #include <stddef.h> | 8 #include <stddef.h> |
9 | 9 |
10 #include "base/memory/ref_counted.h" | 10 #include "base/memory/ref_counted.h" |
11 #include "base/single_thread_task_runner.h" | 11 #include "base/single_thread_task_runner.h" |
12 #include "net/base/net_export.h" | 12 #include "net/base/net_export.h" |
13 #include "net/ssl/ssl_private_key.h" | |
14 | 13 |
15 namespace net { | 14 namespace net { |
16 | 15 |
17 class X509Certificate; | 16 class X509Certificate; |
18 | 17 |
19 // Returns a task runner to serialize all private key operations on a single | 18 // Returns a task runner to serialize all private key operations on a single |
20 // background thread to avoid problems with buggy smartcards. Its underlying | 19 // background thread to avoid problems with buggy smartcards. Its underlying |
21 // Thread is non-joinable and as such provides | 20 // Thread is non-joinable and as such provides |
22 // TaskShutdownBehavior::CONTINUE_ON_SHUTDOWN semantics. | 21 // TaskShutdownBehavior::CONTINUE_ON_SHUTDOWN semantics. |
23 scoped_refptr<base::SingleThreadTaskRunner> GetSSLPlatformKeyTaskRunner(); | 22 scoped_refptr<base::SingleThreadTaskRunner> GetSSLPlatformKeyTaskRunner(); |
24 | 23 |
25 // Determines the key type and maximum signature length of |certificate|'s | 24 // Determines the key type and maximum signature length of |certificate|'s |
26 // public key. | 25 // public key. |*out_type| will be set to one of the |EVP_PKEY_*| values from |
| 26 // BoringSSL. |
27 NET_EXPORT_PRIVATE bool GetClientCertInfo(const X509Certificate* certificate, | 27 NET_EXPORT_PRIVATE bool GetClientCertInfo(const X509Certificate* certificate, |
28 SSLPrivateKey::Type* out_type, | 28 int* out_type, |
29 size_t* out_max_length); | 29 size_t* out_max_length); |
30 | 30 |
31 } // namespace net | 31 } // namespace net |
32 | 32 |
33 #endif // NET_SSL_SSL_PLATFORM_KEY_UTIL_H_ | 33 #endif // NET_SSL_SSL_PLATFORM_KEY_UTIL_H_ |
OLD | NEW |