1 // Copyright 2021 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 <vector> 6 7 #include "crypto/scoped_mock_unexportable_key_provider.h" 8 #include "crypto/unexportable_key.h" 9 10 namespace crypto { 11 12 namespace { 13 GetUnexportableKeyProviderMock()14std::unique_ptr<UnexportableKeyProvider> GetUnexportableKeyProviderMock() { 15 return GetSoftwareUnsecureUnexportableKeyProvider(); 16 } 17 GetUnexportableKeyProviderNull()18std::unique_ptr<UnexportableKeyProvider> GetUnexportableKeyProviderNull() { 19 return nullptr; 20 } 21 22 } // namespace 23 ScopedMockUnexportableKeyProvider()24ScopedMockUnexportableKeyProvider::ScopedMockUnexportableKeyProvider() { 25 internal::SetUnexportableKeyProviderForTesting( 26 GetUnexportableKeyProviderMock); 27 } 28 ~ScopedMockUnexportableKeyProvider()29ScopedMockUnexportableKeyProvider::~ScopedMockUnexportableKeyProvider() { 30 internal::SetUnexportableKeyProviderForTesting(nullptr); 31 } 32 ScopedNullUnexportableKeyProvider()33ScopedNullUnexportableKeyProvider::ScopedNullUnexportableKeyProvider() { 34 internal::SetUnexportableKeyProviderForTesting( 35 GetUnexportableKeyProviderNull); 36 } 37 ~ScopedNullUnexportableKeyProvider()38ScopedNullUnexportableKeyProvider::~ScopedNullUnexportableKeyProvider() { 39 internal::SetUnexportableKeyProviderForTesting(nullptr); 40 } 41 42 } // namespace crypto 43