1 /** @file 2 Application for Cryptographic Primitives Validation. 3 4 Copyright (c) 2009 - 2016, Intel Corporation. All rights reserved.<BR> 5 This program and the accompanying materials 6 are licensed and made available under the terms and conditions of the BSD License 7 which accompanies this distribution. The full text of the license may be found at 8 http://opensource.org/licenses/bsd-license.php 9 10 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, 11 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. 12 13 **/ 14 15 #ifndef __CRYPTEST_H__ 16 #define __CRYPTEST_H__ 17 18 #include <Uefi.h> 19 #include <Library/BaseLib.h> 20 #include <Library/BaseMemoryLib.h> 21 #include <Library/MemoryAllocationLib.h> 22 #include <Library/UefiLib.h> 23 #include <Library/UefiApplicationEntryPoint.h> 24 #include <Library/DebugLib.h> 25 #include <Library/BaseCryptLib.h> 26 27 /** 28 Validate UEFI-OpenSSL Digest Interfaces. 29 30 @retval EFI_SUCCESS Validation succeeded. 31 @retval EFI_ABORTED Validation failed. 32 33 **/ 34 EFI_STATUS 35 ValidateCryptDigest ( 36 VOID 37 ); 38 39 /** 40 Validate UEFI-OpenSSL Message Authentication Codes Interfaces. 41 42 @retval EFI_SUCCESS Validation succeeded. 43 @retval EFI_ABORTED Validation failed. 44 45 **/ 46 EFI_STATUS 47 ValidateCryptHmac ( 48 VOID 49 ); 50 51 /** 52 Validate UEFI-OpenSSL Block Ciphers (Symmetric Crypto) Interfaces. 53 54 @retval EFI_SUCCESS Validation succeeded. 55 @retval EFI_ABORTED Validation failed. 56 57 **/ 58 EFI_STATUS 59 ValidateCryptBlockCipher ( 60 VOID 61 ); 62 63 /** 64 Validate UEFI-OpenSSL RSA Interfaces. 65 66 @retval EFI_SUCCESS Validation succeeded. 67 @retval EFI_ABORTED Validation failed. 68 69 **/ 70 EFI_STATUS 71 ValidateCryptRsa ( 72 VOID 73 ); 74 75 /** 76 Validate UEFI-OpenSSL RSA Key Retrieving (from PEM & X509) & Signature Interfaces. 77 78 @retval EFI_SUCCESS Validation succeeded. 79 @retval EFI_ABORTED Validation failed. 80 81 **/ 82 EFI_STATUS 83 ValidateCryptRsa2 ( 84 VOID 85 ); 86 87 /** 88 Validate UEFI-OpenSSL PKCS#5 PBKDF2 Interface. 89 90 @retval EFI_SUCCESS Validation succeeded. 91 @retval EFI_ABORTED Validation failed. 92 93 **/ 94 EFI_STATUS 95 ValidateCryptPkcs5Pbkdf2 ( 96 VOID 97 ); 98 99 /** 100 Validate UEFI-OpenSSL PKCS#7 Signing & Verification Interfaces. 101 102 @retval EFI_SUCCESS Validation succeeded. 103 @retval EFI_ABORTED Validation failed. 104 105 **/ 106 EFI_STATUS 107 ValidateCryptPkcs7 ( 108 VOID 109 ); 110 111 /** 112 Validate UEFI-OpenSSL Authenticode Verification Interfaces. 113 114 @retval EFI_SUCCESS Validation succeeded. 115 @retval EFI_ABORTED Validation failed. 116 117 **/ 118 EFI_STATUS 119 ValidateAuthenticode ( 120 VOID 121 ); 122 123 /** 124 Validate UEFI-OpenSSL RFC3161 Timestamp CounterSignature Verification Interfaces. 125 126 @retval EFI_SUCCESS Validation succeeded. 127 @retval EFI_ABORTED Validation failed. 128 129 **/ 130 EFI_STATUS 131 ValidateTSCounterSignature ( 132 VOID 133 ); 134 135 /** 136 Validate UEFI-OpenSSL DH Interfaces. 137 138 @retval EFI_SUCCESS Validation succeeded. 139 @retval EFI_ABORTED Validation failed. 140 141 **/ 142 EFI_STATUS 143 ValidateCryptDh ( 144 VOID 145 ); 146 147 /** 148 Validate UEFI-OpenSSL pseudorandom number generator interfaces. 149 150 @retval EFI_SUCCESS Validation succeeded. 151 @retval EFI_ABORTED Validation failed. 152 153 **/ 154 EFI_STATUS 155 ValidateCryptPrng ( 156 VOID 157 ); 158 159 #endif 160