Package com.r3.conclave.host

Types

AttestationParameters
Link copied to clipboard
public class AttestationParameters

Parameters that you may have to specify in order to obtain a particular kind of attestation for a loaded enclave. This class abstracts the various vendor-specific schemes that exist.

EnclaveHost
Link copied to clipboard
public class EnclaveHost implements AutoCloseable

Represents an enclave running on the local CPU. Instantiating this object loads and initialises the enclave, making it ready to receive connections.

You can get a EnclaveHost using one of the static factory methods.

An enclave won't actually be loaded and initialised immediately until the start method is explicitly called. This gives you time to configure the EnclaveHost before startup.

Multiple enclaves can be loaded at once, however, you may not mix simulation/debug/production enclaves together.

Although the enclave must currently run against Java 8, the host can use any version of Java that is supported.

EnclaveLoadException
Link copied to clipboard
public class EnclaveLoadException extends Exception

Exception that is thrown by the EnclaveHost when an enclave could not be loaded or started. This exception could be thrown for a number of reasons including:

  1. The caller is trying to load a non-simulation enclave but the platform does not support hardware enclaves.

  2. The user may need to enable enclave support in the BIOS or by running the application as root.

  3. The enclave may not be appropriately signed.

  4. The platform software for supporting enclaves may not be installed.

The exception message will contain detailed information on the cause for the failure.

MailCommand
Link copied to clipboard
public class MailCommand

Represents a mail command from the enclave to the host for it carry out some action on its behalf.

These commands are delivered grouped in a list in a callback to EnclaveHost.start. The host gathers all the commands it receives within the context of a EnclaveHost.deliverMail or EnclaveHost.callEnclave call and delivers them in one go in order to the callback on the same thread. This allows the host to provide transactionality when processing mail. For example, the receipt of mail from clients can occur atomically within the same database transaction as the delivery of any mail replies from the enclave.

PlatformSupportException
Link copied to clipboard
public class PlatformSupportException extends EnclaveLoadException

Exception that is thrown by the EnclaveHost when an operation fails due to lack of platform support. This exception could be thrown for a number of reasons including:

  1. The OS is not Linux.

  2. The CPU doesn't support enclaves even in SIMULATION mode.

The exception message will contain detailed information on the cause for the failure.