1// Copyright (c) 2011 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/test_root_certs.h"
6
7#include "base/location.h"
8#include "base/logging.h"
9#include "net/android/network_library.h"
10#include "net/cert/x509_certificate.h"
11
12namespace net {
13
14bool TestRootCerts::Add(X509Certificate* certificate) {
15  std::string cert_bytes;
16  if (!X509Certificate::GetDEREncoded(certificate->os_cert_handle(),
17                                      &cert_bytes))
18      return false;
19  android::AddTestRootCertificate(
20      reinterpret_cast<const uint8*>(cert_bytes.data()), cert_bytes.size());
21  empty_ = false;
22  return true;
23}
24
25void TestRootCerts::Clear() {
26  if (empty_)
27    return;
28
29  android::ClearTestRootCertificates();
30  empty_ = true;
31}
32
33bool TestRootCerts::IsEmpty() const {
34  return empty_;
35}
36
37TestRootCerts::~TestRootCerts() {}
38
39void TestRootCerts::Init() {
40  empty_ = true;
41}
42
43}  // namespace net
44