This example uses the SE Manager API and Mbed TLS to perform the secure identity on the supported Series 2 Secure Vault device.
This example uses the CRYPTO engine in the SE to accelerate the X.509 API functions of Mbed TLS. The Private Device Key in the Secure Key Storage on the chip is used to sign the challenge from the remote device.
The CRYPTO hardware acceleration on Mbed TLS can be switched off by defining the NO_CRYPTO_ACCELERATION
symbol in the IDE setting (Preprocessor->Defined symbols
). Increase the heap size to 10240 (sl_memory_config.h
) to use this option in IAR Embedded Workbench.
The example redirects standard I/O to the virtual serial port (VCOM) of the kit. By default, the serial port setting is 115200 bps and 8-N-1 configuration.
The example has been instrumented with code to count the number of clock cycles spent in different operations. The results are printed on the VCOM serial port console. This feature can be disabled by defining SE_MANAGER_PRINT=0
(default is 1) in the IDE setting (Preprocessor->Defined symbols
).
The certificates are printed on the VCOM serial port console. This feature can be disabled by defining SE_MANAGER_PRINT_CERT=0
(default is 1) in the IDE setting (Preprocessor->Defined symbols
).
The following SE Manager APIs are used in this example:
sl_se_init
sl_se_deinit
sl_se_init_command_context
sl_se_deinit_command_context
sl_se_get_random
sl_se_read_cert_size
sl_se_read_cert
sl_se_ecc_sign
sl_se_read_pubkey
sl_se_ecc_verify
Adapter Firmware
under General Device Information in Simplicity Studio 5 Users Guide).Secure Firmware
under General Device Information in Simplicity Studio 5 Users Guide).Platform()
checkbox to browse the platform examples).Optimize for debugging (-Og)
on Simplicity IDE and None
on IAR Embedded Workbench.AN1268: Authenticating Silicon Labs Devices Using Device Certificates