SHA_256Plugin > Security
Description
SHA-256 digest functionality for the bootloader.
Data Structures |
|
union | Sha256Context |
Context type for SHA algorithm.
|
|
Macros |
|
#define | BTL_SECURITY_SHA256_DIGEST_LENGTH 32 |
Number of bytes in a SHA-256 digest.
|
|
Typedefs |
|
typedef union Sha256Context | Sha256Context_t |
Context type for SHA algorithm.
|
|
Functions |
|
void | btl_initSha256 (void *ctx) |
void | btl_updateSha256 (void *ctx, const void *data, size_t length) |
void | btl_finalizeSha256 (void *ctx) |
int32_t | btl_verifySha256 (void *ctx, const void *sha256) |
Function Documentation
void btl_initSha256 | ( | void * |
ctx
|
) |
Initialize SHA256 context variable.
- Parameters
-
ctx
Pointer to the SHA256 context variable to be initialized
Wipes out the SHA256 context variable and sets it up for re-use.
void btl_updateSha256 | ( | void * |
ctx,
|
const void * |
data,
|
||
size_t |
length
|
||
) |
Run data through the SHA256 hashing function.
- Parameters
-
ctx
Pointer to the SHA256 context variable data
Pointer to an array of binary data to add to the SHA256 calculation in progress length
Length of the byte array with data.
void btl_finalizeSha256 | ( | void * |
ctx
|
) |
Finalize the SHA256 calculation.
- Parameters
-
ctx
Pointer to the SHA256 context variable to be initialized
Finalizes the running SHA256 calculation. After finalization, the SHA value in the context variable will be valid and no more data can be added.
int32_t btl_verifySha256 | ( | void * |
ctx,
|
const void * |
sha256
|
||
) |
Compare the SHA256 from the context variable to a known value.
- Parameters
-
ctx
Pointer to the SHA256 context variable to be initialized sha256
Byte array containing SHA256 value to compare to
- Returns
- BOOTLOADER_OK if both hash values are equal, else error code from BOOTLOADER_ERROR_SECURITY_BASE range.
Convenience function to compare a known SHA256 hash against the result of a calculation.