1 /** @file
2 HMAC-SHA256 Wrapper Implementation which does not provide real capabilities.
3
4 Copyright (c) 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 #include "InternalCryptLib.h"
16
17 /**
18 Retrieves the size, in bytes, of the context buffer required for HMAC-SHA256 operations.
19
20 Return zero to indicate this interface is not supported.
21
22 @retval 0 This interface is not supported.
23
24 **/
25 UINTN
26 EFIAPI
HmacSha256GetContextSize(VOID)27 HmacSha256GetContextSize (
28 VOID
29 )
30 {
31 ASSERT (FALSE);
32 return 0;
33 }
34
35 /**
36 Initializes user-supplied memory pointed by HmacSha256Context as HMAC-SHA256 context for
37 subsequent use.
38
39 Return FALSE to indicate this interface is not supported.
40
41 @param[out] HmacSha256Context Pointer to HMAC-SHA256 context being initialized.
42 @param[in] Key Pointer to the user-supplied key.
43 @param[in] KeySize Key size in bytes.
44
45 @retval FALSE This interface is not supported.
46
47 **/
48 BOOLEAN
49 EFIAPI
HmacSha256Init(OUT VOID * HmacSha256Context,IN CONST UINT8 * Key,IN UINTN KeySize)50 HmacSha256Init (
51 OUT VOID *HmacSha256Context,
52 IN CONST UINT8 *Key,
53 IN UINTN KeySize
54 )
55 {
56 ASSERT (FALSE);
57 return FALSE;
58 }
59
60 /**
61 Makes a copy of an existing HMAC-SHA256 context.
62
63 Return FALSE to indicate this interface is not supported.
64
65 @param[in] HmacSha256Context Pointer to HMAC-SHA256 context being copied.
66 @param[out] NewHmacSha256Context Pointer to new HMAC-SHA256 context.
67
68 @retval FALSE This interface is not supported.
69
70 **/
71 BOOLEAN
72 EFIAPI
HmacSha256Duplicate(IN CONST VOID * HmacSha256Context,OUT VOID * NewHmacSha256Context)73 HmacSha256Duplicate (
74 IN CONST VOID *HmacSha256Context,
75 OUT VOID *NewHmacSha256Context
76 )
77 {
78 ASSERT (FALSE);
79 return FALSE;
80 }
81
82 /**
83 Digests the input data and updates HMAC-SHA256 context.
84
85 Return FALSE to indicate this interface is not supported.
86
87 @param[in, out] HmacSha256Context Pointer to the HMAC-SHA256 context.
88 @param[in] Data Pointer to the buffer containing the data to be digested.
89 @param[in] DataSize Size of Data buffer in bytes.
90
91 @retval FALSE This interface is not supported.
92
93 **/
94 BOOLEAN
95 EFIAPI
HmacSha256Update(IN OUT VOID * HmacSha256Context,IN CONST VOID * Data,IN UINTN DataSize)96 HmacSha256Update (
97 IN OUT VOID *HmacSha256Context,
98 IN CONST VOID *Data,
99 IN UINTN DataSize
100 )
101 {
102 ASSERT (FALSE);
103 return FALSE;
104 }
105
106 /**
107 Completes computation of the HMAC-SHA256 digest value.
108
109 Return FALSE to indicate this interface is not supported.
110
111 @param[in, out] HmacSha256Context Pointer to the HMAC-SHA256 context.
112 @param[out] HmacValue Pointer to a buffer that receives the HMAC-SHA256 digest
113 value (32 bytes).
114
115 @retval FALSE This interface is not supported.
116
117 **/
118 BOOLEAN
119 EFIAPI
HmacSha256Final(IN OUT VOID * HmacSha256Context,OUT UINT8 * HmacValue)120 HmacSha256Final (
121 IN OUT VOID *HmacSha256Context,
122 OUT UINT8 *HmacValue
123 )
124 {
125 ASSERT (FALSE);
126 return FALSE;
127 }
128