Coder Social home page Coder Social logo

gupta-ak / openenclave-1 Goto Github PK

View Code? Open in Web Editor NEW

This project forked from openenclave/openenclave

0.0 0.0 0.0 316.97 MB

SDK for developing enclaves

Home Page: https://openenclave.io/sdk/

License: MIT License

Makefile 0.06% C 62.11% Assembly 0.66% C++ 20.22% Shell 1.46% CMake 6.80% Python 0.57% Groovy 0.48% Batchfile 0.01% OCaml 6.01% GDB 0.13% Objective-C 0.04% Pawn 0.14% PowerShell 1.32%

openenclave-1's Introduction

Open Enclave SDK

Bors enabled Build Status Join the chat at https://gitter.im/openenclave/community

Introduction

Open Enclave (OE) is an SDK for building enclave applications in C and C++. An enclave application partitions itself into two components:

  1. An untrusted component (called the host) and
  2. A trusted component (called the enclave).

An enclave is a protected memory region that provides confidentiality for data and code execution. It is an instance of a Trusted Execution Environment (TEE) which is usually secured by hardware, for example, Intel Software Guard Extensions (SGX).

This SDK aims to generalize the development of enclave applications across TEEs from different hardware vendors. The current implementation provides support for Intel SGX as well as preview support for OP-TEE OS on ARM TrustZone. As an open source project, this SDK also strives to provide a transparent solution that is agnostic to specific vendors, service providers and choice of operating systems.

Getting Started

Intel SGX

If you would like to start developing apps with the preview Open Enclave SDK release, start here for instructions to install and use the SDK package:

If you would like to run Ubuntu 16.04 or Ubuntu 18.04 in a Hyper-V VM on SGX capable hardware, see Setting up a Linux Hyper-V VM on Windows with SGX Support.

OP-TEE OS (ARM TrustZone)

The Open Enclave SDK provides preview support for the Open Portable TEE OS (OP-TEE OS). OP-TEE is an operating system for TEE's that implement a traditional kernel-mode and user-mode execution environment. It runs on A-profile ARM systems that support ARM TrustZone. As a result, the Open Enclave SDK can be leveraged to target these systems as well.

For an overview of the SDK's support for OP-TEE OS as well as links to getting started guides, see Open Enclave SDK for OP-TEE OS.

Contributing

This project welcomes contributions and suggestions. All contributions to the Open Enclave SDK must adhere to the terms of the Developer Certificate of Origin (DCO). For details, see Contributing to Open Enclave.

This project follows a Code of Conduct adapted from the Contributor Covenant v1.4.

If you are interested in contributing directly to the codebase, please see the following documentation:

API Documentation

The Doxygen generated documentation corresponding to the APIs currently supported by the master branch is here. API Documentation for older releases of the SDK can be found on the Open Enclave SDK website.

Licensing

This project is released under the MIT License.

openenclave-1's People

Contributors

0dragosh avatar anakrish avatar andyleejordan avatar anitagov avatar arjunvnambiar avatar aserdean avatar berinpaul avatar bmhsieh avatar codemonkeyleet avatar dthaler avatar gupta-ak avatar hernangatta avatar ionutbalutoiu avatar jazzybluesea avatar jhand2 avatar jorkl avatar jxyang avatar letmaik avatar lk2100 avatar mikbras avatar oeciteam avatar olgavrou avatar oprinmarius avatar paulcallen avatar radhikaj avatar rr294 avatar soccergb avatar sushantstripathi avatar vishnumohan1991 avatar zehranaz avatar

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.