s32sdaf-generate-debug-card
Generate an HSE2-oriented debug card workflow artifact for S32SDAF using volkano_utils.exe and compute its authentication tag with volkano.exe using an ADK2 key. Guides the agent through debug-card in
Files1
View on GitHubSKILL.mdskills/s32sdaf/s32sdaf-generate-debug-card/SKILL.md
GitHubGenerate and Authenticate a Debug Card
Guide the user through the two-stage S32SDAF debug-card workflow for
HSE2-oriented secure debug: (1) generate the debug card BLOB with
volkano_utils.exe generate_debug_card, and (2) compute the debug card
authentication tag (DCAT) with volkano.exe get_dcat using an ADK2 key.
Generating the debug-card file does not itself authenticate or sign it - keep
the two stages clearly separated.
When to use
Use this skill to generate a debug card BLOB from an input JSON/JSONC file,
compute the DCAT with ADK2, choose RAW vs ASN.1 signature encoding, and
verify the prerequisites for debug-card authentication (UID/OID/ADK2/applet).
Do not use it for plain challenge-response without a debug card, ADKP-only flows, wrapping keys unrelated to debug-card signing, inventing JSON schema fields, or assuming UID/OID/ADK2/applet exist without checking.
Available Capabilities
| Type | Name | Invocation |
|---|---|---|
| Command | volkano_utils.exe generate_debug_card |
generate the debug card BLOB from input JSON/JSONC |
| Command | volkano.exe get_dcat |
compute the DCAT using ADK2 |
| Tool | status |
verify MCP/server configuration |
| Tool | execute_action(action="find_installation") |
locate Volkano install |
| Tool | execute_action(action="discover", params={...}) |
inspect whether the UID is present |
If MCP wrappers for generate_debug_card / get_dcat do not yet exist, this
skill still provides the grounded documented workflow and prerequisites.
Grounded command reference
- BLOB:
volkano_utils.exe generate_debug_card -input <input json file> - DCAT:
volkano.exe get_dcat -uid <UID> -oid <OID> -key [key name] -debug_card <input binary file> -encoding <RAW|ASN.1>with optional--append_signature(appends signature to the debug-card file).
Expectations from the KB: UID and OID are 16 bytes; get_dcat requires
applet version 1.5+; signature encoding is RAW or ASN.1 (use the format
the downstream consumer expects).
Quickstart
- Decide whether the user wants only the BLOB, or the full signed flow.
- If setup state is untrusted, run
s32sdaf-discovery-and-status. - For DCAT, confirm 16-byte UID, 16-byte OID, a registered ADK2 key for that UID/OID, and applet 1.5+.
- Generate BLOB:
volkano_utils.exe generate_debug_card -input <file>. - Compute DCAT:
volkano.exe get_dcat -uid ... -oid ... -key ... -debug_card ... -encoding RAW|ASN.1. - Present the BLOB path, the tag/signature, encoding, and append state.
Workflow
- Confirm intent. Only the debug card BLOB, or the full workflow including the authentication tag / signature.
- Verify readiness if needed. Use
s32sdaf-discovery-and-status. Confirm Volkano is available, the card is reachable if DCAT is needed, and the relevant UID exists on the card. - Validate DCAT prerequisites. 16-byte UID, 16-byte OID, a registered ADK2
key for that UID/OID, applet 1.5+. If any are missing or unknown, stop and
resolve first (redirect to
s32sdaf-register-keywhen ADK2 is unprovisioned). - Generate the BLOB. Run
volkano_utils.exe generate_debug_card -input <file>. The input file must be fully completed; do not invent missing values. If the file is partial, ask the user to complete it first. - Compute the DCAT. Run
volkano.exe get_dcatwith-uid,-oid,-key,-debug_card,-encoding, and optional--append_signature. - Present the result. Debug-card file path, authentication tag/signature, encoding used, whether the signature was appended, and any downstream assumptions the user must still verify.
The most common confusion is assuming BLOB generation is enough; the second common failure is missing ADK2 / OID / applet 1.5+ prerequisites.
Guardrails
Scope - May generate local files (debug card BLOB) and read smart-card state for signing. It must not mutate smart-card registrations unless the agent deliberately redirects into a registration workflow first.
Destructive actions - --append_signature modifies the debug-card file in
place; confirm that is intended before using it.
Secrets - Do not echo the smart-card password unnecessarily.
Refuse-and-escalate -
- Missing/partial input JSON/JSONC: stop; do not invent contents.
- UID/OID missing: use discovery or request the values.
- ADK2 key missing: redirect to
s32sdaf-register-key. - Applet < 1.5: do not proceed as if
get_dcatworks; treat 1.5+ as required. - Unsure RAW vs ASN.1: ask which format the consumer expects; do not guess.
- Card unreachable for DCAT: report the signing step cannot proceed; verify connectivity via discovery/status.
Validation loop
- Confirm BLOB generation and authentication are treated as separate stages.
- Confirm DCAT prerequisites (UID/OID/ADK2/applet 1.5+) are validated before
get_dcat. - Confirm no missing UID/OID/ADK2/JSON content was guessed.
- Generate the BLOB and (if requested) compute the DCAT.
- Pass criterion: the user receives a clear next-step artifact set (BLOB path plus tag/signature and encoding) for secure debug usage.
Out of scope
- Plain challenge-response authentication without a debug card.
- ADKP-only workflows and key wrapping unrelated to debug-card signing.
- HSE2 response calculation without a debug card (use
s32sdaf-hse2-authentication).
See Also
- Related skills:
s32sdaf-discovery-and-status(readiness/UID inspection),s32sdaf-register-key(provision the ADK2 key),s32sdaf-hse2-authentication(HSE2 response calculation without a debug card),s32sdaf-kb-entrypoint(route broad prompts).