]> git.proxmox.com Git - mirror_edk2.git/blame - CryptoPkg/Test/UnitTest/Library/BaseCryptLib/TestBaseCryptLib.h
CryptoPkg: add Hkdf UnitTest.
[mirror_edk2.git] / CryptoPkg / Test / UnitTest / Library / BaseCryptLib / TestBaseCryptLib.h
CommitLineData
694bfd6f
MC
1/** @file\r
2 Application for Cryptographic Primitives Validation.\r
3\r
4Copyright (c) 2009 - 2016, Intel Corporation. All rights reserved.<BR>\r
5SPDX-License-Identifier: BSD-2-Clause-Patent\r
6\r
7**/\r
8\r
9#ifndef __CRYPTEST_H__\r
10#define __CRYPTEST_H__\r
11\r
12#include <PiPei.h>\r
13#include <Uefi.h>\r
14#include <Library/UefiLib.h>\r
15#include <Library/DebugLib.h>\r
16#include <Library/UnitTestLib.h>\r
17#include <Library/PrintLib.h>\r
18#include <Library/BaseCryptLib.h>\r
19#include <Library/BaseLib.h>\r
20#include <Library/BaseMemoryLib.h>\r
21#include <Library/MemoryAllocationLib.h>\r
7c342378 22// #include <UnitTestTypes.h>\r
694bfd6f 23#include <Library/UnitTestLib.h>\r
7c342378 24// #include <Library/UnitTestAssertLib.h>\r
694bfd6f 25\r
7c342378
MK
26#define UNIT_TEST_NAME "BaseCryptLib Unit Test"\r
27#define UNIT_TEST_VERSION "1.0"\r
694bfd6f
MC
28\r
29typedef struct {\r
7c342378
MK
30 CHAR8 *Description;\r
31 CHAR8 *ClassName;\r
32 UNIT_TEST_FUNCTION Func;\r
33 UNIT_TEST_PREREQUISITE PreReq;\r
34 UNIT_TEST_CLEANUP CleanUp;\r
35 UNIT_TEST_CONTEXT Context;\r
694bfd6f
MC
36} TEST_DESC;\r
37\r
38typedef struct {\r
7c342378
MK
39 CHAR8 *Title;\r
40 CHAR8 *Package;\r
41 UNIT_TEST_SUITE_SETUP Sup;\r
42 UNIT_TEST_SUITE_TEARDOWN Tdn;\r
43 UINTN *TestNum;\r
44 TEST_DESC *TestDesc;\r
694bfd6f
MC
45} SUITE_DESC;\r
46\r
7c342378
MK
47extern UINTN mPkcs7EkuTestNum;\r
48extern TEST_DESC mPkcs7EkuTest[];\r
694bfd6f 49\r
7c342378
MK
50extern UINTN mHashTestNum;\r
51extern TEST_DESC mHashTest[];\r
694bfd6f 52\r
7c342378
MK
53extern UINTN mHmacTestNum;\r
54extern TEST_DESC mHmacTest[];\r
694bfd6f 55\r
7c342378
MK
56extern UINTN mBlockCipherTestNum;\r
57extern TEST_DESC mBlockCipherTest[];\r
694bfd6f 58\r
7c342378
MK
59extern UINTN mRsaTestNum;\r
60extern TEST_DESC mRsaTest[];\r
694bfd6f 61\r
7c342378
MK
62extern UINTN mRsaCertTestNum;\r
63extern TEST_DESC mRsaCertTest[];\r
694bfd6f 64\r
7c342378
MK
65extern UINTN mPkcs7TestNum;\r
66extern TEST_DESC mPkcs7Test[];\r
694bfd6f 67\r
7c342378
MK
68extern UINTN mPkcs5TestNum;\r
69extern TEST_DESC mPkcs5Test[];\r
694bfd6f 70\r
7c342378
MK
71extern UINTN mAuthenticodeTestNum;\r
72extern TEST_DESC mAuthenticodeTest[];\r
694bfd6f 73\r
7c342378
MK
74extern UINTN mImageTimestampTestNum;\r
75extern TEST_DESC mImageTimestampTest[];\r
694bfd6f 76\r
7c342378
MK
77extern UINTN mDhTestNum;\r
78extern TEST_DESC mDhTest[];\r
694bfd6f 79\r
7c342378
MK
80extern UINTN mPrngTestNum;\r
81extern TEST_DESC mPrngTest[];\r
694bfd6f 82\r
7c342378
MK
83extern UINTN mOaepTestNum;\r
84extern TEST_DESC mOaepTest[];\r
694bfd6f 85\r
7c342378
MK
86extern UINTN mRsaPssTestNum;\r
87extern TEST_DESC mRsaPssTest[];\r
22ac5cc9 88\r
b19793a2
QZ
89extern UINTN mHkdfTestNum;\r
90extern TEST_DESC mHkdfTest[];\r
91\r
694bfd6f
MC
92/** Creates a framework you can use */\r
93EFI_STATUS\r
94EFIAPI\r
95CreateUnitTest (\r
7c342378
MK
96 IN CHAR8 *UnitTestName,\r
97 IN CHAR8 *UnitTestVersion,\r
98 IN OUT UNIT_TEST_FRAMEWORK_HANDLE *Framework\r
99 );\r
694bfd6f
MC
100\r
101/**\r
102 Validate UEFI-OpenSSL DH Interfaces.\r
103\r
104 @retval EFI_SUCCESS Validation succeeded.\r
105 @retval EFI_ABORTED Validation failed.\r
106\r
107**/\r
108EFI_STATUS\r
109ValidateCryptDh (\r
110 VOID\r
111 );\r
112\r
113/**\r
114 Validate UEFI-OpenSSL pseudorandom number generator interfaces.\r
115\r
116 @retval EFI_SUCCESS Validation succeeded.\r
117 @retval EFI_ABORTED Validation failed.\r
118\r
119**/\r
120EFI_STATUS\r
121ValidateCryptPrng (\r
122 VOID\r
123 );\r
124\r
694bfd6f 125#endif\r