Giter Club home page Giter Club logo

sgx's Introduction



Test Status Bug Status Maintenance Status Coverage Status

Enarx

This crate provides the enarx command-line tool for running applications inside Trusted Execution Environments (TEEs) using technologies such as Intel SGX and AMD SEV-SNP.

For more information about Enarx, please visit the Enarx project website.

For a quick introduction to Enarx and its goals, please see our Getting Started Guide, and for a more in-depth look please see our Technical Overview.

Using Enarx

For instructions on installing the Enarx command-line tool, please see our Quick Installation Guide.

For instructions on how to build an application that can be run within Enarx, please see our WebAssembly Guide.

Contributing to Enarx

For instructions on how to build and contribute to Enarx, please see our Contributing Guide.

For an overview of the codebase, please see our Repo Guide.

sgx's People

Contributors

bstrie avatar definitelynobody avatar dependabot[bot] avatar haraldh avatar jarkkojs avatar jyotsna-penumaka avatar kubkon avatar lkatalin avatar mbestavros avatar npmccallum avatar platten avatar rjzak avatar rvolosatovs avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

sgx's Issues

[Bug]: it is not possible to print accept error

Is there an existing issue for this?

  • I have searched the existing issues

Code of Conduct

  • I agree to follow this project's Code of Conduct

Current Behaviour

Expected Behaviour

Environment Information

Steps To Reproduce

No response

Attempt to drop vectors in SigData and Quote

Based on a conversation in #14 , #[repr(C)] does not make sense on structs with vec. Can we remove the vec from these structs if the Quote size is stable for the type of Quote we're using? Can we make a separate structure that is #[repr(C)] and converted from the struct with vec once the vec size is known?

Add more robust testing in verify module

We should test what specific errors are coming back in the error cases, and try some trickier quote modifications than just inserting zeroes into checked fields.

[Bug]: `page::sinfo::AcceptError` is not exported

Is there an existing issue for this?

  • I have searched the existing issues

Code of Conduct

  • I agree to follow this project's Code of Conduct

Current Behaviour

Expected Behaviour

Environment Information

Steps To Reproduce

No response

feat(report): Add Report, ReportData and TargetInfo

Is there an existing issue for this?

  • I have searched the existing issues

Description

Migrate the implementation from enarx: src/internal/shim-sgx/src/uarch.rs.

Acceptance Criteria

No response

Suggestions for a technical implementation

No response

Retain heap based allocation

Is there an existing issue for this?

  • I have searched the existing issues

Description

Add a feature flag sgx2 so that features can be merged quickly. E.g. otherwise it is difficult to merge mmap() without providing brk() in the same run.

Acceptance Criteria

No response

Suggestions for a technical implementation

No response

feat(sinfo): accept(), accept_copy() and extend()

Is there an existing issue for this?

  • I have searched the existing issues

Description

  • EACCEPT: accept()
  • EACCEPTCOPY: accept_copy()
  • EMODPE: extend()

Acceptance Criteria

Suggestions for a technical implementation

feat(quote): add sgx report types

Is there an existing issue for this?

  • I have searched the existing issues

Description

Add SGX related report types for enarx/steward#1. These types were in an old version of this repository in some form but never got merged into main.

Acceptance Criteria

No response

Suggestions for a technical implementation

No response

Cache the certificate chain

Consider a command like sgxctl export --full <filename> to cache the cert chain to avoid making the request to Intel's API every time.

doc: fix doc warnings

Is there an existing issue for this?

  • I have searched the existing issues

Description

cargo doc yields the following warnings:

warning: unresolved link to `EAUG`
  --> src/page/sinfo.rs:91:27
   |
91 |     /// Acknowledge ENCLS[EAUG], ENCLS[EMODT] and ENCLS[EMODPR] from the host.
   |                           ^^^^ no item named `EAUG` in scope
   |
   = note: `#[warn(rustdoc::broken_intra_doc_links)]` on by default
   = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]`

warning: unresolved link to `EMODT`
  --> src/page/sinfo.rs:91:40
   |
91 |     /// Acknowledge ENCLS[EAUG], ENCLS[EMODT] and ENCLS[EMODPR] from the host.
   |                                        ^^^^^ no item named `EMODT` in scope
   |
   = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]`

warning: unresolved link to `EMODPR`
  --> src/page/sinfo.rs:91:57
   |
91 |     /// Acknowledge ENCLS[EAUG], ENCLS[EMODT] and ENCLS[EMODPR] from the host.
   |                                                         ^^^^^^ no item named `EMODPR` in scope
   |
   = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]`

warning: unresolved link to `EAUG`
   --> src/page/sinfo.rs:117:27
    |
117 |     /// Acknowledge ENCLS[EAUG] from the host.
    |                           ^^^^ no item named `EAUG` in scope
    |
    = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]`

Acceptance Criteria

Resolve all outstanding warnings.

Suggestions for a technical implementation

No response

feat(ioctls): Move SGX ioctls to sgx crate

Is there an existing issue for this?

  • I have searched the existing issues

Description

SGX_IOC_ENCLAVE_RESTRICT_PERMISSIONS has to be called from the enclave, which beans that SGX backend is not an appropriate place to hold the ioctls.

Acceptance Criteria

No response

Suggestions for a technical implementation

No response

[Feature]: Clean ups for `SecInfo`

Is there an existing issue for this?

  • I have searched the existing issues

Description

Implement the cleanups for SecInfo that came up in corresponding review for x86_64 crate. See: rust-osdev/x86_64#348

Acceptance Criteria

Suggestions for a technical implementation

bump the version to 0.4

Is there an existing issue for this?

  • I have searched the existing issues

Description

Acceptance Criteria

No response

Suggestions for a technical implementation

No response

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.