ds_hal.c 1006 B

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. /*
  2. * SPDX-FileCopyrightText: 2015-2023 Espressif Systems (Shanghai) CO LTD
  3. *
  4. * SPDX-License-Identifier: Apache-2.0
  5. */
  6. #include "hal/systimer_hal.h"
  7. #include "hal/ds_hal.h"
  8. #include "hal/ds_ll.h"
  9. void ds_hal_start(void)
  10. {
  11. ds_ll_start();
  12. }
  13. void ds_hal_finish(void)
  14. {
  15. ds_ll_finish();
  16. }
  17. void ds_hal_configure_iv(const uint32_t *iv)
  18. {
  19. ds_ll_configure_iv(iv);
  20. }
  21. void ds_hal_write_message(const uint8_t *msg, size_t size)
  22. {
  23. ds_ll_write_message(msg, size);
  24. }
  25. void ds_hal_write_private_key_params(const uint8_t *key_params)
  26. {
  27. ds_ll_write_private_key_params(key_params);
  28. }
  29. void ds_hal_start_sign(void)
  30. {
  31. ds_ll_start_sign();
  32. }
  33. bool ds_hal_busy(void)
  34. {
  35. return ds_ll_busy();
  36. }
  37. ds_signature_check_t ds_hal_read_result(uint8_t *result, size_t size)
  38. {
  39. ds_signature_check_t check_result = ds_ll_check_signature();
  40. if (check_result == DS_SIGNATURE_OK || check_result == DS_SIGNATURE_PADDING_FAIL) {
  41. ds_ll_read_result(result, size);
  42. }
  43. return check_result;
  44. }