/** * Copyright Notice: * Copyright 2021-2022 DMTF. All rights reserved. * License: BSD 3-Clause License. For full text see link: https://github.com/DMTF/libspdm/blob/main/LICENSE.md **/ #ifndef __CRYPTEST_H__ #define __CRYPTEST_H__ #include #include #include #include #include #include #include #include #include "hal/base.h" #include "internal/libspdm_lib_config.h" #include "hal/library/debuglib.h" #include "hal/library/memlib.h" #include "library/malloclib.h" #include "hal/library/cryptlib.h" #include "spdm_crypt_ext_lib/cryptlib_ext.h" bool libspdm_read_input_file(const char *file_name, void **file_data, size_t *file_size); size_t libspdm_ascii_str_len(const char *string); void libspdm_my_print(const char *message); /** * Validate Crypto digest Interfaces. * * @retval true Validation succeeded. * @retval false Validation failed. * **/ bool libspdm_validate_crypt_digest(void); /** * Validate Crypto message Authentication Codes Interfaces. * * @retval true Validation succeeded. * @retval false Validation failed. * **/ bool libspdm_validate_crypt_hmac(void); /** * Validate Crypto HMAC Key Derivation Function Interfaces. * * @retval true Validation succeeded. * @retval false Validation failed. * **/ bool libspdm_validate_crypt_hkdf(void); /** * Validate Crypto AEAD Ciphers Interfaces. * * @retval true Validation succeeded. * @retval false Validation failed. * **/ bool libspdm_validate_crypt_aead_cipher(void); /** * Validate Crypto RSA Interfaces. * * @retval true Validation succeeded. * @retval false Validation failed. * **/ bool libspdm_validate_crypt_rsa(void); /** * Validate Crypto RSA key Retrieving (from PEM & X509) & signature Interfaces. * * @retval true Validation succeeded. * @retval false Validation failed. * **/ bool libspdm_validate_crypt_rsa_2(void); /** * Validate Crypto X509 certificate Verify * * @retval true Validation succeeded. * @retval false Validation failed. * **/ bool libspdm_validate_crypt_x509(char *Path, size_t len); /** * Validate Crypto DH Interfaces. * * @retval true Validation succeeded. * @retval false Validation failed. * **/ bool libspdm_validate_crypt_dh(void); /** * Validate Crypto EC Interfaces. * * @retval true Validation succeeded. * @retval false Validation failed. * **/ bool libspdm_validate_crypt_ec(void); /** * Validate Crypto EC key Retrieving (from PEM & X509) & signature Interfaces. * * @retval true Validation succeeded. * @retval false Validation failed. * **/ bool libspdm_validate_crypt_ec_2(void); /** * Validate Crypto Ed Interfaces. * * @retval true Validation succeeded. * @retval false Validation failed. * **/ bool libspdm_validate_crypt_ecd(void); /** * Validate Crypto Ed key Retrieving (from PEM & X509) & signature Interfaces. * * @retval true Validation succeeded. * @retval false Validation failed. * **/ bool libspdm_validate_crypt_ecd_2(void); /** * Validate Crypto sm2 Interfaces. * * @retval true Validation succeeded. * @retval false Validation failed. * **/ bool libspdm_validate_crypt_sm2(void); /** * Validate Crypto sm2 key Retrieving (from PEM & X509) & signature Interfaces. * * @retval true Validation succeeded. * @retval false Validation failed. * **/ bool libspdm_validate_crypt_sm2_2(void); /** * Validate Crypto pseudorandom number generator interfaces. * * @retval true Validation succeeded. * @retval false Validation failed. * **/ bool libspdm_validate_crypt_prng(void); #endif