1 // Copyright 2016 The Chromium Authors 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 "cert_issuer_source_static.h" 6 7 namespace bssl { 8 9 CertIssuerSourceStatic::CertIssuerSourceStatic() = default; 10 CertIssuerSourceStatic::~CertIssuerSourceStatic() = default; 11 AddCert(std::shared_ptr<const ParsedCertificate> cert)12void CertIssuerSourceStatic::AddCert( 13 std::shared_ptr<const ParsedCertificate> cert) { 14 intermediates_.insert(std::make_pair( 15 cert->normalized_subject().AsStringView(), std::move(cert))); 16 } 17 Clear()18void CertIssuerSourceStatic::Clear() { 19 intermediates_.clear(); 20 } 21 SyncGetIssuersOf(const ParsedCertificate * cert,ParsedCertificateList * issuers)22void CertIssuerSourceStatic::SyncGetIssuersOf(const ParsedCertificate* cert, 23 ParsedCertificateList* issuers) { 24 auto range = 25 intermediates_.equal_range(cert->normalized_issuer().AsStringView()); 26 for (auto it = range.first; it != range.second; ++it) 27 issuers->push_back(it->second); 28 } 29 AsyncGetIssuersOf(const ParsedCertificate * cert,std::unique_ptr<Request> * out_req)30void CertIssuerSourceStatic::AsyncGetIssuersOf( 31 const ParsedCertificate* cert, 32 std::unique_ptr<Request>* out_req) { 33 // CertIssuerSourceStatic never returns asynchronous results. 34 out_req->reset(); 35 } 36 37 } // namespace net 38