This example uses the SE Manager API to perform the key provisioning and OTP initialization on the supported Series 2 device.
The following items can be programmed to the SE OTP:
Tamper (Secure Vault device only) and secure boot configurationAES-128 key (HSE only)Public sign keyPublic command keyThe AES-128 key (encrypt-unsafe-key.prv), the corresponding private sign key (rootsign-unsafe-privkey.pem), and private command key (cmd-unsafe-privkey.pem) can be found in the Windows folder below.
C:\SiliconLabs\SimplicityStudio\v5\developer\adapter_packs\secmgr\scripts\offline
The AES-128 key (encrypt-unsafe-key.prv) is:
81a5e21fa15286f1df445c2cc120fa3f
The public key of rootsign-unsafe-privkey.pem is:
X - C4AF4AC69AAB9512DB50F7A26AE5B4801183D85417E729A56DA974F4E08A562C
Y - DE6019DEA9411332DC1A743372D170B436238A34597C410EA177024DE20FC819
The public key of cmd-unsafe-privkey.pem is:
X - B1BC6F6FA56640ED522B2EE0F5B3CF7E5D48F60BE8148F0DC08440F0A4E1DCA4
Y - 7C04119ED6A1BE31B7707E5F9D001A659A051003E95E1B936F05C37EA793AD63
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 following SE Manager APIs are used in this example:
sl_se_initsl_se_deinitsl_se_init_command_contextsl_se_deinit_command_contextsl_se_get_se_versionsl_se_read_otpsl_se_read_pubkeysl_se_init_otp_keysl_se_init_otpsl_se_aes_crypt_ecbsl_se_read_executed_command (VSE only)sl_se_ack_command (VSE only)Adapter Firmware under General Device Information in Simplicity Studio 5 Users Guide).Secure Firmware under General Device Information in Simplicity Studio 5 Users Guide).Device Console in Simplicity Studio 5, Line terminator: must be set to None).Platform() checkbox to browse the platform examples).Optimize for debugging (-Og) on Simplicity IDE and None on IAR Embedded Workbench.