Skip to content

Conversation

@aidangarske
Copy link

Unified wolfBoot Utility Tool

This PR consolidates wolfBoot Python scripts into a single unified utility tool, addressing feedback from PR #621.

Changes

Merged three tools into a unified boot_status.py with subcommands:

Image Operations (from image-peek.py):

  • boot_status.py image inspect - Display image header, version, timestamp, hash, signature
  • boot_status.py image verify - Verify image hash and signature with public key
  • boot_status.py image dump - Extract payload from signed image

Keystore Operations (from keystore-to-spki.py):

  • boot_status.py keystore convert - Convert wolfBoot keystore.der to SPKI DER/PEM format
    • Supports ECC p256/p384/p521 curves with auto-detection
    • Handles multiple input formats: raw X||Y, SEC1, wolfBoot 16+X||Y container, SPKI DER

Boot Status Operations (original boot_status.py):

  • boot_status.py status get - Read partition boot status (BOOT/UPDATE)
  • boot_status.py status set - Set partition status (NEW/UPDATING/SUCCESS)

Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR consolidates three standalone Python tools (boot_status.py, image-peek.py, and keystore-to-spki.py) into a single unified boot_status.py utility with a subcommand-based CLI interface, improving tool organization and user experience.

Key Changes:

  • Refactored original boot status management into status get and status set subcommands
  • Added image operations subcommands (image inspect, image verify, image dump) for analyzing wolfBoot signed images
  • Added keystore conversion subcommand (keystore convert) for transforming wolfBoot keystores to SPKI DER/PEM format

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants