TestBaseCryptLib.h 3.2 KB

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