summaryrefslogtreecommitdiff
path: root/OvmfPkg/Include/Library/BlobVerifierLib.h
blob: 7e1af27574dc4d4ed15c2038c3262af19987bfd2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
/** @file

  Blob verification library

  This library class allows verifiying whether blobs from external sources
  (such as QEMU's firmware config) are trusted.

  Copyright (C) 2021, IBM Corporation

  SPDX-License-Identifier: BSD-2-Clause-Patent
**/

#ifndef BLOB_VERIFIER_LIB_H_
#define BLOB_VERIFIER_LIB_H_

#include <Uefi/UefiBaseType.h>
#include <Base.h>

/**
  Verify blob from an external source.

  @param[in] BlobName           The name of the blob
  @param[in] Buf                The data of the blob
  @param[in] BufSize            The size of the blob in bytes

  @retval EFI_SUCCESS           The blob was verified successfully.
  @retval EFI_ACCESS_DENIED     The blob could not be verified, and therefore
                                should be considered non-secure.
**/
EFI_STATUS
EFIAPI
VerifyBlob (
  IN  CONST CHAR16  *BlobName,
  IN  CONST VOID    *Buf,
  IN  UINT32        BufSize
  );

#endif