mirror of
https://github.com/klzgrad/naiveproxy.git
synced 2024-11-24 06:16:30 +03:00
32 lines
985 B
C++
32 lines
985 B
C++
// 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 <memory>
|
|
#include <string>
|
|
#include <utility>
|
|
#include <vector>
|
|
|
|
#include "base/values.h"
|
|
#include "net/cert/x509_certificate.h"
|
|
#include "net/log/net_log_capture_mode.h"
|
|
|
|
namespace net {
|
|
|
|
std::unique_ptr<base::Value> NetLogX509CertificateCallback(
|
|
const X509Certificate* certificate,
|
|
NetLogCaptureMode capture_mode) {
|
|
std::unique_ptr<base::DictionaryValue> dict(new base::DictionaryValue());
|
|
std::unique_ptr<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->AppendString(encoded_chain[i]);
|
|
dict->Set("certificates", std::move(certs));
|
|
return std::move(dict);
|
|
}
|
|
|
|
} // namespace net
|