{"id":19662181,"url":"https://github.com/efeslab/tee_service","last_synced_at":"2025-10-05T06:59:28.005Z","repository":{"id":127886321,"uuid":"120513766","full_name":"efeslab/tee_service","owner":"efeslab","description":"TEE-Service","archived":false,"fork":false,"pushed_at":"2018-02-06T19:44:07.000Z","size":176,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-01-10T01:51:34.441Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/efeslab.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":"security_todo.txt","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2018-02-06T19:38:59.000Z","updated_at":"2018-02-06T20:00:21.000Z","dependencies_parsed_at":null,"dependency_job_id":"460f2c1f-859a-4280-a0d9-10ddf36e70f8","html_url":"https://github.com/efeslab/tee_service","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/efeslab%2Ftee_service","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/efeslab%2Ftee_service/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/efeslab%2Ftee_service/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/efeslab%2Ftee_service/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/efeslab","download_url":"https://codeload.github.com/efeslab/tee_service/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":240970489,"owners_count":19886576,"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":[],"created_at":"2024-11-11T16:09:52.545Z","updated_at":"2025-10-05T06:59:22.964Z","avatar_url":"https://github.com/efeslab.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# openssm\n##General\nSoftware Security Module, alternative to HSM (Hardware Security Module)\n\n##Prequisites\nThe `Makefile` assumes GoogleTest framework is in '..'. \n\nTo install:\n\n```\ncd ..\ngit clone https://github.com/google/googletest.git\ncd googletest\ncd googletest\nautoreconf -fvi\ng++ -isystem ./include -I. \\\n    -isystem ../googlemock/include -I../googlemock \\\n    -pthread -c ./src/gtest-all.cc\nar -rv libgtest.a gtest-all.o\n\ncd ../googlemock\nautoreconf -fvi\ng++ -isystem ./include -I. \\\n    -isystem ../googletest/include -I../googletest \\\n    -pthread -c ./src/gmock-all.cc\nar -rv libgmock.a ../googletest/gtest-all.o gmock-all.o\n\ncd ..\n```\n\n##Building and running tests\n`make` will compile in real-hardware mode, and will run the c++ unit tests and the python end-to-end test/\n'make SGX_MODE=SIM` will compile in simulation mode\n\nTo run the unit tests seperately run \n```\n./RunTests\n```\n\nTo run the end-to-end python tests: \n```\ncd testing\npython run_tests.py\n```\n\n##General structure\n### OpenSSMServer class\nThe main class, managing the SSM.\n\n###OpenSSMEnclave class\nThe enclave part of the SSM\n\n###NetworkManager class\nHelper class, used by OpenSSMServer to communicate on the network\n\n###testing/run_tests.py\nRunning end-to-end tests, using Python UnitTest framework\n\n###testing/run_tests.cpp\nThe main file running unit tests, implemented in GoogleTest framework and GoogleMock\n\n##Contributing\nThis project is developed in a relaxed Test Driven Development method. I.e., for any high level functionality, first write the test, and then write the bare minimuim code to implement it (that's ideal, at least). Then, since you were  about to write code to test the SSM anyhow, add a end-toend test in run_tests.py .\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fefeslab%2Ftee_service","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fefeslab%2Ftee_service","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fefeslab%2Ftee_service/lists"}