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

Side by Side Diff: net/socket/dns_cert_provenance_checker.h

Issue 6085013: Start reordering the methods in headers in net/. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 9 years, 11 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) 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_SOCKET_DNS_CERT_PROVENANCE_CHECKER_H 5 #ifndef NET_SOCKET_DNS_CERT_PROVENANCE_CHECKER_H
6 #define NET_SOCKET_DNS_CERT_PROVENANCE_CHECKER_H 6 #define NET_SOCKET_DNS_CERT_PROVENANCE_CHECKER_H
7 7
8 #include <string> 8 #include <string>
9 #include <vector> 9 #include <vector>
10 10
11 #include "base/string_piece.h" 11 #include "base/string_piece.h"
12 12
13 namespace net { 13 namespace net {
14 14
15 class DnsRRResolver; 15 class DnsRRResolver;
16 16
17 // DnsCertProvenanceChecker is an interface for asynchronously checking HTTPS 17 // DnsCertProvenanceChecker is an interface for asynchronously checking HTTPS
18 // certificates via a DNS side-channel. 18 // certificates via a DNS side-channel.
19 class DnsCertProvenanceChecker { 19 class DnsCertProvenanceChecker {
20 public: 20 public:
21 class Delegate { 21 class Delegate {
22 public: 22 public:
23 virtual ~Delegate(); 23 virtual ~Delegate();
24 24
25 virtual void OnDnsCertLookupFailed( 25 virtual void OnDnsCertLookupFailed(
26 const std::string& hostname, 26 const std::string& hostname,
27 const std::vector<std::string>& der_certs) = 0; 27 const std::vector<std::string>& der_certs) = 0;
28 }; 28 };
29 29
30 virtual ~DnsCertProvenanceChecker();
31
30 virtual void Shutdown() = 0; 32 virtual void Shutdown() = 0;
31 33
32 virtual ~DnsCertProvenanceChecker();
33
34 // DoAsyncVerification starts an asynchronous check for the given certificate 34 // DoAsyncVerification starts an asynchronous check for the given certificate
35 // chain. It must be run on the network thread. 35 // chain. It must be run on the network thread.
36 virtual void DoAsyncVerification( 36 virtual void DoAsyncVerification(
37 const std::string& hostname, 37 const std::string& hostname,
38 const std::vector<base::StringPiece>& der_certs) = 0; 38 const std::vector<base::StringPiece>& der_certs) = 0;
39 39
40 40
41 protected: 41 protected:
42 // DoAsyncLookup performs a DNS lookup for the given name and certificate 42 // DoAsyncLookup performs a DNS lookup for the given name and certificate
43 // chain. In the event that the lookup reports a failure, the Delegate is 43 // chain. In the event that the lookup reports a failure, the Delegate is
44 // called back. 44 // called back.
45 static void DoAsyncLookup( 45 static void DoAsyncLookup(
46 const std::string& hostname, 46 const std::string& hostname,
47 const std::vector<base::StringPiece>& der_certs, 47 const std::vector<base::StringPiece>& der_certs,
48 DnsRRResolver* dnsrr_resolver, 48 DnsRRResolver* dnsrr_resolver,
49 Delegate* delegate); 49 Delegate* delegate);
50 50
51 // BuildEncryptedRecord encrypts the certificate chain to a fixed public key 51 // BuildEncryptedRecord encrypts the certificate chain to a fixed public key
52 // and returns the encrypted blob. Since this code is reporting a possible 52 // and returns the encrypted blob. Since this code is reporting a possible
53 // HTTPS failure, it would seem silly to use HTTPS to protect the uploaded 53 // HTTPS failure, it would seem silly to use HTTPS to protect the uploaded
54 // report. 54 // report.
55 static std::string BuildEncryptedReport( 55 static std::string BuildEncryptedReport(
56 const std::string& hostname, 56 const std::string& hostname,
57 const std::vector<std::string>& der_certs); 57 const std::vector<std::string>& der_certs);
58 }; 58 };
59 59
60 } // namespace net 60 } // namespace net
61 61
62 #endif // NET_SOCKET_DNS_CERT_PROVENANCE_CHECK_H 62 #endif // NET_SOCKET_DNS_CERT_PROVENANCE_CHECK_H
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698