public interface EnclaveTransport

Represents a transport layer between the client and enclave host. EnclaveTransport defines how a host needs to behave to be able to support EnclaveClient objects that connect to it. It is responsible for transporting encrypted bytes between the host and client, whilst EnclaveClient deals with the encryption and decryption and retry attempts if the enclave is restarted.

Details such as how to start and shutdown the transport are implementation specific.

The Conclave SDK provides com.r3.conclave.client.web.WebEnclaveTransport as an implementation for connecting the client to a host which is using the conclave-web-host.

See also


Link copied to clipboard
public interface ClientConnection

Represents the connection between an EnclaveClient and an enclave host. A connection is created when the client calls EnclaveClient.start which then goes on to call EnclaveTransport.connect. There may be multiple clients connected to a single EnclaveTransport and each connection must be able to disambiguate between all of them.


Link copied to clipboard
abstract EnclaveTransport.ClientConnection connect(EnclaveClient client)

A request to connect the given client to the host. This is called when the client calls EnclaveClient.start.

Link copied to clipboard
abstract EnclaveInstanceInfo enclaveInstanceInfo()

Retrieve the latest version of the enclave's EnclaveInstanceInfo from the host.

The implementation will most likely need to call EnclaveInstanceInfo.deserialize once the bytes have been received from the host.


Link copied to clipboard