Skip to main content

Examples

Just installed EGo? Here are some examples to start your confidential development process.

Hello world​

An enclave saying "hello" to the world; works with any CPU, no special hardware required.

Attested HTTPS server​

A minimal HTTPS server running in an enclave. The server uses the EGo library to create a tls.Config, which automatically obtains and sends a remote-attestation statement to a client. Consequently, the client knows that the server is indeed running in an enclave and POSTs its secret. This example showcases the easy-to-use yet powerful attestation features of the EGo library.

Attested HTTPS server (manually)​

Similar to the above, but the server manages remote attestation by itself. This example showcases the raw attestation features of the EGo library. Use this as a starting point if you want to use an existing (HTTPS) client application and thus need to perform attestation separately.

HashiCorp Vault​

Vault is a common way to store secrets and share them on dynamic infrastructures. With EGo, you can build a confidential version of unmodified Vault.

Secure storage with EStore​

You should use strong encryption for your application's data at rest. Using EStore with EGo makes this easy.

WebAssembly with Wasmer or Wasmtime​

You can run WebAssembly inside EGo.

Microsoft Azure Attestation (MAA)​

Azure offers MAA as a public service. Clients can send remote-attestation statements to MAA via a REST API. MAA verifies such statements and returns a corresponding JSON Web Token (JWT). This example demonstrates how to use MAA with EGo.

cgo​

Go apps can use C and C++ libraries through cgo. EGo also supports cgo and this example shows you how.