TianoCore EDK2 master
Loading...
Searching...
No Matches
DxeImageVerificationLib.h File Reference

Go to the source code of this file.

Data Structures

struct  WIN_CERTIFICATE_EFI_PKCS
 
struct  HASH_TABLE
 

Macros

#define EFI_CERT_TYPE_RSA2048_SHA256_SIZE   256
 
#define EFI_CERT_TYPE_RSA2048_SIZE   256
 
#define MAX_NOTIFY_STRING_LEN   64
 
#define TWO_BYTE_ENCODE   0x82
 
#define ALIGNMENT_SIZE   8
 
#define ALIGN_SIZE(a)   (((a) % ALIGNMENT_SIZE) ? ALIGNMENT_SIZE - ((a) % ALIGNMENT_SIZE) : 0)
 
#define IMAGE_UNKNOWN   0x00000000
 
#define IMAGE_FROM_FV   0x00000001
 
#define IMAGE_FROM_OPTION_ROM   0x00000002
 
#define IMAGE_FROM_REMOVABLE_MEDIA   0x00000003
 
#define IMAGE_FROM_FIXED_MEDIA   0x00000004
 
#define ALWAYS_EXECUTE   0x00000000
 
#define NEVER_EXECUTE   0x00000001
 
#define ALLOW_EXECUTE_ON_SECURITY_VIOLATION   0x00000002
 
#define DEFER_EXECUTE_ON_SECURITY_VIOLATION   0x00000003
 
#define DENY_EXECUTE_ON_SECURITY_VIOLATION   0x00000004
 
#define QUERY_USER_ON_SECURITY_VIOLATION   0x00000005
 
#define HASHALG_SHA1   0x00000000
 
#define HASHALG_SHA224   0x00000001
 
#define HASHALG_SHA256   0x00000002
 
#define HASHALG_SHA384   0x00000003
 
#define HASHALG_SHA512   0x00000004
 
#define HASHALG_MAX   0x00000005
 
#define MAX_DIGEST_SIZE   SHA512_DIGEST_SIZE
 

Typedefs

typedef UINTN(EFIAPI * HASH_GET_CONTEXT_SIZE) (VOID)
 
typedef BOOLEAN(EFIAPI * HASH_INIT) (IN OUT VOID *HashContext)
 
typedef BOOLEAN(EFIAPI * HASH_UPDATE) (IN OUT VOID *HashContext, IN CONST VOID *Data, IN UINTN DataLength)
 
typedef BOOLEAN(EFIAPI * HASH_FINAL) (IN OUT VOID *HashContext, OUT UINT8 *HashValue)
 

Detailed Description

The internal header file includes the common header files, defines internal structure and functions used by ImageVerificationLib.

Copyright (c) 2009 - 2014, Intel Corporation. All rights reserved.
SPDX-License-Identifier: BSD-2-Clause-Patent

Definition in file DxeImageVerificationLib.h.

Macro Definition Documentation

◆ ALIGN_SIZE

#define ALIGN_SIZE (   a)    (((a) % ALIGNMENT_SIZE) ? ALIGNMENT_SIZE - ((a) % ALIGNMENT_SIZE) : 0)

Definition at line 41 of file DxeImageVerificationLib.h.

◆ ALIGNMENT_SIZE

#define ALIGNMENT_SIZE   8

Definition at line 40 of file DxeImageVerificationLib.h.

◆ ALLOW_EXECUTE_ON_SECURITY_VIOLATION

#define ALLOW_EXECUTE_ON_SECURITY_VIOLATION   0x00000002

Definition at line 57 of file DxeImageVerificationLib.h.

◆ ALWAYS_EXECUTE

#define ALWAYS_EXECUTE   0x00000000

Definition at line 55 of file DxeImageVerificationLib.h.

◆ DEFER_EXECUTE_ON_SECURITY_VIOLATION

#define DEFER_EXECUTE_ON_SECURITY_VIOLATION   0x00000003

Definition at line 58 of file DxeImageVerificationLib.h.

◆ DENY_EXECUTE_ON_SECURITY_VIOLATION

#define DENY_EXECUTE_ON_SECURITY_VIOLATION   0x00000004

Definition at line 59 of file DxeImageVerificationLib.h.

◆ EFI_CERT_TYPE_RSA2048_SHA256_SIZE

#define EFI_CERT_TYPE_RSA2048_SHA256_SIZE   256

Definition at line 35 of file DxeImageVerificationLib.h.

◆ EFI_CERT_TYPE_RSA2048_SIZE

#define EFI_CERT_TYPE_RSA2048_SIZE   256

Definition at line 36 of file DxeImageVerificationLib.h.

◆ HASHALG_MAX

#define HASHALG_MAX   0x00000005

Definition at line 70 of file DxeImageVerificationLib.h.

◆ HASHALG_SHA1

#define HASHALG_SHA1   0x00000000

Definition at line 65 of file DxeImageVerificationLib.h.

◆ HASHALG_SHA224

#define HASHALG_SHA224   0x00000001

Definition at line 66 of file DxeImageVerificationLib.h.

◆ HASHALG_SHA256

#define HASHALG_SHA256   0x00000002

Definition at line 67 of file DxeImageVerificationLib.h.

◆ HASHALG_SHA384

#define HASHALG_SHA384   0x00000003

Definition at line 68 of file DxeImageVerificationLib.h.

◆ HASHALG_SHA512

#define HASHALG_SHA512   0x00000004

Definition at line 69 of file DxeImageVerificationLib.h.

◆ IMAGE_FROM_FIXED_MEDIA

#define IMAGE_FROM_FIXED_MEDIA   0x00000004

Definition at line 50 of file DxeImageVerificationLib.h.

◆ IMAGE_FROM_FV

#define IMAGE_FROM_FV   0x00000001

Definition at line 47 of file DxeImageVerificationLib.h.

◆ IMAGE_FROM_OPTION_ROM

#define IMAGE_FROM_OPTION_ROM   0x00000002

Definition at line 48 of file DxeImageVerificationLib.h.

◆ IMAGE_FROM_REMOVABLE_MEDIA

#define IMAGE_FROM_REMOVABLE_MEDIA   0x00000003

Definition at line 49 of file DxeImageVerificationLib.h.

◆ IMAGE_UNKNOWN

#define IMAGE_UNKNOWN   0x00000000

Definition at line 46 of file DxeImageVerificationLib.h.

◆ MAX_DIGEST_SIZE

#define MAX_DIGEST_SIZE   SHA512_DIGEST_SIZE

Definition at line 75 of file DxeImageVerificationLib.h.

◆ MAX_NOTIFY_STRING_LEN

#define MAX_NOTIFY_STRING_LEN   64

Definition at line 37 of file DxeImageVerificationLib.h.

◆ NEVER_EXECUTE

#define NEVER_EXECUTE   0x00000001

Definition at line 56 of file DxeImageVerificationLib.h.

◆ QUERY_USER_ON_SECURITY_VIOLATION

#define QUERY_USER_ON_SECURITY_VIOLATION   0x00000005

Definition at line 60 of file DxeImageVerificationLib.h.

◆ TWO_BYTE_ENCODE

#define TWO_BYTE_ENCODE   0x82

Definition at line 38 of file DxeImageVerificationLib.h.

Typedef Documentation

◆ HASH_FINAL

typedef BOOLEAN(EFIAPI * HASH_FINAL) (IN OUT VOID *HashContext, OUT UINT8 *HashValue)

Completes hash computation and retrieves the digest value into the specified memory. After this function has been called, the context cannot be used again.

If HashContext is NULL, then ASSERT(). If HashValue is NULL, then ASSERT().

Parameters
[in,out]HashContextPointer to the MD5 context
[out]HashValuePointer to a buffer that receives the HASH digest value.
Return values
TRUEHASH digest computation succeeded.
FALSEHASH digest computation failed.

Definition at line 154 of file DxeImageVerificationLib.h.

◆ HASH_GET_CONTEXT_SIZE

typedef UINTN(EFIAPI * HASH_GET_CONTEXT_SIZE) (VOID)

Retrieves the size, in bytes, of the context buffer required for hash operations.

Returns
The size, in bytes, of the context buffer required for hash operations.

Definition at line 92 of file DxeImageVerificationLib.h.

◆ HASH_INIT

typedef BOOLEAN(EFIAPI * HASH_INIT) (IN OUT VOID *HashContext)

Initializes user-supplied memory pointed by HashContext as hash context for subsequent use.

If HashContext is NULL, then ASSERT().

Parameters
[in,out]HashContextPointer to Context being initialized.
Return values
TRUEHASH context initialization succeeded.
FALSEHASH context initialization failed.

Definition at line 110 of file DxeImageVerificationLib.h.

◆ HASH_UPDATE

typedef BOOLEAN(EFIAPI * HASH_UPDATE) (IN OUT VOID *HashContext, IN CONST VOID *Data, IN UINTN DataLength)

Performs digest on a data buffer of the specified length. This function can be called multiple times to compute the digest of long or discontinuous data streams.

If HashContext is NULL, then ASSERT().

Parameters
[in,out]HashContextPointer to the MD5 context.
[in]DataPointer to the buffer containing the data to be hashed.
[in]DataLengthLength of Data buffer in bytes.
Return values
TRUEHASH data digest succeeded.
FALSEInvalid HASH context. After HashFinal function has been called, the HASH context cannot be reused.

Definition at line 131 of file DxeImageVerificationLib.h.