You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
— like `wolfBoot_open_self()` but accepts explicit header and firmware
166
+
base addresses. Useful for opening any self-header and image combination.
167
+
168
+
After opening the image with `wolfBoot_open_self()`, the caller can
169
+
verify the bootloader using the standard verification functions:
170
+
171
+
```c
172
+
struct wolfBoot_image img;
173
+
if (wolfBoot_open_self(&img) == 0) {
174
+
wolfBoot_verify_integrity(&img);
175
+
wolfBoot_verify_authenticity(&img);
176
+
}
177
+
```
178
+
179
+
**NOTE: An application verifying its own integrity and authenticity almost never provides meaningful security.**
180
+
181
+
The self-header feature exists to support verification of an *untrusted* wolfBoot image by an external entity that has its own independent root of trust, before execution is transferred to wolfBoot.
182
+
This is intended for platforms where the silicon does not support ROM-based verification of a first-stage bootloader.
183
+
184
+
A common use case is in automotive multicore systems used with wolfHSM, where an HSM core boots first and is responsible for authenticating and releasing the remaining cores in the system.
185
+
186
+
##### Factory programming
187
+
188
+
At manufacturing time the self-header must be programmed alongside the
189
+
bootloader binary. Use `--header-only` with the sign tool to generate a
0 commit comments