#include "chrome/browser/enterprise/client_certificates/certificate_store_factory.h"
#include <memory>
#include "base/no_destructor.h"
#include "chrome/browser/profiles/profile.h"
#include "chrome/common/chrome_version.h"
#include "components/enterprise/client_certificates/core/certificate_store.h"
#include "components/enterprise/client_certificates/core/ec_private_key_factory.h"
#include "components/enterprise/client_certificates/core/private_key_factory.h"
#include "components/enterprise/client_certificates/core/unexportable_private_key_factory.h"
#include "components/keyed_service/core/keyed_service.h"
#include "content/public/browser/browser_context.h"
#include "content/public/browser/storage_partition.h"
#include "crypto/unexportable_key.h"
namespace client_certificates {
namespace {
#if BUILDFLAG(IS_MAC)
constexpr char kUnexportableKeyKeychainAccessGroup[] =
MAC_TEAM_IDENTIFIER_STRING "." MAC_BUNDLE_IDENTIFIER_STRING ".devicetrust";
#endif
std::unique_ptr<PrivateKeyFactory> CreatePrivateKeyFactory() { … }
}
CertificateStoreFactory* CertificateStoreFactory::GetInstance() { … }
CertificateStore* CertificateStoreFactory::GetForProfile(Profile* profile) { … }
CertificateStoreFactory::CertificateStoreFactory()
: … { … }
CertificateStoreFactory::~CertificateStoreFactory() = default;
std::unique_ptr<KeyedService>
CertificateStoreFactory::BuildServiceInstanceForBrowserContext(
content::BrowserContext* context) const { … }
}