Skip to content

jimyuan3/hpm-signing

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

HPM Signing

Overview

HPM Signing is a project designed to facilitate the implementation of Hardware Platform Management (HPM.1, the IPM Controller Firmware Upgrade specification). This tool ensures the integrity and authenticity of firmware through a secure signing process.

Features

  • Scripts to generate a siging key pair
  • Scripts to sign BIOS/CPLD This repository includes scripts to generate binary images following the HPM.1 specification. The HPM.1 specification is a standard for hardware platform management, particularly for IPM (Intelligent Platform Management) controllers. For more information on the HPM.1 specification, you can refer to the following links:
  • Hardware Platform Management Overview
  • HPM.1 IPM Controller Firmware Upgrade Specification

Usage

To use the HPM Signing tool, follow these steps:

  1. Create a RSA key pair:
    python3 keys.py
    A key pair private_key.pem and public_key.pem will be generated.
  2. For demo purpose, create a binary file using dd:
    dd if=/dev/random of=dummy.bin bs=4M count=1
    Feel free to skip this step, if you have a binary file to be signed.
  3. Check hpm_data.json file and change the value if necessary.
  4. Put everything together. Assume we have a BIOS binary dummy.bin with version 0x86:
    sudo python3 hpm.py -i dummy2.bin -o out_file.hpm --key private_key.pem -t BIOS -v 86 -f hpm_data.json
    The final HPM file out_file.hpm will be generated.

Contact

For any questions or feedback, please contact Jim Yuan.

About

hpm file generator

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages