{"id":13641120,"url":"https://github.com/adombeck/python-sgx","last_synced_at":"2026-01-18T07:17:40.655Z","repository":{"id":191179828,"uuid":"100737814","full_name":"adombeck/python-sgx","owner":"adombeck","description":"Python interface to the SGX SDK","archived":false,"fork":false,"pushed_at":"2018-10-25T22:03:32.000Z","size":1543,"stargazers_count":31,"open_issues_count":2,"forks_count":6,"subscribers_count":3,"default_branch":"master","last_synced_at":"2024-08-03T01:19:47.194Z","etag":null,"topics":["python","sgx"],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/adombeck.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2017-08-18T18:01:38.000Z","updated_at":"2024-01-19T10:24:49.000Z","dependencies_parsed_at":"2023-08-28T16:26:20.659Z","dependency_job_id":null,"html_url":"https://github.com/adombeck/python-sgx","commit_stats":null,"previous_names":["adombeck/python-sgx"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/adombeck%2Fpython-sgx","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/adombeck%2Fpython-sgx/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/adombeck%2Fpython-sgx/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/adombeck%2Fpython-sgx/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/adombeck","download_url":"https://codeload.github.com/adombeck/python-sgx/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":223822052,"owners_count":17208795,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["python","sgx"],"created_at":"2024-08-02T01:01:17.940Z","updated_at":"2026-01-18T07:17:40.632Z","avatar_url":"https://github.com/adombeck.png","language":"Python","funding_links":[],"categories":["Language Frameworks","SDK"],"sub_categories":["Library OSes and SDKs"],"readme":"# Python SGX\n\nA Python interface to the SGX SDK for Linux. Uses [Graphene-SGX](https://github.com/oscarlab/graphene) to execute Python in an enclave.\n\n## Project Status\n\n**Not actively maintained as of August 2017.**\n\n**Probably doesn't even build anymore.**\n\n**You don't want to use this if you are not prepared to maintain it yourself.**\n\n\n## Submodules\n\n**The submodules are outdated. Don't file bug reports to the original authors if you use these forks.**\n\n1. [Intel SGX Linux Driver](https://github.com/adombeck/linux-sgx-driver)\n\n1. [Patched Intel SGX Linux SDK](https://github.com/adombeck/linux-sgx)\n\n1. [Patched Graphene Library OS](https://github.com/adombeck/graphene)\n\n\n## Installation\n\n1. Initialize the submodules:\n\n        git submodule update --init\n\n2. Run the submodules' setup scripts:\n\n        cd linux-sgx-driver \u0026\u0026 ./setup.sh \u0026\u0026 cd ..\n        cd linux-sgx \u0026\u0026 ./setup.sh \u0026\u0026 cd ..\n        cd graphene \u0026\u0026 ./setup.sh \u0026\u0026 cd ..\n\n3. Adjust the paths in `config/config.py` (or keep the default paths)\n4. Copy the public key of the [SGX Remote Attestation Challenger](https://github.com/adombeck/sgx-ra-challenger) to `/etc/python-sgx/challenger_public.key`, or delete this line from the `config/python3.manifest.template` if you don't want to use the remote attestation:\n\n\tsgx.trusted_files.challenger_public_key = file:$(CONFIG_DIR)/challenger_public.key\n\n5. Run the setup script:\n\n        ./setup.sh\n\n\n6. Add your user to the `sgx` group:\n\n        sudo usermod -a -G sgx $USER\n\n\t  Note that this will only take effect after a new login.\n\n\n## Uninstallation\n\n1. Run the uninstallation script:\n\n        sudo ./uninstall.sh\n\n\n## Test sealing\n\n    python3-sgx tests/test_seal.py seal\n    python3-sgx tests/test_seal.py unseal\n    python3-sgx tests/test_sealing_wrapper.py\n\nNote: You have to be in the repository's base directory to be able to run the tests. \n\n## Test remote attestation\nNote: You need to install the [challenger package](https://github.com/adombeck/sgx-ra-challenger) on the challenging machine and store a copy of the challenger's public key in `/etc/python-sgx/challenger_public.key`. The [SGX Remote Attestation Challenger package](https://github.com/adombeck/sgx-ra-challenger) contains a script `generate_key_pair.py` which creates a key in the required format.\n\n1. Run the Quoting Manager (handles communication with the Quoting Enclave):\n\n        quoting-manager\n        \n2. Run the Remote Attestation Manager (handles communication with the challenger):\n\n        sgx-ra-manager\n\n3. Use the [SGX Remote Attestation Challenger](https://github.com/adombeck/sgx-ra-challenger) to connect to the Remote Attestation Manager:\n\n        sgx-ra-challenger -c 127.0.0.1 6789\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fadombeck%2Fpython-sgx","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fadombeck%2Fpython-sgx","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fadombeck%2Fpython-sgx/lists"}