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 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151
|
/** @file
Application for Cryptographic Primitives Validation.
Copyright (c) 2009 - 2016, Intel Corporation. All rights reserved.<BR>
SPDX-License-Identifier: BSD-2-Clause-Patent
**/
#ifndef __CRYPTEST_H__
#define __CRYPTEST_H__
#include <PiPei.h>
#include <Uefi.h>
#include <Library/UefiLib.h>
#include <Library/DebugLib.h>
#include <Library/UnitTestLib.h>
#include <Library/PrintLib.h>
#include <Library/BaseCryptLib.h>
#include <Library/BaseLib.h>
#include <Library/BaseMemoryLib.h>
#include <Library/MemoryAllocationLib.h>
// #include <UnitTestTypes.h>
#include <Library/UnitTestLib.h>
// #include <Library/UnitTestAssertLib.h>
#define UNIT_TEST_NAME "BaseCryptLib Unit Test"
#define UNIT_TEST_VERSION "1.0"
typedef struct {
CHAR8 *Description;
CHAR8 *ClassName;
UNIT_TEST_FUNCTION Func;
UNIT_TEST_PREREQUISITE PreReq;
UNIT_TEST_CLEANUP CleanUp;
UNIT_TEST_CONTEXT Context;
} TEST_DESC;
typedef struct {
CHAR8 *Title;
CHAR8 *Package;
UNIT_TEST_SUITE_SETUP Sup;
UNIT_TEST_SUITE_TEARDOWN Tdn;
UINTN *TestNum;
TEST_DESC *TestDesc;
} SUITE_DESC;
extern UINTN mPkcs7EkuTestNum;
extern TEST_DESC mPkcs7EkuTest[];
extern UINTN mHashTestNum;
extern TEST_DESC mHashTest[];
extern UINTN mHmacTestNum;
extern TEST_DESC mHmacTest[];
extern UINTN mBlockCipherTestNum;
extern TEST_DESC mBlockCipherTest[];
extern UINTN mRsaTestNum;
extern TEST_DESC mRsaTest[];
extern UINTN mRsaCertTestNum;
extern TEST_DESC mRsaCertTest[];
extern UINTN mPkcs7TestNum;
extern TEST_DESC mPkcs7Test[];
extern UINTN mPkcs5TestNum;
extern TEST_DESC mPkcs5Test[];
extern UINTN mAuthenticodeTestNum;
extern TEST_DESC mAuthenticodeTest[];
extern UINTN mImageTimestampTestNum;
extern TEST_DESC mImageTimestampTest[];
extern UINTN mDhTestNum;
extern TEST_DESC mDhTest[];
extern UINTN mPrngTestNum;
extern TEST_DESC mPrngTest[];
extern UINTN mOaepTestNum;
extern TEST_DESC mOaepTest[];
extern UINTN mRsaPssTestNum;
extern TEST_DESC mRsaPssTest[];
extern UINTN mHkdfTestNum;
extern TEST_DESC mHkdfTest[];
extern UINTN mAeadAesGcmTestNum;
extern TEST_DESC mAeadAesGcmTest[];
extern UINTN mBnTestNum;
extern TEST_DESC mBnTest[];
extern UINTN mEcTestNum;
extern TEST_DESC mEcTest[];
extern UINTN mX509TestNum;
extern TEST_DESC mX509Test[];
/** Creates a framework you can use */
EFI_STATUS
EFIAPI
CreateUnitTest (
IN CHAR8 *UnitTestName,
IN CHAR8 *UnitTestVersion,
IN OUT UNIT_TEST_FRAMEWORK_HANDLE *Framework
);
/**
Validate UEFI-OpenSSL DH Interfaces.
@retval EFI_SUCCESS Validation succeeded.
@retval EFI_ABORTED Validation failed.
**/
EFI_STATUS
ValidateCryptDh (
VOID
);
/**
Validate UEFI-OpenSSL pseudorandom number generator interfaces.
@retval EFI_SUCCESS Validation succeeded.
@retval EFI_ABORTED Validation failed.
**/
EFI_STATUS
ValidateCryptPrng (
VOID
);
/**
Initialize the unit test framework, suite, and unit tests for the
sample unit tests and run the unit tests.
@retval EFI_SUCCESS All test cases were dispatched.
@retval EFI_OUT_OF_RESOURCES There are not enough resources available to
initialize the unit tests.
**/
EFI_STATUS
EFIAPI
UefiTestMain (
VOID
);
#endif
|