Skip to content

wolfCrypt Init and Cleanup

Functions

Name
int wc_HashGetOID(enum wc_HashType hash_type)
This function will return the OID for the wc_HashType provided.
int wc_HashGetDigestSize(enum wc_HashType hash_type)
This function returns the size of the digest (output) for a hash_type. The returns size is used to make sure the output buffer provided to wc_Hash is large enough.
int wc_Hash(enum wc_HashType hash_type, const byte * data, word32 data_len, byte * hash, word32 hash_len)
This function performs a hash on the provided data buffer and returns it in the hash buffer provided.
int wolfCrypt_Init(void )
Used to initialize resources used by wolfCrypt.
int wolfCrypt_Cleanup(void )
Used to clean up resources used by wolfCrypt.

Functions Documentation

function wc_HashGetOID

int wc_HashGetOID(
    enum wc_HashType hash_type
)

This function will return the OID for the wc_HashType provided.

Parameters:

  • hash_type A hash type from the “enum wc_HashType” such as “WC_HASH_TYPE_SHA256”.

See:

Return:

  • OID returns value greater than 0
  • HASH_TYPE_E hash type not supported.
  • BAD_FUNC_ARG one of the provided arguments is incorrect.

Example

enum wc_HashType hash_type = WC_HASH_TYPE_SHA256;
int oid = wc_HashGetOID(hash_type);
if (oid > 0) {
    // Success
}

function wc_HashGetDigestSize

int wc_HashGetDigestSize(
    enum wc_HashType hash_type
)

This function returns the size of the digest (output) for a hash_type. The returns size is used to make sure the output buffer provided to wc_Hash is large enough.

Parameters:

  • hash_type A hash type from the “enum wc_HashType” such as “WC_HASH_TYPE_SHA256”.

See: wc_Hash

Return:

  • Success A positive return value indicates the digest size for the hash.
  • Error Returns HASH_TYPE_E if hash_type is not supported.
  • Failure Returns BAD_FUNC_ARG if an invalid hash_type was used.

Example

int hash_len = wc_HashGetDigestSize(hash_type);
if (hash_len <= 0) {
WOLFSSL_MSG("Invalid hash type/len");
return BAD_FUNC_ARG;
}

function wc_Hash

int wc_Hash(
    enum wc_HashType hash_type,
    const byte * data,
    word32 data_len,
    byte * hash,
    word32 hash_len
)

This function performs a hash on the provided data buffer and returns it in the hash buffer provided.

Parameters:

  • hash_type A hash type from the “enum wc_HashType” such as “WC_HASH_TYPE_SHA256”.
  • data Pointer to buffer containing the data to hash.
  • data_len Length of the data buffer.
  • hash Pointer to buffer used to output the final hash to.
  • hash_len Length of the hash buffer.

See: wc_HashGetDigestSize

Return: 0 Success, else error (such as BAD_FUNC_ARG or BUFFER_E).

Example

enum wc_HashType hash_type = WC_HASH_TYPE_SHA256;
int hash_len = wc_HashGetDigestSize(hash_type);
if (hash_len > 0) {
    int ret = wc_Hash(hash_type, data, data_len, hash_data, hash_len);
    if(ret == 0) {
        // Success
    }
}

function wolfCrypt_Init

int wolfCrypt_Init(
    void 
)

Used to initialize resources used by wolfCrypt.

Parameters:

  • none No parameters.

See: wolfCrypt_Cleanup

Return:

  • 0 upon success.
  • <0 upon failure of init resources.

Example

...
if (wolfCrypt_Init() != 0) {
    WOLFSSL_MSG("Error with wolfCrypt_Init call");
}

function wolfCrypt_Cleanup

int wolfCrypt_Cleanup(
    void 
)

Used to clean up resources used by wolfCrypt.

Parameters:

  • none No parameters.

See: wolfCrypt_Init

Return:

  • 0 upon success.
  • <0 upon failure of cleaning up resources.

Example

...
if (wolfCrypt_Cleanup() != 0) {
    WOLFSSL_MSG("Error with wolfCrypt_Cleanup call");
}

Updated on 2024-03-19 at 01:20:40 +0000