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 12 namespace net { 13 14 bool 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 25 void TestRootCerts::Clear() { 26 if (empty_) 27 return; 28 29 android::ClearTestRootCertificates(); 30 empty_ = true; 31 } 32 33 bool TestRootCerts::IsEmpty() const { 34 return empty_; 35 } 36 37 TestRootCerts::~TestRootCerts() {} 38 39 void TestRootCerts::Init() { 40 empty_ = true; 41 } 42 43 } // namespace net 44