VirtualBox

source: vbox/trunk/src/VBox/Devices/EFI/FirmwareNew/CryptoPkg/Library/BaseCryptLib/InternalCryptLib.h@ 99404

Last change on this file since 99404 was 99404, checked in by vboxsync, 23 months ago

Devices/EFI/FirmwareNew: Update to edk2-stable202302 and make it build, bugref:4643

  • Property svn:eol-style set to native
File size: 1.9 KB
Line 
1/** @file
2 Internal include file for BaseCryptLib.
3
4Copyright (c) 2010 - 2017, Intel Corporation. All rights reserved.<BR>
5SPDX-License-Identifier: BSD-2-Clause-Patent
6
7**/
8
9#ifndef __INTERNAL_CRYPT_LIB_H__
10#define __INTERNAL_CRYPT_LIB_H__
11
12#undef _WIN32
13#undef _WIN64
14
15#include <Library/BaseLib.h>
16#include <Library/BaseMemoryLib.h>
17#include <Library/MemoryAllocationLib.h>
18#include <Library/DebugLib.h>
19#include <Library/BaseCryptLib.h>
20
21#include "CrtLibSupport.h"
22
23#include <openssl/opensslv.h>
24
25#if OPENSSL_VERSION_NUMBER < 0x10100000L
26#define OBJ_get0_data(o) ((o)->data)
27#define OBJ_length(o) ((o)->length)
28#endif
29
30/**
31 Check input P7Data is a wrapped ContentInfo structure or not. If not construct
32 a new structure to wrap P7Data.
33
34 Caution: This function may receive untrusted input.
35 UEFI Authenticated Variable is external input, so this function will do basic
36 check for PKCS#7 data structure.
37
38 @param[in] P7Data Pointer to the PKCS#7 message to verify.
39 @param[in] P7Length Length of the PKCS#7 message in bytes.
40 @param[out] WrapFlag If TRUE P7Data is a ContentInfo structure, otherwise
41 return FALSE.
42 @param[out] WrapData If return status of this function is TRUE:
43 1) when WrapFlag is TRUE, pointer to P7Data.
44 2) when WrapFlag is FALSE, pointer to a new ContentInfo
45 structure. It's caller's responsibility to free this
46 buffer.
47 @param[out] WrapDataSize Length of ContentInfo structure in bytes.
48
49 @retval TRUE The operation is finished successfully.
50 @retval FALSE The operation is failed due to lack of resources.
51
52**/
53BOOLEAN
54WrapPkcs7Data (
55 IN CONST UINT8 *P7Data,
56 IN UINTN P7Length,
57 OUT BOOLEAN *WrapFlag,
58 OUT UINT8 **WrapData,
59 OUT UINTN *WrapDataSize
60 );
61
62#endif
Note: See TracBrowser for help on using the repository browser.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette