# wolfSSL Crypt Test Example This ESP32 example uses the [wolfSSL wolfcrypt Test Application](https://github.com/wolfSSL/wolfssl/tree/master/wolfcrypt/test). Other target boards _should_ work, but have not yet been tested. For general information on [wolfSSL examples for Espressif](../README.md), see the [README](https://github.com/wolfSSL/wolfssl/blob/master/IDE/Espressif/ESP-IDF/README.md) file. ## Example Output Note the default wolfSSL `user_settings.h` is configured by default to be the most compatible across the widest ranges of targets. Contact wolfSSL at support@wolfssl.com for help in optimizing for your particular application, or see the [docs](https://www.wolfssl.com/documentation/manuals/wolfssl/index.html). ``` ets Jun 8 2016 00:22:57 rst:0x1 (POWERON_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT) configsip: 0, SPIWP:0xee clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00 mode:DIO, clock div:2 load:0x3fff0030,len:7168 load:0x40078000,len:15612 load:0x40080400,len:4 load:0x40080404,len:3736 entry 0x40080624 I (28) boot: ESP-IDF 5.2.1 2nd stage bootloader I (29) boot: compile time May 17 2024 19:32:25 W (29) boot: Unicore bootloader I (32) boot: chip revision: v1.0 I (36) boot.esp32: SPI Speed : 40MHz I (41) boot.esp32: SPI Mode : DIO I (45) boot.esp32: SPI Flash Size : 4MB I (50) boot: Enabling RNG early entropy source... I (55) boot: Partition Table: I (59) boot: ## Label Usage Type ST Offset Length I (66) boot: 0 nvs WiFi data 01 02 00009000 00006000 I (74) boot: 1 phy_init RF data 01 01 0000f000 00001000 I (81) boot: 2 factory factory app 00 00 00010000 00100000 I (89) boot: End of partition table I (93) esp_image: segment 0: paddr=00010020 vaddr=3f400020 size=31e24h (204324) map I (175) esp_image: segment 1: paddr=00041e4c vaddr=3ffb0000 size=01c54h ( 7252) load I (178) esp_image: segment 2: paddr=00043aa8 vaddr=40080000 size=0b3c0h ( 46016) load I (200) esp_image: segment 3: paddr=0004ee70 vaddr=50000000 size=00004h ( 4) load I (200) esp_image: segment 4: paddr=0004ee7c vaddr=00000000 size=0119ch ( 4508) I (207) esp_image: segment 5: paddr=00050020 vaddr=400d0020 size=abb7ch (703356) map I (473) boot: Loaded app from partition at offset 0x10000 I (474) boot: Disabling RNG early entropy source... I (485) cpu_start: Unicore app I (485) cpu_start: Single core mode I (493) cpu_start: Pro cpu start user code I (493) cpu_start: cpu freq: 240000000 Hz I (493) cpu_start: Application information: I (498) cpu_start: Project name: ESP_IDF_Hello_World I (504) cpu_start: App version: v5.7.0-stable-512-g15af87af8-di I (511) cpu_start: Compile time: May 17 2024 19:31:47 I (517) cpu_start: ELF file SHA256: 40b2541a0... I (523) cpu_start: ESP-IDF: 5.2.1 I (528) cpu_start: Min chip rev: v0.0 I (532) cpu_start: Max chip rev: v3.99 I (537) cpu_start: Chip rev: v1.0 I (542) heap_init: Initializing. RAM available for dynamic allocation: I (549) heap_init: At 3FFAE6E0 len 00001920 (6 KiB): DRAM I (555) heap_init: At 3FFB38C0 len 0002C740 (177 KiB): DRAM I (561) heap_init: At 3FFE0440 len 0001FBC0 (126 KiB): D/IRAM I (568) heap_init: At 40078000 len 00008000 (32 KiB): IRAM I (574) heap_init: At 4008B3C0 len 00014C40 (83 KiB): IRAM I (580) heap_init: At 3FF80000 len 00002000 (8 KiB): RTCRAM I (588) spi_flash: detected chip: generic I (591) spi_flash: flash io: dio I (595) main_task: Started on CPU0 I (598) main_task: Calling app_main() I (603) wolfSSL demo: Found WOLFSSL_ESPIDF! Hello World wolfSSL Version 5.7.0 I (611) esp32_util: Extended Version and Platform Information. I (617) esp32_util: Chip revision: v1.0 I (622) esp32_util: SSID and plain text WiFi password not displayed in startup logs. I (630) esp32_util: Define SHOW_SSID_AND_PASSWORD to enable display. W (637) esp32_util: Warning: old cmake, user_settings.h location unknown. I (645) esp32_util: LIBWOLFSSL_VERSION_STRING = 5.7.0 I (650) esp32_util: LIBWOLFSSL_VERSION_HEX = 5007000 I (656) esp32_util: Stack HWM: 9212 I (660) esp32_util: I (663) esp32_util: Macro Name Defined Not Defined I (670) esp32_util: ------------------------- --------- ------------- I (677) esp32_util: NO_ESPIDF_DEFAULT........ X I (684) esp32_util: HW_MATH_ENABLED.......... X I (689) esp32_util: WOLFSSL_SHA224........... X I (695) esp32_util: WOLFSSL_SHA384........... X I (700) esp32_util: WOLFSSL_SHA512........... X I (706) esp32_util: WOLFSSL_SHA3............. X I (712) esp32_util: HAVE_ED25519............. X I (717) esp32_util: HAVE_AES_ECB............. X I (724) esp32_util: HAVE_AES_DIRECT.......... X I (730) esp32_util: USE_FAST_MATH............ X I (736) esp32_util: WOLFSSL_SP_MATH_ALL...... X I (743) esp32_util: SP_MATH.................. X I (749) esp32_util: WOLFSSL_HW_METRICS....... X I (755) esp32_util: RSA_LOW_MEM.............. X I (760) esp32_util: SMALL_SESSION_CACHE...... X I (767) esp32_util: WC_NO_HARDEN............. X I (773) esp32_util: TFM_TIMING_RESISTANT..... X I (779) esp32_util: ECC_TIMING_RESISTANT..... X I (785) esp32_util: WC_NO_CACHE_RESISTANT.... X I (790) esp32_util: WC_AES_BITSLICED......... X I (797) esp32_util: WOLFSSL_AES_NO_UNROLL.... X I (803) esp32_util: TFM_TIMING_RESISTANT..... X I (809) esp32_util: ECC_TIMING_RESISTANT..... X I (814) esp32_util: WC_RSA_BLINDING.......... X I (820) esp32_util: NO_WRITEV................ X I (825) esp32_util: FREERTOS................. X I (831) esp32_util: NO_WOLFSSL_DIR........... X I (837) esp32_util: WOLFSSL_NO_CURRDIR....... X I (842) esp32_util: WOLFSSL_LWIP............. X I (848) esp32_util: I (851) esp32_util: Compiler Optimization: Default I (856) esp32_util: I (859) esp32_util: CONFIG_IDF_TARGET = esp32 W (864) esp32_util: Watchdog active; missing WOLFSSL_ESP_NO_WATCHDOG definition. I (872) esp32_util: CONFIG_ESP32_DEFAULT_CPU_FREQ_MHZ: 240 MHz I (879) esp32_util: Xthal_have_ccount: 1 I (883) esp32_util: CONFIG_MAIN_TASK_STACK_SIZE: 10500 I (889) esp32_util: CONFIG_ESP_MAIN_TASK_STACK_SIZE: 10500 I (895) esp32_util: CONFIG_TIMER_TASK_STACK_SIZE: 3584 I (901) esp32_util: CONFIG_TIMER_TASK_STACK_DEPTH: 2048 I (907) esp32_util: Stack HWM: 8988 I (911) esp32_util: ESP32_CRYPT is enabled for ESP32. I (917) esp32_util: NOT SINGLE_THREADED I (921) esp32_util: Boot count: 1 ------------------------------------------------------------------------------ wolfSSL version 5.7.0 ------------------------------------------------------------------------------ error test passed! MEMORY test passed! base64 test passed! base16 test passed! asn test passed! RANDOM test passed! MD5 test passed! MD2 test passed! MD4 test passed! SHA test passed! SHA-224 test passed! SHA-256 test passed! SHA-384 test passed! SHA-512 test passed! SHA-512/224 test passed! SHA-512/256 test passed! SHA-3 test passed! SHAKE128 test passed! SHAKE256 test passed! Hash test passed! BLAKE2b test passed! BLAKE2s test passed! HMAC-MD5 test passed! HMAC-SHA test passed! HMAC-SHA224 test passed! HMAC-SHA256 test passed! HMAC-SHA384 test passed! HMAC-SHA512 test passed! HMAC-SHA3 test passed! HMAC-KDF test passed! SSH-KDF test passed! PRF test passed! TLSv1.2 KDF test passed! TLSv1.3 KDF test passed! X963-KDF test passed! HPKE test passed! GMAC test passed! RC2 test passed! ARC4 test passed! POLY1305 test passed! DES test passed! DES3 test passed! AES test passed! AES192 test passed! AES256 test passed! AES-OFB test passed! AES-GCM test passed! AES-CFB test passed! AES-XTS test passed! AES Key Wrap test passed! AES-SIV test passed! AES-EAX test passed! RSA test passed! DH test passed! DSA test passed! SRP test passed! PWDBASED test passed! PKCS12 test passed! openSSL extra test OPENSSL test passed! OPENSSL (EVP MD) passed! OPENSSL (PKEY0) passed! OPENSSL (PKEY1) passed! OPENSSL (EVP Sign/Verify) passed! ECC test passed! ECC buffer test passed! CURVE25519 test passed! ED25519 test passed! CMAC test passed! PKCS7encrypted test passed! PKCS7signed test passed! PKCS7enveloped test passed! PKCS7authenveloped test passed! mp test passed! prime test passed! logging test passed! time test passed! mutex test passed! cert piv test passed! I (261247) wolfssl_esp32_mp: I (261248) wolfssl_esp32_mp: esp_mp_mul HW acceleration enabled. I (261255) wolfssl_esp32_mp: Number of calls to esp_mp_mul: 3413 I (261262) wolfssl_esp32_mp: Success: no esp_mp_mul() errors. I (261268) wolfssl_esp32_mp: I (261272) wolfssl_esp32_mp: esp_mp_mulmod HW acceleration enabled. I (261279) wolfssl_esp32_mp: Number of calls to esp_mp_mulmod: 2170 I (261286) wolfssl_esp32_mp: Number of fallback to SW mp_mulmod: 331 I (261293) wolfssl_esp32_mp: Success: no esp_mp_mulmod errors. I (261299) wolfssl_esp32_mp: Success: no esp_mp_mulmod even mod. I (261306) wolfssl_esp32_mp: Success: no esp_mp_mulmod small x or y. I (261313) wolfssl_esp32_mp: I (261317) wolfssl_esp32_mp: Number of calls to esp_mp_exptmod: 659 I (261324) wolfssl_esp32_mp: Number of fallback to SW mp_exptmod: 105 I (261331) wolfssl_esp32_mp: Success: no esp_mp_exptmod errors. I (261337) wolfssl_esp32_mp: Max N->used: esp_mp_max_used = 64 I (261344) wolfssl_esp32_mp: Max timeout: esp_mp_max_timeout = 1 Test complete I (261352) wc_test: Exiting main with return code: 0 wolf_test_task complete! result code: 0 I (261361) main_task: Returned from app_main() ``` See the README.md file in the upper level 'examples' directory for [more information about examples](../README.md).