https://github.com/pc-magas/dummy-keygen
A minimal key generator using random strings
https://github.com/pc-magas/dummy-keygen
Last synced: 2 months ago
JSON representation
A minimal key generator using random strings
- Host: GitHub
- URL: https://github.com/pc-magas/dummy-keygen
- Owner: pc-magas
- Created: 2018-01-28T16:23:44.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2018-01-28T16:47:31.000Z (over 7 years ago)
- Last Synced: 2024-04-19T09:56:27.272Z (about 1 year ago)
- Language: Makefile
- Size: 21.5 KB
- Stars: 1
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# My First Simple enclave
This is my first enclave for testing and educational purpoce.
It is supposed to generate a library that does a simple adding into an intel SGX environment.This repo contains 2 branches:
* The `enclave_only` branch that shows only how an enclave is built and signed.
* The `master` branch that contains the how build sign and link your enclave with an application.## Compile
### How to Compile
You will need to run the following command:
```bash
make
```### Key generation for enclave signing:
The makefile generates the keys for enclave signing in `~/.sgx` directory. By default it will generate the `~/.sgx/MyFirstEnclave.pem` key. You can modify the path where the key will be stored by modifying the `KEY_STORAGE_PATH` and `KEY_PRIVATE_FILE` and `KEY_PUBLIC_FILE` accorditly. The following table explains the valies of the variables.
Variable | Use
--- | ---
`KEY_STORAGE_PATH` | The directory where the keys will be stored.
`KEY_PRIVATE_FILE` | The private key that will be generated and will be used to sign the enclave.
`KEY_PUBLIC_FILE` | The public key that will be used from others to verify the signed enclave.### The `Makefile` in Simple terms
As far I discovered the application you can compile an enclave by doing the following compile chain:

## Requirements
* A GNU\Linux Distribution with the [sgx driver](https://github.com/01org/linux-sgx-driver) and the [sdk & psw libraries](https://github.com/01org/linux-sgx)
* As mentioned on the links above to export the correct source.
* The `gcc` , `g++`, `make` and `openssl` tools.
* [Git lfs](https://git-lfs.github.com/) for documentation (optionally)