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

Side by Side Diff: net/base/x509_chain.h

Issue 3146034: Allow the constructed certificate chain to be returned in CertVerifyResult (Closed)
Patch Set: Created 10 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
« no previous file with comments | « net/base/x509_certificate_unittest.cc ('k') | net/base/x509_chain_mac.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) 2010 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2010 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_BASE_X509_CHAIN_H_ 5 #ifndef NET_BASE_X509_CHAIN_H_
6 #define NET_BASE_X509_CHAIN_H_ 6 #define NET_BASE_X509_CHAIN_H_
7 #pragma once 7 #pragma once
8 8
9 #include <string> 9 #include <string>
10 10
11 namespace net { 11 namespace net {
12 12
13 class CertVerifyResult; 13 class CertVerifyResult;
14 class X509Certificate; 14 class X509Certificate;
15 15
16 // Functions related to X.509 certificate chain building and verification. 16 // Functions related to X.509 certificate chain building and verification.
17 namespace x509_chain { 17 namespace x509_chain {
18 18
19 enum VerifyFlags { 19 enum VerifyFlags {
20 VERIFY_REV_CHECKING_ENABLED = 1 << 0, 20 VERIFY_REV_CHECKING_ENABLED = 1 << 0,
21 VERIFY_EV_CERT = 1 << 1, 21 VERIFY_EV_CERT = 1 << 1,
22 VERIFY_RETURN_CHAIN = 1 << 2,
22 }; 23 };
23 24
24 // Verifies that |certificate| is a valid SSL server certificate for the 25 // Verifies that |certificate| is a valid SSL server certificate for the
25 // given |hostname|. against the given hostname. Returns OK if successful 26 // given |hostname|. against the given hostname. Returns OK if successful
26 // or an error code upon failure. 27 // or an error code upon failure.
27 // 28 //
28 // The |*verify_result| structure, including the |verify_result->cert_status| 29 // The |*verify_result| structure, including the |verify_result->cert_status|
29 // bitmask, is always filled out regardless of the return value. If the 30 // bitmask, is always filled out regardless of the return value. If the
30 // certificate has multiple errors, the corresponding status flags are set in 31 // certificate has multiple errors, the corresponding status flags are set in
31 // |verify_result->cert_status|, and the error code for the most serious 32 // |verify_result->cert_status|, and the error code for the most serious
32 // error is returned. 33 // error is returned.
33 // 34 //
34 // |flags| is bitwise OR'd of VerifyFlags. 35 // |flags| is bitwise OR'd of VerifyFlags.
35 // If VERIFY_REV_CHECKING_ENABLED is set in |flags|, certificate revocation 36 // If VERIFY_REV_CHECKING_ENABLED is set in |flags|, certificate revocation
36 // checking is performed. If VERIFY_EV_CERT is set in |flags| too, 37 // checking is performed. If VERIFY_EV_CERT is set in |flags| too,
37 // EV certificate verification is performed. 38 // EV certificate verification is performed.
38 int VerifySSLServer(X509Certificate* certificate, const std::string& hostname, 39 int VerifySSLServer(X509Certificate* certificate, const std::string& hostname,
39 int flags, CertVerifyResult* verify_result); 40 int flags, CertVerifyResult* verify_result);
40 41
41 } // namespace x509_chain 42 } // namespace x509_chain
42 43
43 } // namespace net 44 } // namespace net
44 45
45 #endif // NET_BASE_X509_CHAIN_H_ 46 #endif // NET_BASE_X509_CHAIN_H_
OLDNEW
« no previous file with comments | « net/base/x509_certificate_unittest.cc ('k') | net/base/x509_chain_mac.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698