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.
5 #include "net/cert/x509_certificate_net_log_param.h"
10 #include "base/values.h"
11 #include "net/cert/x509_certificate.h"
15 base::Value
* NetLogX509CertificateCallback(const X509Certificate
* certificate
,
16 NetLogCaptureMode capture_mode
) {
17 scoped_ptr
<base::DictionaryValue
> dict(new base::DictionaryValue());
18 scoped_ptr
<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
.Pass());
24 return dict
.release();