| // Copyright 2023 The ChromiumOS Authors |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| #ifndef LIBHWSEC_FRONTEND_ATTESTATION_MOCK_FRONTEND_H_ |
| #define LIBHWSEC_FRONTEND_ATTESTATION_MOCK_FRONTEND_H_ |
| |
| #include <string> |
| #include <vector> |
| |
| #include <attestation/proto_bindings/attestation_ca.pb.h> |
| #include <attestation/proto_bindings/database.pb.h> |
| #include <brillo/secure_blob.h> |
| #include <gmock/gmock.h> |
| |
| #include "libhwsec/frontend/attestation/frontend.h" |
| #include "libhwsec/frontend/mock_frontend.h" |
| #include "libhwsec/status.h" |
| |
| namespace hwsec { |
| |
| class MockAttestationFrontend : public MockFrontend, |
| public AttestationFrontend { |
| public: |
| MockAttestationFrontend() = default; |
| ~MockAttestationFrontend() override = default; |
| MOCK_METHOD(StatusOr<attestation::TpmVersion>, |
| GetVersion, |
| (), |
| (const override)); |
| MOCK_METHOD(Status, WaitUntilReady, (), (const override)); |
| MOCK_METHOD(StatusOr<brillo::SecureBlob>, |
| Unseal, |
| (const brillo::Blob& sealed_data), |
| (const override)); |
| MOCK_METHOD(StatusOr<brillo::Blob>, |
| Seal, |
| (const brillo::SecureBlob& unsealed_data), |
| (const override)); |
| MOCK_METHOD(StatusOr<attestation::Quote>, |
| Quote, |
| (DeviceConfig device_config, const brillo::Blob& key_blob), |
| (const override)); |
| MOCK_METHOD(StatusOr<bool>, |
| IsQuoted, |
| (DeviceConfig device_config, const attestation::Quote& quote), |
| (const override)); |
| MOCK_METHOD(StatusOr<DeviceConfigSettings::BootModeSetting::Mode>, |
| GetCurrentBootMode, |
| (), |
| (const override)); |
| MOCK_METHOD(StatusOr<attestation::Quote>, |
| CertifyNV, |
| (RoSpace space, const brillo::Blob& key_blob), |
| (const override)); |
| MOCK_METHOD(StatusOr<attestation::CertifiedKey>, |
| CreateCertifiedKey, |
| (const brillo::Blob& identity_key_blob, |
| attestation::KeyType key_type, |
| attestation::KeyUsage key_usage, |
| KeyRestriction restriction, |
| EndorsementAuth endorsement_auth, |
| const std::string& external_data), |
| (const override)); |
| MOCK_METHOD(StatusOr<Attestation::CreateIdentityResult>, |
| CreateIdentity, |
| (attestation::KeyType key_type), |
| (const override)); |
| MOCK_METHOD(StatusOr<brillo::Blob>, |
| GetEndorsementPublicKey, |
| (attestation::KeyType key_type, |
| KeyManagement::PublicKeyEncoding encoding), |
| (const override)); |
| MOCK_METHOD(StatusOr<std::vector<attestation::KeyType>>, |
| GetSupportedKeyTypes, |
| (), |
| (const override)); |
| MOCK_METHOD(StatusOr<brillo::Blob>, |
| Sign, |
| (const brillo::Blob& key_blob, const brillo::Blob& data), |
| (const override)); |
| MOCK_METHOD( |
| StatusOr<brillo::SecureBlob>, |
| ActivateIdentity, |
| (attestation::KeyType key_type, |
| const brillo::Blob& identity_key_blob, |
| const attestation::EncryptedIdentityCredential& encrypted_certificate), |
| (const override)); |
| MOCK_METHOD(StatusOr<brillo::Blob>, |
| GetEndorsementCert, |
| (attestation::KeyType key_type), |
| (const override)); |
| MOCK_METHOD(StatusOr<bool>, IsReady, (), (const override)); |
| MOCK_METHOD(Status, FinalizeEnrollmentPreparation, (), (const override)); |
| }; |
| |
| } // namespace hwsec |
| |
| #endif // LIBHWSEC_FRONTEND_ATTESTATION_MOCK_FRONTEND_H_ |