TianoCore EDK2 master
|
#include <PiDxe.h>
#include <Protocol/Hash.h>
#include <Protocol/SecurityPolicy.h>
#include <Library/ExtractGuidedSectionLib.h>
#include <Library/DebugLib.h>
#include <Library/BaseMemoryLib.h>
#include <Library/MemoryAllocationLib.h>
#include <Library/UefiBootServicesTableLib.h>
#include <Library/PcdLib.h>
#include <Guid/WinCertificate.h>
#include <Library/BaseCryptLib.h>
#include <Library/PerformanceLib.h>
#include <Guid/SecurityPkgTokenSpace.h>
Go to the source code of this file.
Data Structures | |
struct | RSA_2048_SHA_256_SECTION_HEADER |
struct | RSA_2048_SHA_256_SECTION2_HEADER |
Functions | |
EFI_STATUS EFIAPI | Rsa2048Sha256GuidedSectionGetInfo (IN CONST VOID *InputSection, OUT UINT32 *OutputBufferSize, OUT UINT32 *ScratchBufferSize, OUT UINT16 *SectionAttribute) |
EFI_STATUS EFIAPI | Rsa2048Sha256GuidedSectionHandler (IN CONST VOID *InputSection, OUT VOID **OutputBuffer, IN VOID *ScratchBuffer OPTIONAL, OUT UINT32 *AuthenticationStatus) |
EFI_STATUS EFIAPI | DxeRsa2048Sha256GuidedSectionExtractLibConstructor (IN EFI_HANDLE ImageHandle, IN EFI_SYSTEM_TABLE *SystemTable) |
Variables | |
CONST UINT8 | mRsaE [] = { 0x01, 0x00, 0x01 } |
This library registers RSA 2048 SHA 256 guided section handler to parse RSA 2048 SHA 256 encapsulation section and extract raw data. It uses the BaseCryptLib based on OpenSSL to authenticate the signature.
Copyright (c) 2013 - 2018, Intel Corporation. All rights reserved.
SPDX-License-Identifier: BSD-2-Clause-Patent
Definition in file DxeRsa2048Sha256GuidedSectionExtractLib.c.
EFI_STATUS EFIAPI DxeRsa2048Sha256GuidedSectionExtractLibConstructor | ( | IN EFI_HANDLE | ImageHandle, |
IN EFI_SYSTEM_TABLE * | SystemTable | ||
) |
Register the handler to extract RSA 2048 SHA 256 guided section.
ImageHandle | ImageHandle of the loaded driver. |
SystemTable | Pointer to the EFI System Table. |
EFI_SUCCESS | Register successfully. |
EFI_OUT_OF_RESOURCES | Not enough memory to register this handler. |
Definition at line 404 of file DxeRsa2048Sha256GuidedSectionExtractLib.c.
EFI_STATUS EFIAPI Rsa2048Sha256GuidedSectionGetInfo | ( | IN CONST VOID * | InputSection, |
OUT UINT32 * | OutputBufferSize, | ||
OUT UINT32 * | ScratchBufferSize, | ||
OUT UINT16 * | SectionAttribute | ||
) |
GetInfo gets raw data size and attribute of the input guided section. It first checks whether the input guid section is supported. If not, EFI_INVALID_PARAMETER will return.
InputSection | Buffer containing the input GUIDed section to be processed. |
OutputBufferSize | The size of OutputBuffer. |
ScratchBufferSize | The size of ScratchBuffer. |
SectionAttribute | The attribute of the input guided section. |
EFI_SUCCESS | The size of destination buffer, the size of scratch buffer and the attribute of the input section are successfully retrieved. |
EFI_INVALID_PARAMETER | The GUID in InputSection does not match this instance guid. |
Definition at line 62 of file DxeRsa2048Sha256GuidedSectionExtractLib.c.
EFI_STATUS EFIAPI Rsa2048Sha256GuidedSectionHandler | ( | IN CONST VOID * | InputSection, |
OUT VOID ** | OutputBuffer, | ||
IN VOID *ScratchBuffer | OPTIONAL, | ||
OUT UINT32 * | AuthenticationStatus | ||
) |
Extraction handler tries to extract raw data from the input guided section. It also does authentication check for RSA 2048 SHA 256 signature in the input guided section. It first checks whether the input guid section is supported. If not, EFI_INVALID_PARAMETER will return.
InputSection | Buffer containing the input GUIDed section to be processed. |
OutputBuffer | Buffer to contain the output raw data allocated by the caller. |
ScratchBuffer | A pointer to a caller-allocated buffer for function internal use. |
AuthenticationStatus | A pointer to a caller-allocated UINT32 that indicates the authentication status of the output buffer. |
EFI_SUCCESS | Section Data and Auth Status is extracted successfully. |
EFI_INVALID_PARAMETER | The GUID in InputSection does not match this instance guid. |
Definition at line 129 of file DxeRsa2048Sha256GuidedSectionExtractLib.c.
CONST UINT8 mRsaE[] = { 0x01, 0x00, 0x01 } |
Public Exponent of RSA Key.
Definition at line 42 of file DxeRsa2048Sha256GuidedSectionExtractLib.c.