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

Side by Side Diff: net/cert/x509_util_mac.h

Issue 266243004: Clang format slam. Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 6 years, 7 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
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 NET_CERT_X509_UTIL_MAC_H_ 5 #ifndef NET_CERT_X509_UTIL_MAC_H_
6 #define NET_CERT_X509_UTIL_MAC_H_ 6 #define NET_CERT_X509_UTIL_MAC_H_
7 7
8 #include <CoreFoundation/CFArray.h> 8 #include <CoreFoundation/CFArray.h>
9 #include <Security/Security.h> 9 #include <Security/Security.h>
10 10
(...skipping 14 matching lines...) Expand all
25 25
26 // Create an SSL server policy. While certificate name validation will be 26 // Create an SSL server policy. While certificate name validation will be
27 // performed by SecTrustEvaluate(), it has the following limitations: 27 // performed by SecTrustEvaluate(), it has the following limitations:
28 // - Doesn't support IP addresses in dotted-quad literals (127.0.0.1) 28 // - Doesn't support IP addresses in dotted-quad literals (127.0.0.1)
29 // - Doesn't support IPv6 addresses 29 // - Doesn't support IPv6 addresses
30 // - Doesn't support the iPAddress subjectAltName 30 // - Doesn't support the iPAddress subjectAltName
31 // Providing the hostname is necessary in order to locate certain user or 31 // Providing the hostname is necessary in order to locate certain user or
32 // system trust preferences, such as those created by Safari. Preferences 32 // system trust preferences, such as those created by Safari. Preferences
33 // created by Keychain Access do not share this requirement. 33 // created by Keychain Access do not share this requirement.
34 // On success, stores the resultant policy in |*policy| and returns noErr. 34 // On success, stores the resultant policy in |*policy| and returns noErr.
35 OSStatus NET_EXPORT CreateSSLServerPolicy(const std::string& hostname, 35 OSStatus NET_EXPORT
36 SecPolicyRef* policy); 36 CreateSSLServerPolicy(const std::string& hostname, SecPolicyRef* policy);
37 37
38 // Creates a security policy for basic X.509 validation. If the policy is 38 // Creates a security policy for basic X.509 validation. If the policy is
39 // successfully created, it will be stored in |*policy| and ownership 39 // successfully created, it will be stored in |*policy| and ownership
40 // transferred to the caller. 40 // transferred to the caller.
41 OSStatus NET_EXPORT CreateBasicX509Policy(SecPolicyRef* policy); 41 OSStatus NET_EXPORT CreateBasicX509Policy(SecPolicyRef* policy);
42 42
43 // Creates security policies to control revocation checking (OCSP and CRL). 43 // Creates security policies to control revocation checking (OCSP and CRL).
44 // If |enable_revocation_checking| is true, revocation checking will be 44 // If |enable_revocation_checking| is true, revocation checking will be
45 // explicitly enabled. 45 // explicitly enabled.
46 // If |enable_revocation_checking| is false, but |enable_ev_checking| is 46 // If |enable_revocation_checking| is false, but |enable_ev_checking| is
(...skipping 22 matching lines...) Expand all
69 ~CSSMFieldValue(); 69 ~CSSMFieldValue();
70 70
71 CSSM_OID_PTR oid() const { return oid_; } 71 CSSM_OID_PTR oid() const { return oid_; }
72 CSSM_DATA_PTR field() const { return field_; } 72 CSSM_DATA_PTR field() const { return field_; }
73 73
74 // Returns the field as if it was an arbitrary type - most commonly, by 74 // Returns the field as if it was an arbitrary type - most commonly, by
75 // interpreting the field as a specific CSSM/CDSA parsed type, such as 75 // interpreting the field as a specific CSSM/CDSA parsed type, such as
76 // CSSM_X509_SUBJECT_PUBLIC_KEY_INFO or CSSM_X509_ALGORITHM_IDENTIFIER. 76 // CSSM_X509_SUBJECT_PUBLIC_KEY_INFO or CSSM_X509_ALGORITHM_IDENTIFIER.
77 // An added check is applied to ensure that the current field is large 77 // An added check is applied to ensure that the current field is large
78 // enough to actually contain the requested type. 78 // enough to actually contain the requested type.
79 template <typename T> const T* GetAs() const { 79 template <typename T>
80 const T* GetAs() const {
80 if (!field_ || field_->Length < sizeof(T)) 81 if (!field_ || field_->Length < sizeof(T))
81 return NULL; 82 return NULL;
82 return reinterpret_cast<const T*>(field_->Data); 83 return reinterpret_cast<const T*>(field_->Data);
83 } 84 }
84 85
85 void Reset(CSSM_CL_HANDLE cl_handle, 86 void Reset(CSSM_CL_HANDLE cl_handle, CSSM_OID_PTR oid, CSSM_DATA_PTR field);
86 CSSM_OID_PTR oid,
87 CSSM_DATA_PTR field);
88 87
89 private: 88 private:
90 CSSM_CL_HANDLE cl_handle_; 89 CSSM_CL_HANDLE cl_handle_;
91 CSSM_OID_PTR oid_; 90 CSSM_OID_PTR oid_;
92 CSSM_DATA_PTR field_; 91 CSSM_DATA_PTR field_;
93 92
94 DISALLOW_COPY_AND_ASSIGN(CSSMFieldValue); 93 DISALLOW_COPY_AND_ASSIGN(CSSMFieldValue);
95 }; 94 };
96 95
97 // CSSMCachedCertificate is a container class that is used to wrap the 96 // CSSMCachedCertificate is a container class that is used to wrap the
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after
130 private: 129 private:
131 CSSM_CL_HANDLE cl_handle_; 130 CSSM_CL_HANDLE cl_handle_;
132 CSSM_HANDLE cached_cert_handle_; 131 CSSM_HANDLE cached_cert_handle_;
133 }; 132 };
134 133
135 } // namespace x509_util 134 } // namespace x509_util
136 135
137 } // namespace net 136 } // namespace net
138 137
139 #endif // NET_CERT_X509_UTIL_MAC_H_ 138 #endif // NET_CERT_X509_UTIL_MAC_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698