OLD | NEW |
---|---|
(Empty) | |
1 // Copyright (c) 2015 The Chromium Authors. All rights reserved. | |
2 // Use of this source code is governed by a BSD-style license that can be | |
3 // found in the LICENSE file. | |
4 | |
5 #include "net/cert/mock_client_cert_verifier.h" | |
6 | |
7 #include "net/base/net_errors.h" | |
8 #include "net/cert/x509_certificate.h" | |
9 | |
10 namespace net { | |
11 | |
12 struct MockClientCertVerifier::Rule { | |
13 Rule(X509Certificate* cert, int rv) : cert(cert), rv(rv) { DCHECK(cert); } | |
14 | |
15 scoped_refptr<X509Certificate> cert; | |
16 int rv; | |
17 }; | |
18 | |
19 MockClientCertVerifier::MockClientCertVerifier() | |
20 : default_result_(ERR_CERT_INVALID) {} | |
21 | |
22 MockClientCertVerifier::~MockClientCertVerifier() {} | |
23 | |
24 int MockClientCertVerifier::Verify(X509Certificate* cert) { | |
25 RuleList::const_iterator it; | |
26 for (it = rules_.begin(); it != rules_.end(); ++it) { | |
davidben
2015/12/14 23:56:49
This is a little clearer as:
for (const Rule& r
ryanchung
2015/12/16 22:40:01
Done.
| |
27 // Check just the server cert. Intermediates will be ignored. | |
28 if (!it->cert->Equals(cert)) | |
29 continue; | |
30 return it->rv; | |
31 } | |
32 | |
33 // Fall through to the default. | |
34 return default_result_; | |
35 } | |
36 | |
37 void MockClientCertVerifier::AddResultForCert(X509Certificate* cert, int rv) { | |
38 Rule rule(cert, rv); | |
39 rules_.push_back(rule); | |
40 } | |
41 | |
42 } // namespace net | |
OLD | NEW |