diff options
Diffstat (limited to 'net/cert/x509_certificate_net_log_param.cc')
-rw-r--r-- | net/cert/x509_certificate_net_log_param.cc | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/net/cert/x509_certificate_net_log_param.cc b/net/cert/x509_certificate_net_log_param.cc new file mode 100644 index 0000000..3c52b96 --- /dev/null +++ b/net/cert/x509_certificate_net_log_param.cc @@ -0,0 +1,27 @@ +// 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/cert/x509_certificate_net_log_param.h" + +#include <string> +#include <vector> + +#include "base/values.h" +#include "net/cert/x509_certificate.h" + +namespace net { + +base::Value* NetLogX509CertificateCallback(const X509Certificate* certificate, + NetLog::LogLevel log_level) { + base::DictionaryValue* dict = new base::DictionaryValue(); + base::ListValue* certs = new base::ListValue(); + std::vector<std::string> encoded_chain; + certificate->GetPEMEncodedChain(&encoded_chain); + for (size_t i = 0; i < encoded_chain.size(); ++i) + certs->Append(new base::StringValue(encoded_chain[i])); + dict->Set("certificates", certs); + return dict; +} + +} // namespace net |