#include "components/enterprise/client_certificates/core/client_certificates_service.h"
#include <iterator>
#include <memory>
#include <numeric>
#include <utility>
#include "base/barrier_callback.h"
#include "base/check.h"
#include "base/containers/extend.h"
#include "base/functional/bind.h"
#include "base/functional/callback.h"
#include "base/memory/weak_ptr.h"
#include "components/enterprise/client_certificates/core/certificate_provisioning_service.h"
#include "components/enterprise/client_certificates/core/client_identity.h"
#include "components/enterprise/client_certificates/core/private_key.h"
#include "components/enterprise/client_certificates/core/ssl_client_cert_identity_wrapper.h"
#include "net/ssl/client_cert_identity.h"
#include "net/ssl/client_cert_store.h"
#include "net/ssl/ssl_cert_request_info.h"
#include "net/ssl/ssl_platform_key_util.h"
#include "net/ssl/threaded_ssl_private_key.h"
namespace client_certificates {
namespace {
void ConvertIdentityToList(
base::OnceCallback<void(net::ClientCertIdentityList)> callback,
std::optional<ClientIdentity> managed_identity) { … }
}
class ClientCertificatesServiceImpl : public ClientCertificatesService { … };
std::unique_ptr<ClientCertificatesService> ClientCertificatesService::Create(
CertificateProvisioningService* certificate_provisioning_service,
std::unique_ptr<net::ClientCertStore> platform_certificate_store) { … }
ClientCertificatesServiceImpl::ClientCertificatesServiceImpl(
CertificateProvisioningService* certificate_provisioning_service,
std::unique_ptr<net::ClientCertStore> platform_certificate_store)
: … { … }
ClientCertificatesServiceImpl::~ClientCertificatesServiceImpl() = default;
void ClientCertificatesServiceImpl::GetClientCerts(
scoped_refptr<const net::SSLCertRequestInfo> cert_request_info,
ClientCertListCallback callback) { … }
void ClientCertificatesServiceImpl::FlattenLists(
ClientCertListCallback callback,
std::vector<net::ClientCertIdentityList> client_certs_lists) { … }
}