• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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
3 // found in the LICENSE file.
4 
5 #include "net/cert/x509_certificate_net_log_param.h"
6 
7 #include <string>
8 #include <vector>
9 
10 #include "base/values.h"
11 #include "net/cert/x509_certificate.h"
12 
13 namespace net {
14 
NetLogX509CertificateCallback(const X509Certificate * certificate,NetLog::LogLevel log_level)15 base::Value* NetLogX509CertificateCallback(const X509Certificate* certificate,
16                                            NetLog::LogLevel log_level) {
17   base::DictionaryValue* dict = new base::DictionaryValue();
18   base::ListValue* certs = new base::ListValue();
19   std::vector<std::string> encoded_chain;
20   certificate->GetPEMEncodedChain(&encoded_chain);
21   for (size_t i = 0; i < encoded_chain.size(); ++i)
22     certs->Append(new base::StringValue(encoded_chain[i]));
23   dict->Set("certificates", certs);
24   return dict;
25 }
26 
27 }  // namespace net
28