| // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| #include "net/base/x509_certificate_net_log_param.h" |
| |
| #include <string> |
| #include <vector> |
| |
| #include "base/values.h" |
| #include "net/base/x509_certificate.h" |
| |
| namespace net { |
| |
| base::Value* NetLogX509CertificateCallback(const X509Certificate* certificate, |
| NetLog::LogLevel log_level) { |
| DictionaryValue* dict = new DictionaryValue(); |
| ListValue* certs = new ListValue(); |
| std::vector<std::string> encoded_chain; |
| certificate->GetPEMEncodedChain(&encoded_chain); |
| for (size_t i = 0; i < encoded_chain.size(); ++i) |
| certs->Append(base::Value::CreateStringValue(encoded_chain[i])); |
| dict->Set("certificates", certs); |
| return dict; |
| } |
| |
| } // namespace net |