#include "crypto/unexportable_key.h"
-#include "base/bind.h"
#include "base/check.h"
+#include "base/functional/bind.h"
#include "build/build_config.h"
namespace crypto {
UnexportableSigningKey::~UnexportableSigningKey() = default;
UnexportableKeyProvider::~UnexportableKeyProvider() = default;
+VirtualUnexportableSigningKey::~VirtualUnexportableSigningKey() = default;
+VirtualUnexportableKeyProvider::~VirtualUnexportableKeyProvider() = default;
+
#if BUILDFLAG(IS_WIN)
std::unique_ptr<UnexportableKeyProvider> GetUnexportableKeyProviderWin();
+std::unique_ptr<VirtualUnexportableKeyProvider>
+GetVirtualUnexportableKeyProviderWin();
#endif
+// Implemented in unexportable_key_software_unsecure.cc.
+std::unique_ptr<UnexportableKeyProvider>
+GetUnexportableKeyProviderSoftwareUnsecure();
+
std::unique_ptr<UnexportableKeyProvider> GetUnexportableKeyProvider() {
if (g_mock_provider) {
return g_mock_provider();
#endif
}
+std::unique_ptr<VirtualUnexportableKeyProvider>
+GetVirtualUnexportableKeyProvider_DO_NOT_USE_METRICS_ONLY() {
+#if BUILDFLAG(IS_WIN)
+ return GetVirtualUnexportableKeyProviderWin();
+#else
+ return nullptr;
+#endif
+}
+
namespace internal {
void SetUnexportableKeyProviderForTesting(