Home | History | Annotate | Download | only in cert
      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 
     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