Inspect & transcode SAIP
Take an existing profile package, validate it, transcode it between JSON and DER, optionally edit it in the TUI, and leave behind canonical sidecars that downstream flows can consume.
On this page
Prerequisites
- the profile file (DER, UPP, or hex-encoded DER in
.txt/.hex) Tools/ProfilePackageinstalled via the editable install- optional external
saip-toolbinary forRAWpassthrough operations
Steps
-
Open the shell and select the input.
[ProfilePackage] > USE path/to/profile.der [ProfilePackage] > STATUS -
Confirm it parses and lint it.
[ProfilePackage] > INFO [ProfilePackage] > TREE [ProfilePackage] > LINT --strict -
Launch the transcode TUI.
[ProfilePackage] > TUIEdit the JSON side; the DER side re-encodes live. The lint overlay highlights issues as you type. Pane layout is persisted.
-
Write canonical sidecars.
On exit the TUI (or explicit transcode commands) produces:
*.transcode.json*.transcode.der*.transcode.txt
These land in the transcode output directory chosen via
TRANSCODE-DIR. -
Optional: split the package or extract applets.
[ProfilePackage] > SPLIT [ProfilePackage] > EXTRACT-APPS --cap
One-shot form
python -m Tools.ProfilePackage --cmd "USE profile.der; LINT --strict; ENCODE-JSON --out profile.transcode.der; EXIT"
Validation
LINT --strictexits clean- the produced
*.transcode.deris the same size class as the source and round-trips throughDUMPwithout mismatch - downstream
LOAD-PROFILEaccepts the transcoded DER
Common failures
| Symptom | Likely cause |
|---|---|
hex parse failed |
the input .txt / .hex has whitespace, commas, or 0x prefixes. Strip them. |
| Lint errors on PE ordering | the profile has out-of-order PEs. Reorder in the TUI. |
| Metadata lint complains about missing fields | the profile lacks required metadata tags. Populate them in the JSON side. |
RAW not found |
the external saip-tool binary is missing. Use TOOL <path>. |