Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(149)

Side by Side Diff: chromeos/network/client_cert_util.h

Issue 22588002: Refactor the client certificate code in chromeos/network/. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Addressed comments. Created 7 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « chromeos/network/certificate_pattern_matcher.cc ('k') | chromeos/network/client_cert_util.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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 CHROMEOS_NETWORK_CERTIFICATE_PATTERN_MATCHER_H_ 5 #ifndef CHROMEOS_NETWORK_CLIENT_CERT_UTIL_H_
6 #define CHROMEOS_NETWORK_CERTIFICATE_PATTERN_MATCHER_H_ 6 #define CHROMEOS_NETWORK_CLIENT_CERT_UTIL_H_
7
8 #include <string>
7 9
8 #include "base/memory/ref_counted.h" 10 #include "base/memory/ref_counted.h"
9 #include "chromeos/chromeos_export.h" 11 #include "chromeos/chromeos_export.h"
10 12
13 namespace base {
14 class DictionaryValue;
15 }
16
11 namespace net { 17 namespace net {
18 struct CertPrincipal;
12 class X509Certificate; 19 class X509Certificate;
13 } 20 }
14 21
15 namespace chromeos { 22 namespace chromeos {
16 23
17 class CertificatePattern; 24 class CertificatePattern;
25 class IssuerSubjectPattern;
18 26
19 namespace certificate_pattern { 27 namespace client_cert {
28
29 enum ConfigType {
30 CONFIG_TYPE_NONE,
31 CONFIG_TYPE_OPENVPN,
32 CONFIG_TYPE_IPSEC,
33 CONFIG_TYPE_EAP
34 };
35
36 // Returns true only if any fields set in this pattern match exactly with
37 // similar fields in the principal. If organization_ or organizational_unit_
38 // are set, then at least one of the organizations or units in the principal
39 // must match.
40 bool CertPrincipalMatches(const IssuerSubjectPattern& pattern,
41 const net::CertPrincipal& principal);
20 42
21 // Fetches the matching certificate that has the latest valid start date. 43 // Fetches the matching certificate that has the latest valid start date.
22 // Returns a NULL refptr if there is no such match. 44 // Returns a NULL refptr if there is no such match.
23 CHROMEOS_EXPORT scoped_refptr<net::X509Certificate> GetCertificateMatch( 45 CHROMEOS_EXPORT scoped_refptr<net::X509Certificate> GetCertificateMatch(
24 const CertificatePattern& pattern); 46 const CertificatePattern& pattern);
25 47
26 } // namespace certificate_pattern 48 // If not empty, sets the TPM properties in |properties|. If |pkcs11_id| is not
49 // NULL, also sets the ClientCertID. |cert_config_type| determines which
50 // dictionary entries to set.
51 void SetShillProperties(const ConfigType cert_config_type,
52 const std::string& tpm_slot,
53 const std::string& tpm_pin,
54 const std::string* pkcs11_id,
55 base::DictionaryValue* properties);
56
57 } // namespace client_cert
27 58
28 } // namespace chromeos 59 } // namespace chromeos
29 60
30 #endif // CHROMEOS_NETWORK_CERTIFICATE_PATTERN_MATCHER_H_ 61 #endif // CHROMEOS_NETWORK_CLIENT_CERT_UTIL_H_
OLDNEW
« no previous file with comments | « chromeos/network/certificate_pattern_matcher.cc ('k') | chromeos/network/client_cert_util.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698