libspdm
This spdm-dump is a tool to dump SPDM communication message usingFeature
- A tool to dump SPDM communication message that can run in OS environment.
Document
-
User guide
The user guide can be found at user_guide
Prerequisit
Build Tool
-
Visual Studio (VS2015 or VS2019)
-
GCC (above GCC5)
-
LLVM (LLVM9)
Download and install LLVM9. Ensure LLVM9 executable directory is in PATH environment variable.
Build
Git Submodule
spdm_emu uses submodules for libspdm.
To get a full buildable repo, please use git submodule update --init --recursive
.
If there is an update for submodules, please use git submodule update
.
Windows Build with CMake
Use x86 command prompt for ARCH=ia32 and x64 command prompt for ARCH=x64. (TOOLCHAIN=VS2019|VS2015|CLANG)
cd spdm_dump
mkdir build
cd build
cmake -G"NMake Makefiles" -DARCH=<x64|ia32> -DTOOLCHAIN=<toolchain> -DTARGET=<Debug|Release> -DCRYPTO=<mbedtls|openssl> ..
nmake copy_sample_key
nmake
Linux Build with CMake
(TOOLCHAIN=GCC|CLANG)
cd spdm_dump
mkdir build
cd build
cmake -DARCH=<x64|ia32|arm|aarch64|riscv32|riscv64|arc> -DTOOLCHAIN=<toolchain> -DTARGET=<Debug|Release> -DCRYPTO=<mbedtls|openssl> ..
make copy_sample_key
make
Run Test
Run spdm_dump
The tool output is at spdm_dump/build/bin. It can be used to parse the pcap file for offline analysis.
Please refer to spdm_dump for detail.
Feature not implemented yet
- Please refer to issues for detail
Known limitation
This package is only the sample code to show the concept. It does not have a full validation such as robustness functional test and fuzzing test. It does not meet the production quality yet. Any codes including the API definition, the libary and the drivers are subject to change.