12a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)// Copyright (c) 2011 The Chromium Authors. All rights reserved. 22a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be 32a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)// found in the LICENSE file. 42a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 5c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)#include "net/cert/test_root_certs.h" 62a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 72a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#include "base/location.h" 82a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#include "base/logging.h" 92a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#include "net/android/network_library.h" 10c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)#include "net/cert/x509_certificate.h" 112a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 122a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)namespace net { 132a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 142a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)bool TestRootCerts::Add(X509Certificate* certificate) { 152a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) std::string cert_bytes; 162a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) if (!X509Certificate::GetDEREncoded(certificate->os_cert_handle(), 172a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) &cert_bytes)) 182a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) return false; 192a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) android::AddTestRootCertificate( 202a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) reinterpret_cast<const uint8*>(cert_bytes.data()), cert_bytes.size()); 21eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch empty_ = false; 222a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) return true; 232a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)} 242a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 252a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)void TestRootCerts::Clear() { 262a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) if (empty_) 272a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) return; 282a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 292a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) android::ClearTestRootCertificates(); 302a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) empty_ = true; 312a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)} 322a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 332a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)bool TestRootCerts::IsEmpty() const { 342a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) return empty_; 352a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)} 362a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 372a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)TestRootCerts::~TestRootCerts() {} 382a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 392a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)void TestRootCerts::Init() { 402a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) empty_ = true; 412a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)} 422a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 432a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)} // namespace net 44