Commit Graph
100 Commits
Author SHA1 Message Date
harshal.patil 5aa74ed001 fix(tools/esp_prov): Fix incorrect input decoding when using console transport
- Closes https://github.com/espressif/esp-idf/issues/14013
2024-06-24 12:28:44 +05:30
harshal.patil 42f244ae61 ci(otatool): fix test failure caused due to closing connection incorrectly 2024-04-17 10:13:35 +05:30
harshal.patil bd826801ba fix(mbedtls/ecdsa): Fix dependant peripheral's enable and reset 2024-04-11 13:46:59 +05:30
harshal.patil 85186042c3 feat(hal/ecdsa): Add HAL API for operation successful check 2024-04-11 12:33:06 +05:30
harshal.patil c97d3aed45 fix(mbedtls/aes-gcm): Fix null pointer derefernce coverity reports
- Also fixed a tcp_transport report
2024-03-13 11:42:03 +05:30
harshal.patil 0f7c9a29a2 ci(mbedtls/gcm): Added test to verify software fallback for non-AES cipher GCM operations 2024-02-26 14:29:20 +05:30
harshal.patil ca4f560f2b fix(mbedtls/gcm): Add support for software fallback for non-AES ciphers in a GCM operation
- Even if the config MBEDTLS_HARDWARE_AES is enabled, we now support fallback
to software implementation of GCM operations when non-AES ciphers are used.
2024-02-26 14:29:18 +05:30
harshal.patil 5862b981ed fix(mbedtls/gcm): Avoid using GCM hardware when config MBEDTLS_HARDWARE_GCM is disabled 2024-02-16 11:54:39 +05:30
harshal.patil 38f13b15d3 fix(mbedtls/gcm): Fix build failure when config MBEDTLS_HARDWARE_GCM is disabled 2024-02-16 11:54:37 +05:30
harshal.patil eebdd3f391 feat(bootloader_support): Encrypt only the app image instead of the whole partition
Currently, when flash encryption is enabled, the whole partition gets encrypted.
This can be optimised by encrypting only the app image instead of encrypting the whole partition.

Closes https://github.com/espressif/esp-idf/issues/12576
2024-01-16 14:12:14 +05:30
harshal.patil 4573271d2b fix(bootloader_support): Fix image_length calculation when secure boot v1 is enabled
Fixed the value of the image_length field of the image metadata populated by esp_image_verfiy()
to include the size of the signature sector when Secure Boot V1 is enabled.
2024-01-16 14:12:13 +05:30
harshal.patil 8e4fa20695 fix(examples): Fix encoding issue in esp_local_ctrl's proto script 2023-12-26 14:02:50 +05:30
harshal.patil a168fde297 fix(soc/esp32h2): Fix llperi_rng_data field discrepancy 2023-12-05 21:08:33 +05:30
harshal.patil 8558aa4414 fix(soc/esp32c6): Fix llperi_rng_data field discrepancy 2023-12-05 21:08:32 +05:30
harshal.patil b94656115e fix(mbedtls/aes): fix AES interrupt allocation for AES-GCM operations 2023-12-01 16:34:49 +05:30
harshal.patil 330f3edf11 fix(nvs_flash): Fix the memory leak in the nvs_flash test app
The leak is now reduced by allocating the AES interrupt and
loading the partitions in the test setup instead of in the tests itself.
2023-11-27 17:25:14 +05:30
harshal.patil 9bf48e77f0 fix(mbedtls): move interrupt allocation during initialization phase 2023-11-16 16:16:57 +05:30
harshal.patil 6cf9cc2c9b docs(secure_boot_v1): add missing digest byte swap information
- In the secure bootloader digest algorithm section, the final
four byte word byte-swap information was not mentioned.
2023-10-12 17:35:10 +05:30
harshal.patil 5e7672a21d docs(build): enable docs build of DS and HMAC for esp32p4 2023-10-12 17:25:12 +05:30
harshal.patil ef92f03658 feat(efuses): enable eFuse example test (secure boot) for ESP32-P4 2023-10-12 10:12:54 +05:30
harshal.patil f46a93e565 feat(secure_boot): add secure boot support for esp32p4 2023-10-12 10:12:54 +05:30
harshal.patil 57d10477da feat(ecdsa): use RCC atomic block to enable/reset the ECDSA peripheral 2023-10-11 14:59:04 +05:30
harshal.patil 43864f7fb4 feat(ds): use RCC atomic block to enable/reset the DS peripheral 2023-10-11 14:59:04 +05:30
harshal.patil 18b93e9564 feat(hmac): use RCC atomic block to enable/reset the HMAC peripheral 2023-10-11 14:59:04 +05:30
harshal.patil 1c6ff8ce9f feat(ecc): use RCC atomic block to enable/reset the ECC peripheral 2023-10-11 14:59:04 +05:30
harshal.patil c5cc4f488a feat(mpi): use RCC atomic block to enable/reset the MPI peripheral 2023-10-11 14:59:03 +05:30
harshal.patil 3483cf61aa fix(esp_hw_support/esp_ds): remove enabling redundant peripherals 2023-10-11 14:59:03 +05:30
harshal.patil 6a7caa7b8e feat(esp_hw_support): Added locking mechanism for the ECDSA and ECC peripheral 2023-09-20 16:05:50 +05:30
harshal.patil aa4783519a feat(esp_hw_support): Add esp_crypto_lock layer for esp32c2 2023-09-20 16:05:49 +05:30
harshal.patil a686c20ee5 feat(bootloader): Update micro-ecc version to v1.1
This fix ensures that https://nvd.nist.gov/vuln/detail/CVE-2020-27209 is not
reported by the ESP-IDF SBOM tool. Please note that, this CVE was anyways not
applicable for ESP32 platform, as the bootloader (user of micro-ecc library)
do not perform signing on the device, its only verification that happens in
secure-boot-v1 case.
2023-09-20 11:29:58 +05:30
harshal.patil 66bbe8c156 fix: Fix esptool usage in the secure boot test application 2023-09-13 10:29:51 +05:30
harshal.patil 4c0dd8388b feat(mbedtls): Integrate the ecdsa export public key feature in mbedtls 2023-09-06 11:07:40 +05:30
harshal.patil cc32fbb302 ci(hal): add test for export public key mode of the ecdsa peripheral 2023-09-06 11:07:40 +05:30
harshal.patil d86b320892 feat(ecdsa): add ECDSA peripheral support for esp32p4 2023-09-06 11:07:37 +05:30
harshal.patil 21c3549800 ci(hal): add support for 4096 bits size digital signature hal test 2023-09-01 15:44:21 +05:30
harshal.patil b8c208cdb3 feat(ds): add Digital Signature peripheral support for esp32p4 2023-09-01 15:44:21 +05:30
harshal.patil 095c2a3324 feat(hmac): add HMAC peripheral support for esp32p4 2023-09-01 15:41:39 +05:30
harshal.patil 37303266f0 fix(esp_prov): update devices tuple usage due to API deprecations
- a recent commit fixed the API deprecations,
and the BLEDevice object now needs to be accessed through a tuple.
- thus the changes were made in the code wherein the object was used,
but updating the usage in the condition when de
vname is not None got skipped.
2023-08-22 14:44:38 +05:30
harshal.patil 031175d22a feat(mpi): add MPI peripheral support for esp32p4 2023-08-03 09:44:02 +05:30
harshal.patil f2801ae4c9 feat(ecc): add ECC peripheral support for esp32p4 2023-08-01 10:20:30 +05:30
harshal.patil b4cf035608 feat(soc): Add hwcrypto_reg.h for esp32p4 2023-08-01 10:19:18 +05:30
harshal.patil 9e1edd74c7 fix(esp_prov): Fixed the deprecation APIs warnings
- Updated the extraction of service_uuids using AdvertisementData
- Replaced the `get_services()` API with the `services` property
2023-07-19 14:24:47 +05:30
harshal.patil eb3dab8af4 ci(mbedtls): added a test for the mbedtls_internal_shaX_process API 2023-07-14 04:08:30 +00:00
harshal.patil 79d07f9909 fix(mbedtls): Fix the port for the mbedtls_internal_shaX_process API
- Also added the fix to update intermediate SHA state in the mbedtls_shaX_update API
2023-07-14 04:08:30 +00:00
harshal.patil 990e1e9307 refactor(mbedtls): refactored the return values check in some esp-aes APIs 2023-07-12 14:41:41 +05:30
harshal.patil 38255c048a fix(mbedtls): Fixed the transmission of return values of the esp-aes APIs
- Earlier, some intermediate return values were not stored and returned,
thus incorrect return values used to get transmitted to the upper layer of APIs.

- Also, zeroised the output buffer in case of error condition.
2023-07-12 14:41:41 +05:30
harshal.patil f0ae5bd25a mbedtls: update submodule to include:
fix: mbedtls_ecdsa_can_do was not being defined when ECDSA_SIGN_ALT is defined but ECDSA_VERIFY_ALT is not defined causing mbedtls_ecdsa_verify_restartable to always fail.
feature: initial version of the sbom.yml file
2023-06-23 14:07:45 +05:30
harshal.patil 0b86bcd35f efuse: use esp32 qemu target for a efuses example test.
The efuses example test with secure boot v2 and flash encryption enabled can be run on the esp32 qemu image.
2023-06-07 18:19:56 +05:30
Harshal Patil 972e17410a Merge branch 'fix/crypto_test_app_minor_fixes' into 'master'
hal: minor fixes needed in the crypto hal test app

See merge request espressif/esp-idf!23949
2023-06-05 20:04:08 +08:00
harshal.patil 7d4e69d5fa hal: minor fixes needed in the crypto hal test app 2023-06-01 11:37:36 +05:30
harshal.patil 60ccb8f439 esp32c6: xts-aes register preefix discrepency 2023-05-26 15:33:21 +05:30
harshal.patil bc825431e8 esp32h2: xts-aes register prefix discrepency 2023-05-26 15:33:15 +05:30
harshal.patil ed4ceea43d esp32c2: xts-aes register prefix discrepency 2023-05-25 11:27:18 +05:30
harshal.patil 0058fb3a05 esp32c3: xts-aes register prefix discrepency 2023-05-25 11:27:10 +05:30
harshal.patil 873901e7aa bootloader: add a config to enable flashing of bootloader using
the command `idf.py flash` when secure boot v2 is enabled.
2023-05-24 11:50:14 +05:30
harshal.patil 21c6d5392f hal: add ecdsa peripheral verification tests 2023-05-22 15:19:34 +05:30
harshal.patil 7330851db0 hal: add digital signature peripheral verification tests
- also renamed the security test app to crypto test app
2023-05-22 15:19:34 +05:30
harshal.patil 9b27fa73a7 hal: add hmac peripheral verification tests 2023-05-22 15:19:34 +05:30
harshal.patil da2c29751e hal: combine ecc hal test app into security peripherals test app 2023-05-22 15:19:34 +05:30
harshal.patil 56ac7eee3b ecc: added SOC_ECC_SUPPORT_POINT_VERIFY_QUIRK soc caps for esp32c2
as the ESP32C2 ECC peripheral has a bug in ECC point verification,
if value of K is zero the verification fails
2023-05-22 15:19:34 +05:30
harshal.patil 647c2dabfe hal: combine security peripherals test applications 2023-05-22 15:19:34 +05:30
harshal.patil 9a87b26294 mbedtls: fix sha-512 block mode build error 2023-05-08 10:27:34 +05:30
harshal.patil fbb8937758 bignum: bare-metal mpi peripheral verification application 2023-04-24 16:15:11 +05:30
harshal.patil 56327452ce esp_hw_support: add crypto lock layer for esp32 2023-04-24 16:15:11 +05:30
harshal.patil 4ae1ea7b9f bignum: refactored the hardware abstraction of the mpi peripheral
- `<target>/bignum.c` is replaced by mpi_ll.h ll layer.
- added the mpi hal layer.
2023-04-24 16:15:11 +05:30
harshal.patil c403affd98 mbedtls: fix ci failures for update v3.4.0
- While updating to mbedtls release/v3.4.0, building mbedtls/library/psa_crypto.c,
clang produced an unreachable-code warning, so added `-Wno-unreachable-code` compile option for clang.
- In `mbedtls/v3.4.0`, the ECDSA restartable sign and verify functions (`ecdsa.c`) were made public.
- But the `mbedtls_ecdsa_sign_det_restartable` function prototype was declared in the file `ecdsa.h`,
only when `MBEDTLS_ECDSA_SIGN_ALT` was not defined.
- added a patch in mbedtls library to fix it.
2023-04-17 12:55:04 +05:30
harshal.patil 9c3a6c4f53 mbedtls: replace low-level sha apis with md apis in esp_ssl_tls 2023-04-17 12:50:15 +05:30
harshal.patil f30b58f665 mbedtls: Update config options as per release/v3.4.0
- Added a Kconfig option for the newly added mbedtls option MBEDTLS_PKCS7_C
2023-04-17 12:50:15 +05:30
harshal.patil 002a451bf8 mbedtls: Update to release/v3.4.0
- Release Notes: https://github.com/Mbed-TLS/mbedtls/releases/tag/v3.4.0
2023-04-17 12:50:15 +05:30
harshal.patil 2d7ec1d239 esp_https_ota: Set user configurable ota authorization retries 2023-03-29 17:29:31 +05:30
harshal.patil 6b8bc64f31 test: enable mbedtls esp_crt_bundle test for esp32h2 2023-03-13 12:00:01 +05:30
harshal.patil 04cc562180 mbedtls: enable RSA support for esp32h2 2023-03-01 14:18:57 +05:30
harshal.patil 32e78b71f3 http_client: fixed looping caused when disable_auto_redirect enabled
Closes https://github.com/espressif/esp-idf/issues/10629
2023-02-23 14:11:58 +05:30
harshal.patil 3c0778a069 docs: refactored Secure Boot V2 documentation
- Added "Signing using pre-calculate signatures" section
- Refactored "Signing using an external HSM" section
2023-02-08 12:01:47 +05:30
harshal.patil 6206c1e213 mbedtls: enable RSA support for esp32c6 2023-02-03 11:46:42 +05:30
harshal.patil 75899755b7 mbedtls: fix null pointer dereference of variable iv_off
iv_off gets dereferenced before being check for NULL
2023-01-24 12:20:00 +05:30
harshal.patil 5ee1e97e6f mbedtls: added a test of different auth-tag lengths in AES-GCM 2023-01-16 15:04:08 +05:30
harshal.patil 270ff95022 mbedtls/port: refactor sanity checks and their return values
Refactored and returned correct error codes for sanity checks
present in port layer esp_aes.c and esp_aes_gcm.c
2023-01-16 15:04:08 +05:30
harshal.patil 9a47f8a066 mbedtls/port: added stream_block parameter sanity check 2023-01-16 15:04:08 +05:30
harshal.patil f9f10c2590 mbedtls: fix esp_aes_gcm_update_ad() API implementation 2022-12-28 11:33:09 +05:30
harshal.patil 48840d04f0 mbedtls: fix esp_aes_crypt_ctr writing to null stream block 2022-12-28 11:33:09 +05:30
harshal.patil 06bb0ee077 mbedtls: added SOC_AES_SUPPORT_AES_192 check in esp_aes_gcm_setkey() 2022-12-28 11:33:09 +05:30
harshal.patil e0f31edab5 test_aes_gcm: fix output_size paramter in mbedtls_get_update()
mbedtls_get_update() returned MBEDTLS_ERR_GCM_BUFFER_TOO_SMALL,
as 0 used to get passed in the output_size paramter.
2022-12-28 11:33:09 +05:30
harshal.patil c15b36b9c4 mbedtls: populate mbedtls_gcm_update() output_length paramater 2022-12-28 11:33:09 +05:30
harshal.patil 54d6ab2044 docs: Added documentation for using pre-calculated signatures
to generate secure boot enabled binaries.
2022-12-06 10:23:45 +05:30
harshal.patil 1f5122c90f esptool_py: Added a sector-pad option for bootloader image
When SECURE BOOT V2 is enabled and CONFIG_SECURE_BOOT_SIGNED_BINARIES
is not set, sector-pad the bootloader image, which is required for an
external PKCS#11 interface to generate a signature.
2022-12-01 18:24:29 +05:30
harshal.patil 6809eaf375 docs: fix secure boot "Remote Signing of Images" section command 2022-12-01 18:03:44 +05:30
harshal.patil e7a4062a30 docs: added documentation for wifi_ctrl endpoint and updated esp_prov readme 2022-11-01 14:19:01 +05:30
harshal.patil b7de443aaa wifi_provisioning: added wifi-ctrl reprov endpoint 2022-11-01 14:19:01 +05:30
harshal.patil dacf44dd1d wifi_provisioning: added wifi-ctrl reset endpoint 2022-11-01 14:19:01 +05:30
harshal.patil 779aef401e esp_prov: added support for session cookie in SoftAP mode 2022-10-27 18:17:38 +05:30
harshal.patil 5feb4696be fix: esp_http_client fix behaviour when disable_auto_redirect is enabled 2022-10-27 14:04:54 +05:30
harshal.patil 9f6e433bb5 ci: Migrate app_update unit tests from unit-test-app to component-test-app 2022-10-21 07:37:37 +00:00
harshal.patil 3a05ac178e docs: pop deprecated, updated to sec_params 2022-10-14 17:11:02 +05:30
harshal.patil f9db1ec366 esp_local_ctrl: added sec1 and sec2 support in esp_local_ctrl example 2022-10-14 17:04:08 +05:30
harshal.patil a976dd1608 protobuf-c: Update submodule to v1.4.1 2022-09-29 15:35:19 +05:30
harshal.patil b95decd465 parttool: added tests to check the external interface (parsing) of the parttool commands
The existing tests detect errors in the internal interface (eg. parttool read-write functions) and did not check for any possible breakages in the args parsing of the parttool commands.
2022-09-20 11:28:55 +05:30
harshal.patil aca27c8db2 parttool: fix extra_partition_subtypes attribute parsing 2022-09-20 11:28:52 +05:30
harshal.patil 83504f96d4 ci: UT job parallel decreased 2022-09-17 14:31:37 +05:30
harshal.patil 68a7da3f0b test_utils: reset critical lwip leap level
Test cases calling test_case_uses_tcpip() set critical lwip leak level to 4095, but do not reset it to default.
Hence, 4095 used to get added while calculating the critical threshold for the testcases following them.
2022-09-17 14:31:36 +05:30