Skip to main content
Associate II
March 28, 2026
Question

How do I generate the STiROT_Data.obk and OEMuROT_Data.obk files?

  • March 28, 2026
  • 1 reply
  • 173 views

Hi, I have an STM32H7S78-DK board and am working on encryption. I’ve looked at the example files for STiROT_OEMuROT: https://github.com/STMicroelectronics/STM32CubeH7RS/tree/main/Projects/STM32H7S78 -DK/ROT_Provisioning/STiROT_OEMuROT

I’ve tried that out, and now I’d like to generate my own keys, but what I’m missing are the OEMuROT_Data.obk and STiROT_Data. obk files. I can generate the OEMuROT_Config.obk and STiROT_Config.obk files with their corresponding XML files using STM32TrustedPackageCreator_CLI, but how do I generate the _Data. obk files? They don’t have any config files, and I can’t find anything online either. The batch script uses them, though, as you can see here: https://github.com/STMicroelectronics/STM32CubeH7RS/blob/main/Projects/STM32H7S78-DK/ROT_Provisioning/STiROT_OEMuROT/obkey_provisioning.bat

Please help – do I need them? If so, how are they generated and where can I find the corresponding .xml file?

1 reply

Jocelyn RICARD
ST Employee
March 30, 2026

Hello @PaulB_1 ,

the *_data files are “empty” files where payload is composed of zeros.

These files are used to initialise a specific area in OBKey that will be used to store “dynamic” information such as firmware version.

So no need to re generate these files they will not change. This is the reason why xml configuration is not provided 

Best regards 

Jocelyn

PaulB_1Author
Associate II
April 4, 2026

Okay, great, thanks for the quick reply. But that means I still have to use the data files. The reason is that I'm writing an API in C# to help with provisioning, and that's why I want to know if I should process the data in the same order as in the batch file.

set "action=Configure OBKeys HDPL1-DA config area"
echo %action%
%stm32programmercli% %connect_no_reset%
%stm32programmercli% %connect_no_reset% -sdp ./../DA/Binary/%da_file%.obk
IF !errorlevel! NEQ 0 goto :error

set "action=Configure OBKeys HDPL1-STiROT config area"
echo %action%
%stm32programmercli% %connect_no_reset%
%stm32programmercli% %connect_no_reset% -sdp ./Binary/STiROT_Config.obk
IF !errorlevel! NEQ 0 goto :error

set "action=Configure OBKeys HDPL1-STiROT data area"
echo %action%
%stm32programmercli% %connect_no_reset%
%stm32programmercli% %connect_no_reset% -sdp ./Binary/STiROT_Data.obk
IF !errorlevel! NEQ 0 goto :error

set "action=Configure OBKeys HDPL2-OEMuROT config area"
echo %action%
%stm32programmercli% %connect_no_reset%
%stm32programmercli% %connect_no_reset% -sdp ./Binary/OEMuROT_Config.obk
IF !errorlevel! NEQ 0 goto :error

set "action=Configure OBKeys HDPL2-OEMuROT data area"
echo %action%
%stm32programmercli% %connect_no_reset%
%stm32programmercli% %connect_no_reset% -sdp ./Binary/OEMuROT_Data.obk
IF !errorlevel! NEQ 0 goto :error