/// A trait defining the public key management functionality within the enclave.
///
/// The [`KeyManager`] trait is responsible for exposing the enclave's public key, which is stored
/// on-chain as part of the handshake. This can be used by users to encrypt their requests so that
/// they're only seen by the enclave.
///
/// The public key is expected to be convertible into a byte vector (`Vec<u8>`) for easy
/// serialization and on-chain storage.