# Signature Relay for firmware Documentation of ## Compiling This project can be compiled for simulation environments or directly on the hardware. 1. **Simulated environment** At project root type the command ```bash $ make SGX_MODE=SIM ``` 2. **Hardware** At project root type the command ```bash $ make ``` This creates the following directory tree: ``` out ├── bin <- here is the executable binary file └── obj <- here are the object files generated by the compiling process ``` # Usage ## Setup Initialize the Enclave keypair by executing: `./signatureproxy proxysetup -pkey > ` ## Sign 1. Create employee signature using `./signatureproxy employee -firm -ekey > ` This step can also be done using OpenSSL: `openssl dgst -sha256 -sign -out -in ` 2. Use the signature proxy to resign the firmware using `./signatureproxy proxy -pkey -epub -firm > ` The enclave verifies the employee signature and signs the firmware if the signature is valid. 3. Verify signature using `cat | ./signatureproxy embedded -firm -ppub ` This step can also be done using OpenSSL: `openssl dgst -sha256 -verify -signature `