1 /** @file
2   Application for Cryptographic Primitives Validation.
3 
4 Copyright (c) 2009 - 2014, 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#7 Signing & Verification Interfaces.
89 
90   @retval  EFI_SUCCESS  Validation succeeded.
91   @retval  EFI_ABORTED  Validation failed.
92 
93 **/
94 EFI_STATUS
95 ValidateCryptPkcs7 (
96   VOID
97   );
98 
99 /**
100   Validate UEFI-OpenSSL Authenticode Verification Interfaces.
101 
102   @retval  EFI_SUCCESS  Validation succeeded.
103   @retval  EFI_ABORTED  Validation failed.
104 
105 **/
106 EFI_STATUS
107 ValidateAuthenticode (
108   VOID
109   );
110 
111 /**
112   Validate UEFI-OpenSSL RFC3161 Timestamp CounterSignature Verification Interfaces.
113 
114   @retval  EFI_SUCCESS  Validation succeeded.
115   @retval  EFI_ABORTED  Validation failed.
116 
117 **/
118 EFI_STATUS
119 ValidateTSCounterSignature (
120   VOID
121   );
122 
123 /**
124   Validate UEFI-OpenSSL DH Interfaces.
125 
126   @retval  EFI_SUCCESS  Validation succeeded.
127   @retval  EFI_ABORTED  Validation failed.
128 
129 **/
130 EFI_STATUS
131 ValidateCryptDh (
132   VOID
133   );
134 
135 /**
136   Validate UEFI-OpenSSL pseudorandom number generator interfaces.
137 
138   @retval  EFI_SUCCESS  Validation succeeded.
139   @retval  EFI_ABORTED  Validation failed.
140 
141 **/
142 EFI_STATUS
143 ValidateCryptPrng (
144   VOID
145   );
146 
147 #endif